Thanks Le, I just checked in a fix for this. If you are able to build from 
source, I would appreciate it if you could confirm that this fix resolves your 
problem.

Thanks,
Greg

On Apr 29, 2011, at 9:02 PM, Le Zhou wrote:

> Hi all,
> 
> I need to serialize the HashMap instance, so i wrote the following code for 
> test:
> 
> import java.io.FileOutputStream;
> import java.io.IOException;
> import java.io.ObjectOutputStream;
> 
> import org.apache.pivot.collections.HashMap;
> 
> public class HelloHashMap {
> 
>       public static void main(String[] args) throws IOException {
>               HashMap<String, String> hashMap = new HashMap<String, String>();
>               hashMap.put("key", "value");
>               FileOutputStream fos = new FileOutputStream("hashmap.image");
>               ObjectOutputStream oos = new ObjectOutputStream(fos);
>               oos.writeObject(hashMap);
>               oos.flush();
>       }
> }
> 
> running the code above thrown the following exception:
> 
> Exception in thread "main" java.io.NotSerializableException: 
> org.apache.pivot.collections.Dictionary$Pair
>       at java.io.ObjectOutputStream.writeObject0(Unknown Source)
>       at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
>       at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
>       at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
>       at java.io.ObjectOutputStream.writeObject0(Unknown Source)
>       at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
>       at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
>       at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
>       at java.io.ObjectOutputStream.writeObject0(Unknown Source)
>       at java.io.ObjectOutputStream.writeArray(Unknown Source)
>       at java.io.ObjectOutputStream.writeObject0(Unknown Source)
>       at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
>       at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
>       at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
>       at java.io.ObjectOutputStream.writeObject0(Unknown Source)
>       at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
>       at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
>       at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
>       at java.io.ObjectOutputStream.writeObject0(Unknown Source)
>       at java.io.ObjectOutputStream.writeObject(Unknown Source)
>       at helloHashMap.HelloHashMap.main(HelloHashMap.java:19)
> 
> As shown in the exception info, org.apache.pivot.collections.Dictionary$Pair, 
> which is the element of HashMap, i guess, is not serializable, so how to 
> serialize an non-empty HashMap instance? 
> 
> Any suggestions? Thanks a lot!

Reply via email to