You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@gobblin.apache.org by hu...@apache.org on 2018/04/18 17:16:45 UTC

incubator-gobblin git commit: [GOBBLIN-468] Fix bug with enum for json to avro converter

Repository: incubator-gobblin
Updated Branches:
  refs/heads/master e386cf67e -> b11be3d60


[GOBBLIN-468] Fix bug with enum for json to avro converter

Closes #2341 from jack-moseley/enum-fix


Project: http://git-wip-us.apache.org/repos/asf/incubator-gobblin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-gobblin/commit/b11be3d6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-gobblin/tree/b11be3d6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-gobblin/diff/b11be3d6

Branch: refs/heads/master
Commit: b11be3d60131b8ac5b35f901945b2dd6341bd2f2
Parents: e386cf6
Author: Jack Moseley <jm...@linkedin.com>
Authored: Wed Apr 18 10:16:34 2018 -0700
Committer: Hung Tran <hu...@linkedin.com>
Committed: Wed Apr 18 10:16:34 2018 -0700

----------------------------------------------------------------------
 .../JsonElementConversionWithAvroSchemaFactory.java  |  2 ++
 .../JsonRecordAvroSchemaToAvroConverterTest.java     |  2 ++
 .../test/resources/converter/jsonToAvroRecord.json   |  3 ++-
 .../test/resources/converter/jsonToAvroSchema.avsc   | 15 +++++++++++++++
 4 files changed, 21 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/b11be3d6/gobblin-core/src/main/java/org/apache/gobblin/converter/avro/JsonElementConversionWithAvroSchemaFactory.java
----------------------------------------------------------------------
diff --git a/gobblin-core/src/main/java/org/apache/gobblin/converter/avro/JsonElementConversionWithAvroSchemaFactory.java b/gobblin-core/src/main/java/org/apache/gobblin/converter/avro/JsonElementConversionWithAvroSchemaFactory.java
index cc51874..f7a8e80 100644
--- a/gobblin-core/src/main/java/org/apache/gobblin/converter/avro/JsonElementConversionWithAvroSchemaFactory.java
+++ b/gobblin-core/src/main/java/org/apache/gobblin/converter/avro/JsonElementConversionWithAvroSchemaFactory.java
@@ -154,6 +154,8 @@ public class JsonElementConversionWithAvroSchemaFactory extends JsonElementConve
       this.enumSet.addAll(schemaNode.getEnumSymbols());
 
       this.enumName = schemaNode.getType().getName();
+
+      this.schema = schemaNode;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/b11be3d6/gobblin-core/src/test/java/org/apache/gobblin/converter/avro/JsonRecordAvroSchemaToAvroConverterTest.java
----------------------------------------------------------------------
diff --git a/gobblin-core/src/test/java/org/apache/gobblin/converter/avro/JsonRecordAvroSchemaToAvroConverterTest.java b/gobblin-core/src/test/java/org/apache/gobblin/converter/avro/JsonRecordAvroSchemaToAvroConverterTest.java
index ed2dbb6..f59de8c 100644
--- a/gobblin-core/src/test/java/org/apache/gobblin/converter/avro/JsonRecordAvroSchemaToAvroConverterTest.java
+++ b/gobblin-core/src/test/java/org/apache/gobblin/converter/avro/JsonRecordAvroSchemaToAvroConverterTest.java
@@ -83,5 +83,7 @@ public class JsonRecordAvroSchemaToAvroConverterTest {
 
     GenericRecord recordInArray = (GenericRecord) (((GenericArray) record.get("arrayOfRecords")).get(0));
     Assert.assertEquals(recordInArray.get("field1").toString(), "test1");
+
+    Assert.assertEquals((record.get("enumField")).toString(), "ENUM2");
   }
 }

http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/b11be3d6/gobblin-core/src/test/resources/converter/jsonToAvroRecord.json
----------------------------------------------------------------------
diff --git a/gobblin-core/src/test/resources/converter/jsonToAvroRecord.json b/gobblin-core/src/test/resources/converter/jsonToAvroRecord.json
index 7ab2c50..bbdd232 100644
--- a/gobblin-core/src/test/resources/converter/jsonToAvroRecord.json
+++ b/gobblin-core/src/test/resources/converter/jsonToAvroRecord.json
@@ -20,5 +20,6 @@
       "field1": "test3",
       "field2": "test4"
     }
-  ]
+  ],
+  "enumField": "ENUM2"
 }

http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/b11be3d6/gobblin-core/src/test/resources/converter/jsonToAvroSchema.avsc
----------------------------------------------------------------------
diff --git a/gobblin-core/src/test/resources/converter/jsonToAvroSchema.avsc b/gobblin-core/src/test/resources/converter/jsonToAvroSchema.avsc
index 0198eb8..2502f33 100644
--- a/gobblin-core/src/test/resources/converter/jsonToAvroSchema.avsc
+++ b/gobblin-core/src/test/resources/converter/jsonToAvroSchema.avsc
@@ -97,6 +97,21 @@
           ]
         }
       }
+    },
+    {
+      "name": "enumField",
+      "type": [
+        "null",
+        {
+          "name": "enum",
+          "symbols": [
+            "ENUM1",
+            "ENUM2",
+            "ENUM3"
+          ],
+          "type": "enum"
+        }
+      ]
     }
   ]
 }