-
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.Choice object correctly to the output stream.
It ignore added items of the Choice.
Here is minimized test:
import java.io.*;
import java.beans.*;
import java.awt.*;
public class Test0009 {
public static void main(String[] args) {
Choice choice = new Choice();
choice.addItem("Item");
ByteArrayOutputStream os = new ByteArrayOutputStream();
XMLEncoder xmlEnc = new XMLEncoder(os);
xmlEnc.writeObject(choice);
xmlEnc.flush();
xmlEnc.close();
ByteArrayInputStream in = new ByteArrayInputStream(os.toByteArray());
XMLDecoder xmlDec = new XMLDecoder(in);
System.out.println("OutputStream");
System.out.println(os.toString());
Choice res = (Choice) xmlDec.readObject();
if(res.getItemCount() == 1 && res.getItem(0).equals("Item")) {
System.out.println("OKAY");
} else {
System.out.println("Failed");
System.out.println("Item count: " + res.getItemCount());
}
}
}
--- 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 Test0009
Warning:
Cannot allocate colormap entry for default background
OutputStream
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.4.0-beta" class="java.beans.XMLDecoder">
<object class="java.awt.Choice">
<void property="name">
<string>choice0</string>
</void>
</object>
</java>
Failed
Item count: 0
======================================================================