You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2014/02/02 11:20:26 UTC

git commit: WICKET-5497 NPE in JsonUtils when the value is null

Updated Branches:
  refs/heads/master 972c71522 -> 724066f40


WICKET-5497 NPE in JsonUtils when the value is null


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

Branch: refs/heads/master
Commit: 724066f406590a1b383a2476ee9983974f40ab80
Parents: 972c715
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Sun Feb 2 11:20:05 2014 +0100
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Sun Feb 2 11:20:05 2014 +0100

----------------------------------------------------------------------
 .../org/apache/wicket/ajax/json/JsonUtils.java  | 24 ++++++++++----------
 .../apache/wicket/ajax/json/JsonUtilsTest.java  |  6 +++++
 2 files changed, 18 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/724066f4/wicket-core/src/main/java/org/apache/wicket/ajax/json/JsonUtils.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/json/JsonUtils.java b/wicket-core/src/main/java/org/apache/wicket/ajax/json/JsonUtils.java
index f4b8a9b..ece4997 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/json/JsonUtils.java
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/json/JsonUtils.java
@@ -58,23 +58,23 @@ public final class JsonUtils
 						}
 					}
 				}
-				else if (value.getClass().isArray())
+				else if (value != null)
 				{
-					Object[] array = (Object[]) value;
-					for (Object v : array)
+					if (value.getClass().isArray())
 					{
-						if (v != null)
+						Object[] array = (Object[]) value;
+						for (Object v : array)
 						{
-							JSONObject object = new JSONObject();
-							object.put("name", name);
-							object.put("value", v);
-							jsonArray.put(object);
+							if (v != null)
+							{
+								JSONObject object = new JSONObject();
+								object.put("name", name);
+								object.put("value", v);
+								jsonArray.put(object);
+							}
 						}
 					}
-				}
-				else
-				{
-					if (value != null)
+					else
 					{
 						JSONObject object = new JSONObject();
 						object.put("name", name);

http://git-wip-us.apache.org/repos/asf/wicket/blob/724066f4/wicket-core/src/test/java/org/apache/wicket/ajax/json/JsonUtilsTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/ajax/json/JsonUtilsTest.java b/wicket-core/src/test/java/org/apache/wicket/ajax/json/JsonUtilsTest.java
index f127c34..b78003b 100644
--- a/wicket-core/src/test/java/org/apache/wicket/ajax/json/JsonUtilsTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/ajax/json/JsonUtilsTest.java
@@ -56,5 +56,11 @@ public class JsonUtilsTest extends Assert
 		Object[] arrayValues = {"arrayValue", 3, null, true};
 		map.put("array", arrayValues);
 		assertEquals("[{\"name\":\"array\",\"value\":\"arrayValue\"},{\"name\":\"array\",\"value\":3},{\"name\":\"array\",\"value\":true}]", JsonUtils.asArray(map).toString());
+
+		map.clear();
+		map.put("null", null);
+		assertEquals("[]", JsonUtils.asArray(map).toString());
+		map.put("notNull", "notNull");
+		assertEquals("[{\"name\":\"notNull\",\"value\":\"notNull\"}]", JsonUtils.asArray(map).toString());
 	}
 }