Status: Accepted
Owner: atdi...@gmail.com
Labels: Type-Other Priority-Medium Component-Core
New issue 214 by atdi...@gmail.com: PSwing is not serializeable
http://code.google.com/p/piccolo2d/issues/detail?id=214
Trying to serialize a PSwing, I get the following stacktrace:
Exception in thread "main" java.io.NotSerializableException:
java.awt.BasicStroke
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1164)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
at
edu.umd.cs.piccolo.util.PObjectOutputStream.recordUnconditionallyWritten(PObjectOutputStream.java:168)
at
edu.umd.cs.piccolo.util.PObjectOutputStream.writeObjectTree(PObjectOutputStream.java:110)
Note that it's b/c the BasicStroke instance on PSwing is not serializeable.
This field was once marked transient but in Revision 863 the transient
keyword was dropped. It's not obvious why. It may have been to guarantee
that it's non-null but perhaps we missed that we were breaking
serialization.
We should clarify our serialization requirements and ensure that PSwing and
other PNodes are in compliance.
--
Piccolo2D Developers Group: http://groups.google.com/group/piccolo2d-dev?hl=en