You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by ro...@apache.org on 2013/05/14 01:27:53 UTC
svn commit: r1482145 - in /pig/trunk: CHANGES.txt
src/org/apache/pig/builtin/JsonLoader.java
src/org/apache/pig/builtin/JsonStorage.java
test/org/apache/pig/test/data/jsonStorage1.result
test/org/apache/pig/test/data/jsonStorage1.txt
Author: rohini
Date: Mon May 13 23:27:53 2013
New Revision: 1482145
URL: http://svn.apache.org/r1482145
Log:
PIG:3302: JSONStorage throws NPE if map has null values (rohini)
Modified:
pig/trunk/CHANGES.txt
pig/trunk/src/org/apache/pig/builtin/JsonLoader.java
pig/trunk/src/org/apache/pig/builtin/JsonStorage.java
pig/trunk/test/org/apache/pig/test/data/jsonStorage1.result
pig/trunk/test/org/apache/pig/test/data/jsonStorage1.txt
Modified: pig/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1482145&r1=1482144&r2=1482145&view=diff
==============================================================================
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Mon May 13 23:27:53 2013
@@ -176,6 +176,8 @@ PIG-3013: BinInterSedes improve chararra
BUG FIXES
+PIG:3302: JSONStorage throws NPE if map has null values (rohini)
+
PIG-3309: TestJsonLoaderStorage fails with IBM JDK 6/7 (lrangel via daijy)
PIG-3097: HiveColumnarLoader doesn't correctly load partitioned Hive table (maczech via daijy)
Modified: pig/trunk/src/org/apache/pig/builtin/JsonLoader.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/builtin/JsonLoader.java?rev=1482145&r1=1482144&r2=1482145&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/builtin/JsonLoader.java (original)
+++ pig/trunk/src/org/apache/pig/builtin/JsonLoader.java Mon May 13 23:27:53 2013
@@ -225,7 +225,7 @@ public class JsonLoader extends LoadFunc
Map<String, String> m = new HashMap<String, String>();
while (p.nextToken() != JsonToken.END_OBJECT) {
String k = p.getCurrentName();
- String v = p.getText();
+ String v = p.getCurrentToken() == JsonToken.VALUE_NULL ? null : p.getText();
m.put(k, v);
}
return m;
Modified: pig/trunk/src/org/apache/pig/builtin/JsonStorage.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/builtin/JsonStorage.java?rev=1482145&r1=1482144&r2=1482145&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/builtin/JsonStorage.java (original)
+++ pig/trunk/src/org/apache/pig/builtin/JsonStorage.java Mon May 13 23:27:53 2013
@@ -199,7 +199,7 @@ public class JsonStorage extends StoreFu
json.writeFieldName(field.getName());
json.writeStartObject();
for (Map.Entry<String, Object> e : ((Map<String, Object>)d).entrySet()) {
- json.writeStringField(e.getKey(), e.getValue().toString());
+ json.writeStringField(e.getKey(), e.getValue() == null ? null : e.getValue().toString());
}
json.writeEndObject();
return;
Modified: pig/trunk/test/org/apache/pig/test/data/jsonStorage1.result
URL: http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/data/jsonStorage1.result?rev=1482145&r1=1482144&r2=1482145&view=diff
==============================================================================
--- pig/trunk/test/org/apache/pig/test/data/jsonStorage1.result (original)
+++ pig/trunk/test/org/apache/pig/test/data/jsonStorage1.result Mon May 13 23:27:53 2013
@@ -1,2 +1,2 @@
{"a0":1,"a1":[{"a10":1,"a11":"tom"},{"a10":2,"a11":"jerry"}],"a2":{"a20":1.01,"a21":"sun"},"a3":{"key3":"c","key2":"b","key1":"a"}}
-{"a0":2,"a1":[{"a10":6,"a11":"cat"},{"a10":7,"a11":"dog"},{"a10":8,"a11":"pig"}],"a2":{"a20":2.3,"a21":"moon"},"a3":{"key4":"value4","key1":"value1"}}
+{"a0":2,"a1":[{"a10":6,"a11":"cat"},{"a10":7,"a11":"dog"},{"a10":8,"a11":"pig"}],"a2":{"a20":2.3,"a21":"moon"},"a3":{"key4":"value4","key1":"value1","key2":null}}
Modified: pig/trunk/test/org/apache/pig/test/data/jsonStorage1.txt
URL: http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/data/jsonStorage1.txt?rev=1482145&r1=1482144&r2=1482145&view=diff
==============================================================================
--- pig/trunk/test/org/apache/pig/test/data/jsonStorage1.txt (original)
+++ pig/trunk/test/org/apache/pig/test/data/jsonStorage1.txt Mon May 13 23:27:53 2013
@@ -1,2 +1,2 @@
1 {(1,tom),(2,jerry)} (1.01,sun) [key3#c,key2#b,key1#a]
-2 {(6,cat),(7,dog),(8,pig)} (2.3,moon) [key4#value4,key1#value1]
+2 {(6,cat),(7,dog),(8,pig)} (2.3,moon) [key4#value4,key1#value1,key2#]