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

XMLEncoder.writeObject does not write java.awt.Cursor object

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.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)

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

            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: