NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
Hi Bill,Thanks for the answer. I've just tried to serialize a FlatField from example Test21 and it worked.
I'll have a look at this and return to you later. Thanks, Ugo Bill Hibbard wrote:
Hi Ugo,. . .Are FlatFields not serializable?They should be. If you are getting an Exception, please send us the stack dump with line numbers.DataUtility is saying this: java.io.NotSerializableException: java.lang.Object at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278) at visad.util.DataUtility.isSerializable(DataUtility.java:1454) and forcing a writeObject results in this: java.io.NotSerializableException: java.lang.Object at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278) The object is a FlatField, displays ok. I can save (serialize) the domain set (irregular2d). visad.jar is the latest.This is a mystery. I have tried serializing a bunch of FlatFields by importing various image files into the SpreadSheet, and then exporting them as "Serialized...", which constructs a VisADForm() and uses it to serialize the image FlatField. This worked for GIF files and navigated McIDAS files. O think the error message: java.io.NotSerializableException: java.lang.Object tells us that the FlatField is not serializable because it contains (perhaps indirectly) an instance variable declared as "Object" but without "transient" or "static" (I don't think static variables are serialized). I cannot find any. One approach is to try to catch the NotSerializableException in jdb, and figure out how the offending java.lang.Object is declared in the FlatField. This can be tricky, as its the java.io classes that parse the FlatFields various sub-objects. I'll think about this some more, but if you can make any progress with jdb that would help. Cheers, Bill
-- l a t / l o n GmbH Meckenheimer Allee 176 53115 Bonn, Germany phone ++49 +228 732838 fax ++49 +228 732153 http://www.lat-lon.de http://www.deegree.org
visad
archives: