Author: lindner
Date: Wed Mar 25 01:24:03 2009
New Revision: 758115
URL: http://svn.apache.org/viewvc?rev=758115&view=rev
Log:
SHINDIG-993 | Patch from Aaron Evans | beanJsonConverter throws NPE when
converting empty map to object
Modified:
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/protocol/conversion/BeanJsonConverter.java
incubator/shindig/trunk/java/common/src/test/java/org/apache/shindig/protocol/conversion/BeanJsonConverterTest.java
Modified:
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/protocol/conversion/BeanJsonConverter.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/protocol/conversion/BeanJsonConverter.java?rev=758115&r1=758114&r2=758115&view=diff
==============================================================================
---
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/protocol/conversion/BeanJsonConverter.java
(original)
+++
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/protocol/conversion/BeanJsonConverter.java
Wed Mar 25 01:24:03 2009
@@ -40,6 +40,7 @@
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
@@ -229,6 +230,9 @@
private Map<String, Object> convertToMap(JSONObject in, Type type) {
Map<String, Object> out = new HashMap<String, Object>(in.length(), 1);
+ if(in.length() == 0)
+ return Collections.emptyMap();
+
for (String name : JSONObject.getNames(in)) {
out.put(name, convertToObject(in.opt(name), type));
}
Modified:
incubator/shindig/trunk/java/common/src/test/java/org/apache/shindig/protocol/conversion/BeanJsonConverterTest.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/common/src/test/java/org/apache/shindig/protocol/conversion/BeanJsonConverterTest.java?rev=758115&r1=758114&r2=758115&view=diff
==============================================================================
---
incubator/shindig/trunk/java/common/src/test/java/org/apache/shindig/protocol/conversion/BeanJsonConverterTest.java
(original)
+++
incubator/shindig/trunk/java/common/src/test/java/org/apache/shindig/protocol/conversion/BeanJsonConverterTest.java
Wed Mar 25 01:24:03 2009
@@ -174,4 +174,11 @@
assertEquals(Arrays.asList(0, 1, 2), data.get("key0"));
assertEquals(Arrays.asList(3, 4, 5), data.get("key1"));
}
+
+ public void testEmptyJsonMap() throws Exception {
+ String emptyMap = "{}";
+ Map<String, String> data = beanJsonConverter.convertToObject(emptyMap,
+ new TypeLiteral<Map<String,String>>(){}.getType());
+ assertTrue(data.size() == 0);
+ }
}