Author: hlship
Date: Wed May 30 08:14:51 2007
New Revision: 542839
URL: http://svn.apache.org/viewvc?view=rev&rev=542839
Log:
TAPESTRY-1504: When a Map is converted to a SelectModel, the keys are converted
unnecessarily to strings
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/TapestryInternalUtils.java
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/TapestryInternalUtilsTest.java
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/TapestryInternalUtils.java
URL:
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/TapestryInternalUtils.java?view=diff&rev=542839&r1=542838&r2=542839
==============================================================================
---
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/TapestryInternalUtils.java
(original)
+++
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/TapestryInternalUtils.java
Wed May 30 08:14:51 2007
@@ -15,6 +15,7 @@
package org.apache.tapestry.internal;
import static org.apache.tapestry.ioc.internal.util.CollectionFactory.newList;
+import static org.apache.tapestry.ioc.internal.util.Defense.notNull;
import java.io.Closeable;
import java.io.IOException;
@@ -183,12 +184,11 @@
*/
public static OptionModel toOptionModel(Map.Entry input)
{
- Defense.notNull(input, "input");
+ notNull(input, "input");
- String value = (input.getKey() != null ?
String.valueOf(input.getKey()) : "");
- String label = (input.getValue() != null ?
String.valueOf(input.getValue()) : "");
+ String label = input.getValue() != null ?
String.valueOf(input.getValue()) : "";
- return new OptionModelImpl(label, false, value);
+ return new OptionModelImpl(label, false, input.getKey());
}
/**
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/TapestryInternalUtilsTest.java
URL:
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/TapestryInternalUtilsTest.java?view=diff&rev=542839&r1=542838&r2=542839
==============================================================================
---
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/TapestryInternalUtilsTest.java
(original)
+++
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/TapestryInternalUtilsTest.java
Wed May 30 08:14:51 2007
@@ -19,6 +19,7 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
@@ -183,13 +184,28 @@
assertEquals(options.size(), 3);
assertEquals(options.get(0).getLabel(), "A");
- assertEquals(options.get(0).getValue(), "1");
+ assertEquals(options.get(0).getValue(), 1);
assertEquals(options.get(1).getLabel(), "");
- assertEquals(options.get(1).getValue(), "2");
+ assertEquals(options.get(1).getValue(), 2);
assertEquals(options.get(2).getLabel(), "C");
- assertEquals(options.get(2).getValue(), "3");
+ assertEquals(options.get(2).getValue(), 3);
+ }
+
+ @Test
+ public void null_map_key_is_null_option_value()
+ {
+
+ Map<Integer, String> map = new HashMap<Integer, String>();
+ map.put(null, "Label");
+
+ List<OptionModel> options = TapestryInternalUtils.toOptionModels(map);
+
+ assertEquals(options.size(), 1);
+
+ assertEquals(options.get(0).getLabel(), "Label");
+ assertEquals(options.get(0).getValue(), null);
}
@Test