This is an automated email from the ASF dual-hosted git repository.
suvasude pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-gobblin.git
The following commit(s) were added to refs/heads/master by this push:
new 2415173 [GOBBLIN-923]GOBBLIN-923] Fix Array and Map JsonElement
converters to handle nullable elements
2415173 is described below
commit 2415173b1e428848c5b1c47788a2ad0aaa8ba3bd
Author: Ahmed Abdul Hamid <[email protected]>
AuthorDate: Wed Oct 23 13:04:11 2019 -0700
[GOBBLIN-923]GOBBLIN-923] Fix Array and Map JsonElement converters to
handle nullable elements
This change fixes the converters below to check if
the JsonElement
they are invoked with is a JsonNull and handle it
accordingly.
- JsonElementConversionWithAvroSchemaFactory::Arra
yConverter
- JsonElementConversionWithAvroSchemaFactory::MapC
onverter
- JsonElementConversionFactory::ArrayConverter
- JsonElementConversionFactory::MapConverter
Closes #2779 from ahmedahamid/master
---
.../apache/gobblin/converter/avro/JsonElementConversionFactory.java | 4 ++--
.../converter/avro/JsonElementConversionWithAvroSchemaFactory.java | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git
a/gobblin-core/src/main/java/org/apache/gobblin/converter/avro/JsonElementConversionFactory.java
b/gobblin-core/src/main/java/org/apache/gobblin/converter/avro/JsonElementConversionFactory.java
index c6d9f23..0d6707d 100644
---
a/gobblin-core/src/main/java/org/apache/gobblin/converter/avro/JsonElementConversionFactory.java
+++
b/gobblin-core/src/main/java/org/apache/gobblin/converter/avro/JsonElementConversionFactory.java
@@ -530,7 +530,7 @@ public class JsonElementConversionFactory {
List<Object> list = new ArrayList<>();
for (JsonElement elem : (JsonArray) value) {
- list.add(getElementConverter().convertField(elem));
+ list.add(getElementConverter().convert(elem));
}
return new GenericData.Array<>(arraySchema(), list);
@@ -566,7 +566,7 @@ public class JsonElementConversionFactory {
Map<String, Object> map = new HashMap<>();
for (Map.Entry<String, JsonElement> entry : ((JsonObject)
value).entrySet()) {
- map.put(entry.getKey(),
getElementConverter().convertField(entry.getValue()));
+ map.put(entry.getKey(),
getElementConverter().convert(entry.getValue()));
}
return map;
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 f7a8e80..f9627a5 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
@@ -90,7 +90,7 @@ public class JsonElementConversionWithAvroSchemaFactory
extends JsonElementConve
List<Object> list = new ArrayList<>();
for (JsonElement elem : (JsonArray) value) {
- list.add(getElementConverter().convertField(elem));
+ list.add(getElementConverter().convert(elem));
}
return new GenericData.Array<>(schema(), list);
@@ -124,7 +124,7 @@ public class JsonElementConversionWithAvroSchemaFactory
extends JsonElementConve
Map<String, Object> map = new HashMap<>();
for (Map.Entry<String, JsonElement> entry : ((JsonObject)
value).entrySet()) {
- map.put(entry.getKey(),
getElementConverter().convertField(entry.getValue()));
+ map.put(entry.getKey(),
getElementConverter().convert(entry.getValue()));
}
return map;