Repository: cxf
Updated Branches:
  refs/heads/master ab05d4ee3 -> ac4e9af32


Update basic JSON parser to handle null values


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/ac4e9af3
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/ac4e9af3
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/ac4e9af3

Branch: refs/heads/master
Commit: ac4e9af325e904a4c54f53463a93a3865f8d86ef
Parents: ab05d4e
Author: Sergey Beryozkin <sberyoz...@gmail.com>
Authored: Tue Feb 23 15:17:28 2016 +0000
Committer: Sergey Beryozkin <sberyoz...@gmail.com>
Committed: Tue Feb 23 15:17:28 2016 +0000

----------------------------------------------------------------------
 .../apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriter.java  | 3 +++
 .../cxf/jaxrs/json/basic/JsonMapObjectReaderWriterTest.java     | 5 +++--
 2 files changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/ac4e9af3/rt/rs/extensions/json-basic/src/main/java/org/apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriter.java
----------------------------------------------------------------------
diff --git 
a/rt/rs/extensions/json-basic/src/main/java/org/apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriter.java
 
b/rt/rs/extensions/json-basic/src/main/java/org/apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriter.java
index a6d11b9..4595444 100644
--- 
a/rt/rs/extensions/json-basic/src/main/java/org/apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriter.java
+++ 
b/rt/rs/extensions/json-basic/src/main/java/org/apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriter.java
@@ -35,6 +35,7 @@ import org.apache.cxf.helpers.IOUtils;
 
 
 public class JsonMapObjectReaderWriter {
+    private static final String NULL_VALUE = "null";
     private boolean format;
     
     public JsonMapObjectReaderWriter() {
@@ -219,6 +220,8 @@ public class JsonMapObjectReaderWriter {
             value = valueStr.substring(1, valueStr.length() - 1);
         } else if ("true".equals(valueStr) || "false".equals(valueStr)) {
             value = Boolean.valueOf(valueStr);
+        } else if (NULL_VALUE.equals(valueStr)) {
+            return null;
         } else {
             try {
                 value = Long.valueOf(valueStr);

http://git-wip-us.apache.org/repos/asf/cxf/blob/ac4e9af3/rt/rs/extensions/json-basic/src/test/java/org/apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriterTest.java
----------------------------------------------------------------------
diff --git 
a/rt/rs/extensions/json-basic/src/test/java/org/apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriterTest.java
 
b/rt/rs/extensions/json-basic/src/test/java/org/apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriterTest.java
index fc9dfee..5a20475 100644
--- 
a/rt/rs/extensions/json-basic/src/test/java/org/apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriterTest.java
+++ 
b/rt/rs/extensions/json-basic/src/test/java/org/apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriterTest.java
@@ -40,11 +40,12 @@ public class JsonMapObjectReaderWriterTest extends Assert {
     }
     @Test
     public void testReadMap() throws Exception {
-        String json = "{\"a\":\"aValue\",\"b\":123,\"c\":[\"cValue\"]}";
+        String json = 
"{\"a\":\"aValue\",\"b\":123,\"c\":[\"cValue\"],\"f\":null}";
         Map<String, Object> map = new 
JsonMapObjectReaderWriter().fromJson(json);
-        assertEquals(3, map.size());
+        assertEquals(4, map.size());
         assertEquals("aValue", map.get("a"));
         assertEquals(123L, map.get("b"));
         assertEquals(Collections.singletonList("cValue"), map.get("c"));
+        assertNull(map.get("f"));
     }
 }

Reply via email to