Author: frankbille
Date: Thu Jun 12 15:10:02 2008
New Revision: 667263

URL: http://svn.apache.org/viewvc?rev=667263&view=rev
Log:
WICKET-1694: wicket complains that ValueMap$NullSafeKeyComparator is not 
serializable

Modified:
    wicket/trunk/wicket/src/main/java/org/apache/wicket/util/value/ValueMap.java
    
wicket/trunk/wicket/src/test/java/org/apache/wicket/util/value/ValueMapTest.java

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/value/ValueMap.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/util/value/ValueMap.java?rev=667263&r1=667262&r2=667263&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/value/ValueMap.java 
(original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/value/ValueMap.java 
Thu Jun 12 15:10:02 2008
@@ -16,6 +16,7 @@
  */
 package org.apache.wicket.util.value;
 
+import java.io.Serializable;
 import java.lang.reflect.Array;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
@@ -53,8 +54,8 @@
  * The <code>makeImmutable</code> method will make the underlying 
<code>Map</code> immutable.
  * Further attempts to change the <code>Map</code> will result in a 
<code>RuntimeException</code>.
  * <p>
- * The <code>toString</code> method converts a <code>ValueMap</code> object to 
a readable
- * key/value string for diagnostics.
+ * The <code>toString</code> method converts a <code>ValueMap</code> object to 
a readable key/value
+ * string for diagnostics.
  * 
  * @author Jonathan Locke
  * @author Doug Donohoe
@@ -70,8 +71,10 @@
         * [EMAIL PROTECTED] HashMap}, so we must provide a null safe 
comparator to avoid null pointer exceptions
         * with null keys.
         */
-       private static class NullSafeKeyComparator implements Comparator<String>
+       private static class NullSafeKeyComparator implements 
Comparator<String>, Serializable
        {
+               private static final long serialVersionUID = 1L;
+
                public int compare(String o1, String o2)
                {
                        int compare = 0;

Modified: 
wicket/trunk/wicket/src/test/java/org/apache/wicket/util/value/ValueMapTest.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/util/value/ValueMapTest.java?rev=667263&r1=667262&r2=667263&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/test/java/org/apache/wicket/util/value/ValueMapTest.java
 (original)
+++ 
wicket/trunk/wicket/src/test/java/org/apache/wicket/util/value/ValueMapTest.java
 Thu Jun 12 15:10:02 2008
@@ -16,7 +16,10 @@
  */
 package org.apache.wicket.util.value;
 
+import java.io.NotSerializableException;
+
 import junit.framework.TestCase;
+import org.apache.wicket.util.io.SerializableChecker;
 import org.apache.wicket.util.time.Time;
 import org.apache.wicket.util.time.Duration;
 
@@ -228,4 +231,15 @@
         assertNull(vm.getAsDuration("duration.missing"));
         assertEquals(defDuration, vm.getAsDuration("duration.missing", 
defDuration));
     }
+
+       /**
+        * Make sure that ValueMap is serializable.
+        * 
+        * @throws Exception
+        */
+       public void testSerializable() throws Exception
+       {
+               SerializableChecker checker = new SerializableChecker(new 
NotSerializableException());
+               checker.writeObject(new ValueMap());
+       }
 }


Reply via email to