Repository: nifi Updated Branches: refs/heads/master e9848f427 -> 382eef218
NIFI-3879: Allow null Avro default values - Avro uses their own class for null values, so a standard check against null isn't picking them up. This closes #1792. Project: http://git-wip-us.apache.org/repos/asf/nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/382eef21 Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/382eef21 Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/382eef21 Branch: refs/heads/master Commit: 382eef2183192357c3823c207f1835711f57688c Parents: e9848f4 Author: Steve Champagne <[email protected]> Authored: Fri May 12 17:32:14 2017 +0000 Committer: Mark Payne <[email protected]> Committed: Fri May 12 14:58:43 2017 -0400 ---------------------------------------------------------------------- .../src/main/java/org/apache/nifi/avro/AvroTypeUtil.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/nifi/blob/382eef21/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-avro-record-utils/src/main/java/org/apache/nifi/avro/AvroTypeUtil.java ---------------------------------------------------------------------- diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-avro-record-utils/src/main/java/org/apache/nifi/avro/AvroTypeUtil.java b/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-avro-record-utils/src/main/java/org/apache/nifi/avro/AvroTypeUtil.java index bd5e8e4..8ded9bc 100644 --- a/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-avro-record-utils/src/main/java/org/apache/nifi/avro/AvroTypeUtil.java +++ b/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-avro-record-utils/src/main/java/org/apache/nifi/avro/AvroTypeUtil.java @@ -25,6 +25,7 @@ import org.apache.avro.generic.GenericData; import org.apache.avro.generic.GenericFixed; import org.apache.avro.generic.GenericRecord; import org.apache.avro.util.Utf8; +import org.apache.avro.JsonProperties; import org.apache.nifi.schema.access.SchemaNotFoundException; import org.apache.nifi.serialization.SimpleRecordSchema; import org.apache.nifi.serialization.record.DataType; @@ -205,7 +206,11 @@ public class AvroTypeUtil { final String fieldName = field.name(); final DataType dataType = AvroTypeUtil.determineDataType(field.schema()); - recordFields.add(new RecordField(fieldName, dataType, field.defaultVal(), field.aliases())); + if (field.defaultVal() == JsonProperties.NULL_VALUE) { + recordFields.add(new RecordField(fieldName, dataType, field.aliases())); + } else { + recordFields.add(new RecordField(fieldName, dataType, field.defaultVal(), field.aliases())); + } } final RecordSchema recordSchema = new SimpleRecordSchema(recordFields, schemaText, AVRO_SCHEMA_FORMAT, schemaId);
