Author: davsclaus
Date: Tue Nov 24 06:03:51 2009
New Revision: 883598

URL: http://svn.apache.org/viewvc?rev=883598&view=rev
Log:
CAMEL-2215: Fixed CaseInsensitiveMap not being serializable.

Modified:
    
camel/trunk/camel-core/src/main/java/org/apache/camel/util/CaseInsensitiveMap.java
    
camel/trunk/camel-core/src/test/java/org/apache/camel/util/CaseInsensitiveMapTest.java

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/util/CaseInsensitiveMap.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/util/CaseInsensitiveMap.java?rev=883598&r1=883597&r2=883598&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/util/CaseInsensitiveMap.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/util/CaseInsensitiveMap.java
 Tue Nov 24 06:03:51 2009
@@ -38,7 +38,7 @@
     // holds a map of lower case key -> original key
     private Map<String, String> originalKeys;
     // holds a snapshot view of current entry set
-    private Set<Map.Entry<String, Object>> entrySetView;
+    private transient Set<Map.Entry<String, Object>> entrySetView;
 
     public CaseInsensitiveMap() {
         super();

Modified: 
camel/trunk/camel-core/src/test/java/org/apache/camel/util/CaseInsensitiveMapTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/util/CaseInsensitiveMapTest.java?rev=883598&r1=883597&r2=883598&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/test/java/org/apache/camel/util/CaseInsensitiveMapTest.java
 (original)
+++ 
camel/trunk/camel-core/src/test/java/org/apache/camel/util/CaseInsensitiveMapTest.java
 Tue Nov 24 06:03:51 2009
@@ -16,6 +16,10 @@
  */
 package org.apache.camel.util;
 
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -289,4 +293,20 @@
         assertEquals(1, other.size());
     }
 
+    public void testSerialization() throws Exception {
+        CaseInsensitiveMap testMap = new CaseInsensitiveMap();
+        testMap.put("key", "value");
+        // force entry set to be created which could cause the map to be non 
serializable
+        testMap.entrySet();
+
+        ByteArrayOutputStream bStream = new ByteArrayOutputStream();
+        ObjectOutputStream objStream = new ObjectOutputStream(bStream);
+        objStream.writeObject(testMap);
+
+        ObjectInputStream inStream = new ObjectInputStream(new 
ByteArrayInputStream(bStream.toByteArray()));
+        CaseInsensitiveMap testMapCopy = (CaseInsensitiveMap) 
inStream.readObject();
+
+        assertTrue(testMapCopy.containsKey("key"));
+    }
+
 }
\ No newline at end of file


Reply via email to