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());
+ }
}