Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4435659

XMLEncoder.writeObject does not write java.awt.Choice correctly

XMLWordPrintable

    • 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

      ======================================================================

            pmilnesunw Philip Milne (Inactive)
            sdasunw Sda Sda (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: