From 9174d7336a93d308cdb8882c9cf4cddab9c05578 Mon Sep 17 00:00:00 2001 From: Ashok Date: Thu, 11 Sep 2014 11:00:55 +0530 Subject: [PATCH 01/16] added JavaStringJsonObjectInspector class to PrimitiveCategory --- .../jsonserde/objectinspector/JsonObjectInspectorFactory.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/json-serde/src/main/java/org/openx/data/jsonserde/objectinspector/JsonObjectInspectorFactory.java b/json-serde/src/main/java/org/openx/data/jsonserde/objectinspector/JsonObjectInspectorFactory.java index a27d2599..b7acedd1 100644 --- a/json-serde/src/main/java/org/openx/data/jsonserde/objectinspector/JsonObjectInspectorFactory.java +++ b/json-serde/src/main/java/org/openx/data/jsonserde/objectinspector/JsonObjectInspectorFactory.java @@ -32,6 +32,7 @@ import org.openx.data.jsonserde.objectinspector.primitive.JavaStringLongObjectInspector; import org.openx.data.jsonserde.objectinspector.primitive.JavaStringShortObjectInspector; import org.openx.data.jsonserde.objectinspector.primitive.JavaStringTimestampObjectInspector; +import org.openx.data.jsonserde.objectinspector.primitive.JavaStringJsonObjectInspector; /** * @@ -45,7 +46,7 @@ public class JsonObjectInspectorFactory { * * * @param options - * @see JsonUtils + * @see //JsonUtils * @param typeInfo * @return */ @@ -178,6 +179,7 @@ public static JsonMapObjectInspector getJsonMapObjectInspector( primitiveOICache.put(PrimitiveCategory.FLOAT, new JavaStringFloatObjectInspector()); primitiveOICache.put(PrimitiveCategory.DOUBLE, new JavaStringDoubleObjectInspector()); primitiveOICache.put(PrimitiveCategory.TIMESTAMP, new JavaStringTimestampObjectInspector()); + primitiveOICache.put(PrimitiveCategory.STRING,new JavaStringJsonObjectInspector()); } /** From c99f966d45392435529f4252656c92269daafec4 Mon Sep 17 00:00:00 2001 From: Ashok Date: Thu, 11 Sep 2014 11:03:34 +0530 Subject: [PATCH 02/16] Added new JavaStringJsonObjectInspector class to primitive category --- .../JavaStringJsonObjectInspector.java | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 json-serde/src/main/java/org/openx/data/jsonserde/objectinspector/primitive/JavaStringJsonObjectInspector.java diff --git a/json-serde/src/main/java/org/openx/data/jsonserde/objectinspector/primitive/JavaStringJsonObjectInspector.java b/json-serde/src/main/java/org/openx/data/jsonserde/objectinspector/primitive/JavaStringJsonObjectInspector.java new file mode 100644 index 00000000..01f6b87a --- /dev/null +++ b/json-serde/src/main/java/org/openx/data/jsonserde/objectinspector/primitive/JavaStringJsonObjectInspector.java @@ -0,0 +1,49 @@ +package org.openx.data.jsonserde.objectinspector.primitive; + + +import org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector; +import org.apache.hadoop.hive.serde2.objectinspector.primitive.AbstractPrimitiveJavaObjectInspector; +import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils; +import org.apache.hadoop.hive.serde2.objectinspector.primitive.SettableStringObjectInspector; +import org.apache.hadoop.io.Text; + +/** + * Created by linuxuser on 10/9/14. + */ +public class JavaStringJsonObjectInspector extends AbstractPrimitiveJavaObjectInspector implements SettableStringObjectInspector { + + public JavaStringJsonObjectInspector(){super(PrimitiveObjectInspectorUtils.stringTypeEntry); }; + + @Override + public Text getPrimitiveWritableObject(Object o) { + return o == null ? null : new Text(((String) o.toString())); + } + + @Override + public String getPrimitiveJavaObject(Object o) { + return o == null ? null : o.toString(); + } + + @Override + public Object create(Text value) { + return value == null ? null : value.toString(); + } + + @Override + public Object set(Object o, Text value) { + return value == null ? null : value.toString(); + } + + @Override + public Object create(String value) { + return value; + } + + @Override + public Object set(Object o, String value) { + return value; + } + + + +} From 86b2a6e4e67321493d68ab291caf4be6a98e3576 Mon Sep 17 00:00:00 2001 From: Ashok Date: Wed, 24 Sep 2014 11:52:33 +0530 Subject: [PATCH 03/16] Added GetJsonObjectTest Testcase for string --- .../java/org/openx/data/jsonserde/GetJsonObjectTest.java | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 json-serde/src/test/java/org/openx/data/jsonserde/GetJsonObjectTest.java diff --git a/json-serde/src/test/java/org/openx/data/jsonserde/GetJsonObjectTest.java b/json-serde/src/test/java/org/openx/data/jsonserde/GetJsonObjectTest.java new file mode 100644 index 00000000..7ce64e38 --- /dev/null +++ b/json-serde/src/test/java/org/openx/data/jsonserde/GetJsonObjectTest.java @@ -0,0 +1,7 @@ +package org.openx.data.jsonserde; + +/** + * Created by linuxuser on 11/9/14. + */ +public class GetJsonObjectTest { +} From 220df6ed71cac6a77e05724adf2399f7677ba7cb Mon Sep 17 00:00:00 2001 From: Ashok Date: Wed, 24 Sep 2014 12:24:05 +0530 Subject: [PATCH 04/16] removed comments --- .../jsonserde/objectinspector/JsonObjectInspectorFactory.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/json-serde/src/main/java/org/openx/data/jsonserde/objectinspector/JsonObjectInspectorFactory.java b/json-serde/src/main/java/org/openx/data/jsonserde/objectinspector/JsonObjectInspectorFactory.java index b7acedd1..a564312d 100644 --- a/json-serde/src/main/java/org/openx/data/jsonserde/objectinspector/JsonObjectInspectorFactory.java +++ b/json-serde/src/main/java/org/openx/data/jsonserde/objectinspector/JsonObjectInspectorFactory.java @@ -46,7 +46,7 @@ public class JsonObjectInspectorFactory { * * * @param options - * @see //JsonUtils + * @see JsonUtils * @param typeInfo * @return */ From 25fd34ec0763b65a13bfa96c0512e610e6654bb8 Mon Sep 17 00:00:00 2001 From: Ashok Date: Wed, 24 Sep 2014 12:27:16 +0530 Subject: [PATCH 05/16] Removed version --- json-serde-cdh4-shim/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/json-serde-cdh4-shim/pom.xml b/json-serde-cdh4-shim/pom.xml index 670e9472..41cf660f 100644 --- a/json-serde-cdh4-shim/pom.xml +++ b/json-serde-cdh4-shim/pom.xml @@ -5,7 +5,7 @@ org.openx.data json-serde-parent ../pom.xml - 1.3.1-SNAPSHOT + 1.3 4.0.0 From 6096e61b5d027d7807d4da5ffe4444b584eae26a Mon Sep 17 00:00:00 2001 From: Ashok Date: Wed, 24 Sep 2014 12:27:33 +0530 Subject: [PATCH 06/16] Removed version --- json-serde-cdh5-shim/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/json-serde-cdh5-shim/pom.xml b/json-serde-cdh5-shim/pom.xml index 116d7098..f01f0a0b 100644 --- a/json-serde-cdh5-shim/pom.xml +++ b/json-serde-cdh5-shim/pom.xml @@ -5,7 +5,7 @@ org.openx.data json-serde-parent ../pom.xml - 1.3.1-SNAPSHOT + 1.3 4.0.0 From f835b04d373a0b428da9256d26904eeb8f6c0f35 Mon Sep 17 00:00:00 2001 From: Ashok Date: Wed, 24 Sep 2014 12:27:55 +0530 Subject: [PATCH 07/16] Removed version --- json-serde/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/json-serde/pom.xml b/json-serde/pom.xml index 820d2485..bc074538 100644 --- a/json-serde/pom.xml +++ b/json-serde/pom.xml @@ -5,7 +5,7 @@ org.openx.data json-serde-parent ../pom.xml - 1.3.1-SNAPSHOT + 1.3 4.0.0 From 37cd0cf2b9dd72188e8aca5beeb642b3b5242014 Mon Sep 17 00:00:00 2001 From: Ashok Date: Wed, 24 Sep 2014 12:30:04 +0530 Subject: [PATCH 08/16] Removed version --- json/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/json/pom.xml b/json/pom.xml index dc3c0f07..c2e87913 100644 --- a/json/pom.xml +++ b/json/pom.xml @@ -5,7 +5,7 @@ org.openx.data json-serde-parent ../pom.xml - 1.3.1-SNAPSHOT + 1.3 4.0.0 From ea08bda7d2c5c3beee81c86bb6e4d2f151d0f823 Mon Sep 17 00:00:00 2001 From: Ashok Date: Wed, 24 Sep 2014 12:30:17 +0530 Subject: [PATCH 09/16] Removed version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 32f790ae..21f9f53f 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.openx.data json-serde-parent - 1.3.1-SNAPSHOT + 1.3 pom openx-json-serde From e5d0346d75d7f46974c5c0f6e93a2a083bfb580f Mon Sep 17 00:00:00 2001 From: Ashok Date: Wed, 24 Sep 2014 12:32:38 +0530 Subject: [PATCH 10/16] Added Test case for JavaStringJsonObjectInspector --- .../data/jsonserde/GetJsonObjectTest.java | 113 +++++++++++++++++- 1 file changed, 110 insertions(+), 3 deletions(-) diff --git a/json-serde/src/test/java/org/openx/data/jsonserde/GetJsonObjectTest.java b/json-serde/src/test/java/org/openx/data/jsonserde/GetJsonObjectTest.java index 7ce64e38..198a96d1 100644 --- a/json-serde/src/test/java/org/openx/data/jsonserde/GetJsonObjectTest.java +++ b/json-serde/src/test/java/org/openx/data/jsonserde/GetJsonObjectTest.java @@ -1,7 +1,114 @@ package org.openx.data.jsonserde; - +import static org.junit.Assert.*; +import java.util.Properties; +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.hive.ql.udf.UDFJson; +import org.apache.hadoop.hive.serde.Constants; +import org.apache.hadoop.hive.serde2.SerDeException; +import org.apache.hadoop.hive.serde2.objectinspector.ListObjectInspector; +import org.apache.hadoop.hive.serde2.objectinspector.StructObjectInspector; +import org.apache.hadoop.hive.serde2.objectinspector.primitive.StringObjectInspector; +import org.apache.hadoop.io.Text; +import org.apache.hadoop.io.Writable; +import org.junit.Before; +import org.junit.Test; +import org.openx.data.jsonserde.json.JSONException; +import org.openx.data.jsonserde.json.JSONObject; /** - * Created by linuxuser on 11/9/14. + * Tests getJson Object + * + * */ public class GetJsonObjectTest { -} + static JsonSerDe instance; + @Before + public void setUp() throws Exception { + initialize(); + } + static public void initialize() throws Exception { + instance = new JsonSerDe(); + Configuration conf = null; + Properties tbl = new Properties(); +// from google video API + tbl.setProperty(Constants.LIST_COLUMNS, "kind,etag,pageInfo,v_items"); + tbl.setProperty( + Constants.LIST_COLUMN_TYPES, + ("string,string," + "string," + + "ARRAY," + + "topicDetails:STRUCT,relevantTopicIds:ARRAY>" + + ">>").toLowerCase()); + tbl.setProperty("mapping.v_items", "items"); + tbl.setProperty("mapping.v_statistics", "statistics"); + instance.initialize(conf, tbl); + tbl.setProperty("mapping.v_items", "items"); + tbl.setProperty("mapping.v_statistics", "statistics"); + instance.initialize(conf, tbl); + } + @Test + public void testGetJsonObject() throws SerDeException, JSONException { + Writable w = new Text( + "{ \"kind\": \"youtube#videoListResponse\", \"etag\": \"\\\"79S54kzisD_9SOTfQLu_0TVQSpY/mYlS4-ghMGhc1wTFCwoQl3IYDZc\\\"\", \"pageInfo\": { \"totalResults\": 1, \"resultsPerPage\": 1 }, \"items\": [ { \"kind\": \"youtube#video\", \"etag\": \"\\\"79S54kzisD_9SOTfQLu_0TVQSpY/A4foLs-VO317Po_ulY6b5mSimZA\\\"\", \"id\": \"wHkPb68dxEw\", \"statistics\": { \"viewCount\": \"9211\", \"likeCount\": \"79\", \"dislikeCount\": \"11\", \"favoriteCount\": \"0\", \"commentCount\": \"29\" }, \"topicDetails\": { \"topicIds\": [ \"/m/02mjmr\" ], \"relevantTopicIds\": [ \"/m/0cnfvd\", \"/m/01jdpf\" ] } } ] }"); + JSONObject result = (JSONObject) instance.deserialize(w); + StructObjectInspector soi = (StructObjectInspector) instance.getObjectInspector(); + Object res = soi.getStructFieldData(result, soi.getStructFieldRef("pageinfo")); + StringObjectInspector loi = (StringObjectInspector) soi.getStructFieldRef("pageinfo") + .getFieldObjectInspector(); + UDFJson udfJson = new UDFJson(); + Text output = udfJson.evaluate(loi.getPrimitiveJavaObject(res), "$.totalresults"); + assertEquals("1", output.toString()); + } + @Test + public void testNestedGetJsonObject() throws SerDeException, JSONException { + Writable w = new Text( + "{ \"kind\": \"youtube#videoListResponse\", \"etag\": \"\\\"79S54kzisD_9SOTfQLu_0TVQSpY/mYlS4-ghMGhc1wTFCwoQl3IYDZc\\\"\", \"pageInfo\": { \"pagehit\":{ \"kind\": \"youtube#video\" } ,\"totalResults\": 1, \"resultsPerPage\": 1 }, \"items\": [ { \"kind\": \"youtube#video\", \"etag\": \"\\\"79S54kzisD_9SOTfQLu_0TVQSpY/A4foLs-VO317Po_ulY6b5mSimZA\\\"\", \"id\": \"wHkPb68dxEw\", \"statistics\": { \"viewCount\": \"9211\", \"likeCount\": \"79\", \"dislikeCount\": \"11\", \"favoriteCount\": \"0\", \"commentCount\": \"29\" }, \"topicDetails\": { \"topicIds\": [ \"/m/02mjmr\" ], \"relevantTopicIds\": [ \"/m/0cnfvd\", \"/m/01jdpf\" ] } } ] }"); + StructObjectInspector soi = (StructObjectInspector) instance.getObjectInspector(); + JSONObject result = (JSONObject) instance.deserialize(w); + Object res = soi.getStructFieldData(result, soi.getStructFieldRef("pageinfo")); + StringObjectInspector loi = (StringObjectInspector) soi.getStructFieldRef("pageinfo") + .getFieldObjectInspector(); + UDFJson udfJson = new UDFJson(); + Text output = udfJson.evaluate(loi.getPrimitiveJavaObject(res), "$.pagehit"); + assertEquals("{\"kind\":\"youtube#video\"}", output.toString()); + } + @Test + public void testStringWhenNotJson() throws SerDeException, JSONException { + Writable w = new Text( + "{ \"kind\": \"youtube#videoListResponse\", \"etag\": \"\\\"79S54kzisD_9SOTfQLu_0TVQSpY/mYlS4-ghMGhc1wTFCwoQl3IYDZc\\\"\", \"pageInfo\": \"page\", \"items\": [ { \"kind\": \"youtube#video\", \"etag\": \"\\\"79S54kzisD_9SOTfQLu_0TVQSpY/A4foLs-VO317Po_ulY6b5mSimZA\\\"\", \"id\": \"wHkPb68dxEw\", \"statistics\": { \"viewCount\": \"9211\", \"likeCount\": \"79\", \"dislikeCount\": \"11\", \"favoriteCount\": \"0\", \"commentCount\": \"29\" }, \"topicDetails\": { \"topicIds\": [ \"/m/02mjmr\" ], \"relevantTopicIds\": [ \"/m/0cnfvd\", \"/m/01jdpf\" ] } } ] }"); + StructObjectInspector soi = (StructObjectInspector) instance.getObjectInspector(); + JSONObject result = (JSONObject) instance.deserialize(w); + Object res = soi.getStructFieldData(result, soi.getStructFieldRef("pageinfo")); + StringObjectInspector loi = (StringObjectInspector) soi.getStructFieldRef("pageinfo") + .getFieldObjectInspector(); + UDFJson udfJson = new UDFJson(); + Text output = udfJson.evaluate(loi.getPrimitiveJavaObject(res), "$.test_field"); + assertNull(output); + } + @Test + public void testStringWhenFieldIsNotInJson() throws SerDeException, JSONException { + Writable w = new Text( + "{ \"kind\": \"youtube#videoListResponse\", \"etag\": \"\\\"79S54kzisD_9SOTfQLu_0TVQSpY/mYlS4-ghMGhc1wTFCwoQl3IYDZc\\\"\", \"pageInfo\": { \"totalResults\": 1, \"resultsPerPage\": 1 }, \"items\": [ { \"kind\": \"youtube#video\", \"etag\": \"\\\"79S54kzisD_9SOTfQLu_0TVQSpY/A4foLs-VO317Po_ulY6b5mSimZA\\\"\", \"id\": \"wHkPb68dxEw\", \"statistics\": { \"viewCount\": \"9211\", \"likeCount\": \"79\", \"dislikeCount\": \"11\", \"favoriteCount\": \"0\", \"commentCount\": \"29\" }, \"topicDetails\": { \"topicIds\": [ \"/m/02mjmr\" ], \"relevantTopicIds\": [ \"/m/0cnfvd\", \"/m/01jdpf\" ] } } ] }"); + StructObjectInspector soi = (StructObjectInspector) instance.getObjectInspector(); + JSONObject result = (JSONObject) instance.deserialize(w); + Object res = soi.getStructFieldData(result, soi.getStructFieldRef("pageinfo")); + StringObjectInspector loi = (StringObjectInspector) soi.getStructFieldRef("pageinfo") + .getFieldObjectInspector(); + UDFJson udfJson = new UDFJson(); + Text output = udfJson.evaluate(loi.getPrimitiveJavaObject(res), "$.test_field"); + assertNull(output); + } + @Test + public void testStringWhenJson() throws SerDeException, JSONException { + Writable w = new Text( + "{ \"kind\": \"youtube#videoListResponse\", \"etag\": \"\\\"79S54kzisD_9SOTfQLu_0TVQSpY/mYlS4-ghMGhc1wTFCwoQl3IYDZc\\\"\", \"pageInfo\": \"page\", \"items\": [ { \"kind\": \"youtube#video\", \"etag\": \"\\\"79S54kzisD_9SOTfQLu_0TVQSpY/A4foLs-VO317Po_ulY6b5mSimZA\\\"\", \"id\": \"wHkPb68dxEw\", \"statistics\": { \"viewCount\": \"9211\", \"likeCount\": \"79\", \"dislikeCount\": \"11\", \"favoriteCount\": \"0\", \"commentCount\": \"29\" }, \"topicDetails\": { \"topicIds\": [ \"/m/02mjmr\" ], \"relevantTopicIds\": [ \"/m/0cnfvd\", \"/m/01jdpf\" ] } } ] }"); + StructObjectInspector soi = (StructObjectInspector) instance.getObjectInspector(); + JSONObject result = (JSONObject) instance.deserialize(w); + Object res = soi.getStructFieldData(result, soi.getStructFieldRef("pageinfo")); + StringObjectInspector loi = (StringObjectInspector) soi.getStructFieldRef("pageinfo") + .getFieldObjectInspector(); + String sres = loi.getPrimitiveJavaObject(res); + assertEquals("page", sres); + } +} \ No newline at end of file From 2b3afbef209c5f1b4314fb66eb4bd4b830d6df75 Mon Sep 17 00:00:00 2001 From: Ashok Date: Wed, 24 Sep 2014 13:40:15 +0530 Subject: [PATCH 11/16] Added Test case For JavaStringJsonObjectInspector --- .../test/java/org/openx/data/jsonserde/GetJsonObjectTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/json-serde/src/test/java/org/openx/data/jsonserde/GetJsonObjectTest.java b/json-serde/src/test/java/org/openx/data/jsonserde/GetJsonObjectTest.java index 198a96d1..13c7c70d 100644 --- a/json-serde/src/test/java/org/openx/data/jsonserde/GetJsonObjectTest.java +++ b/json-serde/src/test/java/org/openx/data/jsonserde/GetJsonObjectTest.java @@ -17,7 +17,7 @@ /** * Tests getJson Object * - * + * */ public class GetJsonObjectTest { static JsonSerDe instance; From 265a2656826f750caf4692379abb138ed15c6983 Mon Sep 17 00:00:00 2001 From: Ashok Date: Wed, 24 Sep 2014 13:43:47 +0530 Subject: [PATCH 12/16] Added version --- json-serde-cdh4-shim/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/json-serde-cdh4-shim/pom.xml b/json-serde-cdh4-shim/pom.xml index 41cf660f..670e9472 100644 --- a/json-serde-cdh4-shim/pom.xml +++ b/json-serde-cdh4-shim/pom.xml @@ -5,7 +5,7 @@ org.openx.data json-serde-parent ../pom.xml - 1.3 + 1.3.1-SNAPSHOT 4.0.0 From eef51e48b61375e732ae6869009f3b7cea609b95 Mon Sep 17 00:00:00 2001 From: Ashok Date: Wed, 24 Sep 2014 13:45:53 +0530 Subject: [PATCH 13/16] Added Version --- json-serde-cdh5-shim/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/json-serde-cdh5-shim/pom.xml b/json-serde-cdh5-shim/pom.xml index f01f0a0b..116d7098 100644 --- a/json-serde-cdh5-shim/pom.xml +++ b/json-serde-cdh5-shim/pom.xml @@ -5,7 +5,7 @@ org.openx.data json-serde-parent ../pom.xml - 1.3 + 1.3.1-SNAPSHOT 4.0.0 From 6c7ee62877539f2db2d94a54531838ad297bc036 Mon Sep 17 00:00:00 2001 From: Ashok Date: Wed, 24 Sep 2014 13:46:18 +0530 Subject: [PATCH 14/16] Added Version --- json-serde/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/json-serde/pom.xml b/json-serde/pom.xml index bc074538..820d2485 100644 --- a/json-serde/pom.xml +++ b/json-serde/pom.xml @@ -5,7 +5,7 @@ org.openx.data json-serde-parent ../pom.xml - 1.3 + 1.3.1-SNAPSHOT 4.0.0 From 8c57012cec8ecbe7bfd1d428b3fdceb11780edea Mon Sep 17 00:00:00 2001 From: Ashok Date: Wed, 24 Sep 2014 13:46:34 +0530 Subject: [PATCH 15/16] Added Version --- json/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/json/pom.xml b/json/pom.xml index c2e87913..dc3c0f07 100644 --- a/json/pom.xml +++ b/json/pom.xml @@ -5,7 +5,7 @@ org.openx.data json-serde-parent ../pom.xml - 1.3 + 1.3.1-SNAPSHOT 4.0.0 From 2f6fe122f467a2425ab4e0c9ca02a980ceac8e13 Mon Sep 17 00:00:00 2001 From: Ashok Date: Wed, 24 Sep 2014 13:46:45 +0530 Subject: [PATCH 16/16] Added version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 21f9f53f..32f790ae 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.openx.data json-serde-parent - 1.3 + 1.3.1-SNAPSHOT pom openx-json-serde