You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2017/06/14 19:01:20 UTC
[2/2] incubator-juneau git commit: Fix NPE when using
ObjectMap(Reader)
Fix NPE when using ObjectMap(Reader)
Project: http://git-wip-us.apache.org/repos/asf/incubator-juneau/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-juneau/commit/9d086440
Tree: http://git-wip-us.apache.org/repos/asf/incubator-juneau/tree/9d086440
Diff: http://git-wip-us.apache.org/repos/asf/incubator-juneau/diff/9d086440
Branch: refs/heads/master
Commit: 9d086440ead9c596c824f5a04bd5048ba47e6b71
Parents: 9475ed2
Author: JamesBognar <ja...@apache.org>
Authored: Wed Jun 14 14:59:43 2017 -0400
Committer: JamesBognar <ja...@apache.org>
Committed: Wed Jun 14 15:01:16 2017 -0400
----------------------------------------------------------------------
.../test/java/org/apache/juneau/ObjectListTest.java | 10 ++++++++++
.../src/test/java/org/apache/juneau/ObjectMapTest.java | 10 ++++++++++
.../src/main/java/org/apache/juneau/ObjectList.java | 13 +++++++++++++
.../src/main/java/org/apache/juneau/ObjectMap.java | 3 ++-
4 files changed, 35 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/9d086440/juneau-core-test/src/test/java/org/apache/juneau/ObjectListTest.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/ObjectListTest.java b/juneau-core-test/src/test/java/org/apache/juneau/ObjectListTest.java
index f387c5e..0f136e6 100755
--- a/juneau-core-test/src/test/java/org/apache/juneau/ObjectListTest.java
+++ b/juneau-core-test/src/test/java/org/apache/juneau/ObjectListTest.java
@@ -12,8 +12,10 @@
// ***************************************************************************************************************************
package org.apache.juneau;
+import static org.apache.juneau.TestUtils.*;
import static org.junit.Assert.*;
+import java.io.*;
import java.util.*;
import org.junit.*;
@@ -96,4 +98,12 @@ public class ObjectListTest {
l.deleteAt("2");
assertEquals("[{foo:'bing'},{baz:123}]", l.toString());
}
+
+ //====================================================================================================
+ // ObjectList(Reader)
+ //====================================================================================================
+ @Test
+ public void testFromReader() throws Exception {
+ assertObjectEquals("[1,2,3]", new ObjectList(new StringReader("[1,2,3]")));
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/9d086440/juneau-core-test/src/test/java/org/apache/juneau/ObjectMapTest.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/ObjectMapTest.java b/juneau-core-test/src/test/java/org/apache/juneau/ObjectMapTest.java
index 5b27e7a..850eef3 100755
--- a/juneau-core-test/src/test/java/org/apache/juneau/ObjectMapTest.java
+++ b/juneau-core-test/src/test/java/org/apache/juneau/ObjectMapTest.java
@@ -15,6 +15,8 @@ package org.apache.juneau;
import static org.apache.juneau.TestUtils.*;
import static org.junit.Assert.*;
+import java.io.*;
+
import org.apache.juneau.utils.*;
import org.junit.*;
@@ -311,4 +313,12 @@ public class ObjectMapTest {
m.deleteAt("a/1");
assertEquals("{a:[{b:'d'}]}", m.toString());
}
+
+ //====================================================================================================
+ // ObjectMap(Reader)
+ //====================================================================================================
+ @Test
+ public void testFromReader() throws Exception {
+ assertObjectEquals("{foo:'bar'}", new ObjectMap(new StringReader("{foo:'bar'}")));
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/9d086440/juneau-core/src/main/java/org/apache/juneau/ObjectList.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/ObjectList.java b/juneau-core/src/main/java/org/apache/juneau/ObjectList.java
index a5d6148..0629d3f 100644
--- a/juneau-core/src/main/java/org/apache/juneau/ObjectList.java
+++ b/juneau-core/src/main/java/org/apache/juneau/ObjectList.java
@@ -162,9 +162,22 @@ public class ObjectList extends LinkedList<Object> {
* @throws IOException If a problem occurred trying to read from the reader.
*/
public ObjectList(Reader r, Parser p) throws ParseException, IOException {
+ this(p == null ? BeanContext.DEFAULT.createSession() : p.getBeanContext().createSession());
parseReader(r, p);
}
+ /**
+ * Shortcut for <code><jk>new</jk> ObjectList(reader, JsonParser.<jsf>DEFAULT</jsf>)</code>.
+ *
+ * @param r The reader to read from. The reader will be wrapped in a {@link BufferedReader} if it isn't already.
+ * @throws ParseException If the input contains a syntax error or is malformed.
+ * @throws IOException If a problem occurred trying to read from the reader.
+ */
+ public ObjectList(Reader r) throws ParseException, IOException {
+ this(BeanContext.DEFAULT.createSession());
+ parseReader(r, JsonParser.DEFAULT);
+ }
+
private void parseReader(Reader r, Parser p) throws ParseException {
if (p == null)
p = JsonParser.DEFAULT;
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/9d086440/juneau-core/src/main/java/org/apache/juneau/ObjectMap.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/ObjectMap.java b/juneau-core/src/main/java/org/apache/juneau/ObjectMap.java
index 3f6fe6f..110c84d 100644
--- a/juneau-core/src/main/java/org/apache/juneau/ObjectMap.java
+++ b/juneau-core/src/main/java/org/apache/juneau/ObjectMap.java
@@ -173,6 +173,7 @@ public class ObjectMap extends LinkedHashMap<String,Object> {
* @throws IOException If a problem occurred trying to read from the reader.
*/
public ObjectMap(Reader r, Parser p) throws ParseException, IOException {
+ this(p == null ? BeanContext.DEFAULT.createSession() : p.getBeanContext().createSession());
parseReader(r, p);
}
@@ -184,6 +185,7 @@ public class ObjectMap extends LinkedHashMap<String,Object> {
* @throws IOException If a problem occurred trying to read from the reader.
*/
public ObjectMap(Reader r) throws ParseException, IOException {
+ this(BeanContext.DEFAULT.createSession());
parseReader(r, JsonParser.DEFAULT);
}
@@ -206,7 +208,6 @@ public class ObjectMap extends LinkedHashMap<String,Object> {
* @param session The bean session to use for creating beans.
*/
public ObjectMap(BeanSession session) {
- super();
this.session = session;
}