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 <[email protected]> Authored: Sun Feb 2 11:20:05 2014 +0100 Committer: Martin Tzvetanov Grigorov <[email protected]> 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()); } }
