-
Bug
-
Resolution: Fixed
-
P3
-
1.4.0
-
beta2
-
sparc
-
solaris_2.6
Name: dsR10051 Date: 04/09/2001
Method
protected void writeObject(Object o) of class java.beans.XMLEncoder
does not write java.awt.Cursor object to the output stream.
Here is minimized test:
import java.io.*;
import java.beans.*;
import java.awt.*;
public class Test0010 {
public static void main(String[] args) {
Cursor object = new Cursor(java.awt.Cursor.TEXT_CURSOR);
ByteArrayOutputStream os = new ByteArrayOutputStream();
XMLEncoder xmlEnc = new XMLEncoder(os);
xmlEnc.writeObject(object);
xmlEnc.flush();
xmlEnc.close();
ByteArrayInputStream in = new ByteArrayInputStream(os.toByteArray());
XMLDecoder xmlDec = new XMLDecoder(in);
System.out.println("OutputStream");
System.out.println(os.toString());
Cursor res = (Cursor) xmlDec.readObject();
if(res.getType() == java.awt.Cursor.TEXT_CURSOR) {
System.out.println("OKAY");
} else {
System.out.println("Failed");
System.out.println("Cursor type: " + res.getType());
System.out.println("Should be : " + java.awt.Cursor.TEXT_CURSOR);
}
}
}
--- output ---
%java -version
java version "1.4.0-beta"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-beta-b58)
Java HotSpot(TM) Client VM (build 1.4.0-beta-b58, mixed mode)
%java Test0010
Warning:
Cannot allocate colormap entry for default background
java.lang.InstantiationException: java.awt.Cursor
Continuing ...
java.lang.Exception: discarding statement XMLEncoder0.writeObject(Cursor0);
Continuing ...
OutputStream
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.4.0-beta" class="java.beans.XMLDecoder">
</java>
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException
at java.beans.ObjectHandler.dequeueResult(XMLDecoder.java:270)
at java.beans.XMLDecoder.readObject(XMLDecoder.java:148)
at Test0010.main(Test0010.java:22)
======================================================================