You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@avro.apache.org by rs...@apache.org on 2022/02/18 07:09:36 UTC
[avro] branch branch-1.11 updated: AVRO-3382 (java) - require Schema argument be != null when creating a Schema.Field (#1550)
This is an automated email from the ASF dual-hosted git repository.
rskraba pushed a commit to branch branch-1.11
in repository https://gitbox.apache.org/repos/asf/avro.git
The following commit(s) were added to refs/heads/branch-1.11 by this push:
new 198cccd AVRO-3382 (java) - require Schema argument be != null when creating a Schema.Field (#1550)
198cccd is described below
commit 198cccdbae9ff40b7d9eff34dd2636ece298ae6a
Author: Radai Rosenblatt <ra...@gmail.com>
AuthorDate: Thu Feb 17 23:06:45 2022 -0800
AVRO-3382 (java) - require Schema argument be != null when creating a Schema.Field (#1550)
* AVRO-3382 (java) - require Schema argument be != null when creating a Schema
* address review comments
Co-authored-by: Radai Rosenblatt <rr...@rrosenbl-mn2.linkedin.biz>
---
lang/java/avro/src/main/java/org/apache/avro/Schema.java | 2 +-
lang/java/avro/src/test/java/org/apache/avro/TestSchema.java | 5 +++++
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/lang/java/avro/src/main/java/org/apache/avro/Schema.java b/lang/java/avro/src/main/java/org/apache/avro/Schema.java
index c58a852..ae0015d 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/Schema.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/Schema.java
@@ -554,7 +554,7 @@ public abstract class Schema extends JsonProperties implements Serializable {
Field(String name, Schema schema, String doc, JsonNode defaultValue, boolean validateDefault, Order order) {
super(FIELD_RESERVED);
this.name = validateName(name);
- this.schema = schema;
+ this.schema = Objects.requireNonNull(schema, "schema is required and cannot be null");
this.doc = doc;
this.defaultValue = validateDefault ? validateDefault(name, schema, defaultValue) : defaultValue;
this.order = Objects.requireNonNull(order, "Order cannot be null");
diff --git a/lang/java/avro/src/test/java/org/apache/avro/TestSchema.java b/lang/java/avro/src/test/java/org/apache/avro/TestSchema.java
index 4b2a78b..acfbcb5 100644
--- a/lang/java/avro/src/test/java/org/apache/avro/TestSchema.java
+++ b/lang/java/avro/src/test/java/org/apache/avro/TestSchema.java
@@ -361,4 +361,9 @@ public class TestSchema {
public void testEnumSymbolAsNull() {
Schema.createEnum("myField", "doc", "namespace", Collections.singletonList(null));
}
+
+ @Test(expected = NullPointerException.class)
+ public void testSchemaFieldWithoutSchema() {
+ new Schema.Field("f", null);
+ }
}