This is an automated email from the ASF dual-hosted git repository.
rskraba pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/avro.git
The following commit(s) were added to refs/heads/master by this push:
new 1034773 AVRO-3048: Use SpecificRecord's MODEL$ in builder creation
(#1206)
1034773 is described below
commit 103477369fcb49a5372f9f5c1353fcd575119287
Author: Martin Jubelgas <[email protected]>
AuthorDate: Tue May 4 16:04:06 2021 +0200
AVRO-3048: Use SpecificRecord's MODEL$ in builder creation (#1206)
* AVRO-3048: Use SpecificRecord's MODEL$ in builder creation
* AVRO-3048: fix formatting of code templates
---
.../org/apache/avro/specific/SpecificErrorBuilderBase.java | 10 ++++++++++
.../org/apache/avro/specific/SpecificRecordBuilderBase.java | 10 ++++++++++
.../avro/compiler/specific/templates/java/classic/record.vm | 4 ++--
.../output-string/avro/examples/baseball/FieldTest.java | 4 ++--
.../compiler/output-string/avro/examples/baseball/Player.java | 4 ++--
.../compiler/output-string/avro/examples/baseball/Proto.java | 2 +-
.../src/test/compiler/output/AddExtraOptionalGettersTest.java | 4 ++--
lang/java/tools/src/test/compiler/output/NoSettersTest.java | 4 ++--
.../src/test/compiler/output/OptionalGettersAllFieldsTest.java | 4 ++--
.../compiler/output/OptionalGettersNullableFieldsTest.java | 4 ++--
lang/java/tools/src/test/compiler/output/Player.java | 4 ++--
11 files changed, 37 insertions(+), 17 deletions(-)
diff --git
a/lang/java/avro/src/main/java/org/apache/avro/specific/SpecificErrorBuilderBase.java
b/lang/java/avro/src/main/java/org/apache/avro/specific/SpecificErrorBuilderBase.java
index 5390a67..2aac97d 100644
---
a/lang/java/avro/src/main/java/org/apache/avro/specific/SpecificErrorBuilderBase.java
+++
b/lang/java/avro/src/main/java/org/apache/avro/specific/SpecificErrorBuilderBase.java
@@ -45,6 +45,16 @@ abstract public class SpecificErrorBuilderBase<T extends
SpecificExceptionBase>
}
/**
+ * Creates a SpecificErrorBuilderBase for building errors of the given type.
+ *
+ * @param schema the schema associated with the error class.
+ * @param model the SpecificData instance associated with the error class
+ */
+ protected SpecificErrorBuilderBase(Schema schema, SpecificData model) {
+ super(schema, model);
+ }
+
+ /**
* SpecificErrorBuilderBase copy constructor.
*
* @param other SpecificErrorBuilderBase instance to copy.
diff --git
a/lang/java/avro/src/main/java/org/apache/avro/specific/SpecificRecordBuilderBase.java
b/lang/java/avro/src/main/java/org/apache/avro/specific/SpecificRecordBuilderBase.java
index 533e9f9..ba5d26a 100644
---
a/lang/java/avro/src/main/java/org/apache/avro/specific/SpecificRecordBuilderBase.java
+++
b/lang/java/avro/src/main/java/org/apache/avro/specific/SpecificRecordBuilderBase.java
@@ -36,6 +36,16 @@ abstract public class SpecificRecordBuilderBase<T extends
SpecificRecord> extend
}
/**
+ * Creates a SpecificRecordBuilderBase for building records of the given
type.
+ *
+ * @param schema the schema associated with the record class.
+ * @param model the SpecificData associated with the specific record class
+ */
+ protected SpecificRecordBuilderBase(Schema schema, SpecificData model) {
+ super(schema, model);
+ }
+
+ /**
* SpecificRecordBuilderBase copy constructor.
*
* @param other SpecificRecordBuilderBase instance to copy.
diff --git
a/lang/java/compiler/src/main/velocity/org/apache/avro/compiler/specific/templates/java/classic/record.vm
b/lang/java/compiler/src/main/velocity/org/apache/avro/compiler/specific/templates/java/classic/record.vm
index 0eac87b..6449e8f 100755
---
a/lang/java/compiler/src/main/velocity/org/apache/avro/compiler/specific/templates/java/classic/record.vm
+++
b/lang/java/compiler/src/main/velocity/org/apache/avro/compiler/specific/templates/java/classic/record.vm
@@ -310,7 +310,7 @@ static {
/** Creates a new Builder */
private Builder() {
- super(SCHEMA$);
+ super(SCHEMA$, MODEL$);
}
/**
@@ -338,7 +338,7 @@ static {
*/
private Builder(#if
($schema.getNamespace())$this.mangle($schema.getNamespace()).#end${this.mangle($schema.getName())}
other) {
#if ($schema.isError()) super(other)#else
- super(SCHEMA$)#end;
+ super(SCHEMA$, MODEL$)#end;
#foreach ($field in $schema.getFields())
if (isValidValue(fields()[$field.pos()],
other.${this.mangle($field.name(), $schema.isError())})) {
this.${this.mangle($field.name(), $schema.isError())} =
data().deepCopy(fields()[$field.pos()].schema(),
other.${this.mangle($field.name(), $schema.isError())});
diff --git
a/lang/java/tools/src/test/compiler/output-string/avro/examples/baseball/FieldTest.java
b/lang/java/tools/src/test/compiler/output-string/avro/examples/baseball/FieldTest.java
index 7a9bb2a..92d81f7 100644
---
a/lang/java/tools/src/test/compiler/output-string/avro/examples/baseball/FieldTest.java
+++
b/lang/java/tools/src/test/compiler/output-string/avro/examples/baseball/FieldTest.java
@@ -310,7 +310,7 @@ static {
/** Creates a new Builder */
private Builder() {
- super(SCHEMA$);
+ super(SCHEMA$, MODEL$);
}
/**
@@ -350,7 +350,7 @@ static {
* @param other The existing instance to copy.
*/
private Builder(avro.examples.baseball.FieldTest other) {
- super(SCHEMA$);
+ super(SCHEMA$, MODEL$);
if (isValidValue(fields()[0], other.number)) {
this.number = data().deepCopy(fields()[0].schema(), other.number);
fieldSetFlags()[0] = true;
diff --git
a/lang/java/tools/src/test/compiler/output-string/avro/examples/baseball/Player.java
b/lang/java/tools/src/test/compiler/output-string/avro/examples/baseball/Player.java
index c24fdb8..63d475c 100644
---
a/lang/java/tools/src/test/compiler/output-string/avro/examples/baseball/Player.java
+++
b/lang/java/tools/src/test/compiler/output-string/avro/examples/baseball/Player.java
@@ -242,7 +242,7 @@ public class Player extends
org.apache.avro.specific.SpecificRecordBase implemen
/** Creates a new Builder */
private Builder() {
- super(SCHEMA$);
+ super(SCHEMA$, MODEL$);
}
/**
@@ -274,7 +274,7 @@ public class Player extends
org.apache.avro.specific.SpecificRecordBase implemen
* @param other The existing instance to copy.
*/
private Builder(avro.examples.baseball.Player other) {
- super(SCHEMA$);
+ super(SCHEMA$, MODEL$);
if (isValidValue(fields()[0], other.number)) {
this.number = data().deepCopy(fields()[0].schema(), other.number);
fieldSetFlags()[0] = true;
diff --git
a/lang/java/tools/src/test/compiler/output-string/avro/examples/baseball/Proto.java
b/lang/java/tools/src/test/compiler/output-string/avro/examples/baseball/Proto.java
index 4c8a6d0..2046310 100644
---
a/lang/java/tools/src/test/compiler/output-string/avro/examples/baseball/Proto.java
+++
b/lang/java/tools/src/test/compiler/output-string/avro/examples/baseball/Proto.java
@@ -24,4 +24,4 @@ public interface Proto {
*/
void bar(org.apache.avro.ipc.Callback<java.lang.Void> callback) throws
java.io.IOException;
}
-}
+}
\ No newline at end of file
diff --git
a/lang/java/tools/src/test/compiler/output/AddExtraOptionalGettersTest.java
b/lang/java/tools/src/test/compiler/output/AddExtraOptionalGettersTest.java
index 3a545db..d9fe084 100644
--- a/lang/java/tools/src/test/compiler/output/AddExtraOptionalGettersTest.java
+++ b/lang/java/tools/src/test/compiler/output/AddExtraOptionalGettersTest.java
@@ -207,7 +207,7 @@ public class AddExtraOptionalGettersTest extends
org.apache.avro.specific.Specif
/** Creates a new Builder */
private Builder() {
- super(SCHEMA$);
+ super(SCHEMA$, MODEL$);
}
/**
@@ -231,7 +231,7 @@ public class AddExtraOptionalGettersTest extends
org.apache.avro.specific.Specif
* @param other The existing instance to copy.
*/
private Builder(avro.examples.baseball.AddExtraOptionalGettersTest other) {
- super(SCHEMA$);
+ super(SCHEMA$, MODEL$);
if (isValidValue(fields()[0], other.name)) {
this.name = data().deepCopy(fields()[0].schema(), other.name);
fieldSetFlags()[0] = true;
diff --git a/lang/java/tools/src/test/compiler/output/NoSettersTest.java
b/lang/java/tools/src/test/compiler/output/NoSettersTest.java
index 266096a..12d1de5 100644
--- a/lang/java/tools/src/test/compiler/output/NoSettersTest.java
+++ b/lang/java/tools/src/test/compiler/output/NoSettersTest.java
@@ -179,7 +179,7 @@ public class NoSettersTest extends
org.apache.avro.specific.SpecificRecordBase i
/** Creates a new Builder */
private Builder() {
- super(SCHEMA$);
+ super(SCHEMA$, MODEL$);
}
/**
@@ -203,7 +203,7 @@ public class NoSettersTest extends
org.apache.avro.specific.SpecificRecordBase i
* @param other The existing instance to copy.
*/
private Builder(avro.examples.baseball.NoSettersTest other) {
- super(SCHEMA$);
+ super(SCHEMA$, MODEL$);
if (isValidValue(fields()[0], other.name)) {
this.name = data().deepCopy(fields()[0].schema(), other.name);
fieldSetFlags()[0] = true;
diff --git
a/lang/java/tools/src/test/compiler/output/OptionalGettersAllFieldsTest.java
b/lang/java/tools/src/test/compiler/output/OptionalGettersAllFieldsTest.java
index 5570d8d..6abbfe4 100644
--- a/lang/java/tools/src/test/compiler/output/OptionalGettersAllFieldsTest.java
+++ b/lang/java/tools/src/test/compiler/output/OptionalGettersAllFieldsTest.java
@@ -239,7 +239,7 @@ public class OptionalGettersAllFieldsTest extends
org.apache.avro.specific.Speci
/** Creates a new Builder */
private Builder() {
- super(SCHEMA$);
+ super(SCHEMA$, MODEL$);
}
/**
@@ -271,7 +271,7 @@ public class OptionalGettersAllFieldsTest extends
org.apache.avro.specific.Speci
* @param other The existing instance to copy.
*/
private Builder(avro.examples.baseball.OptionalGettersAllFieldsTest other)
{
- super(SCHEMA$);
+ super(SCHEMA$, MODEL$);
if (isValidValue(fields()[0], other.name)) {
this.name = data().deepCopy(fields()[0].schema(), other.name);
fieldSetFlags()[0] = true;
diff --git
a/lang/java/tools/src/test/compiler/output/OptionalGettersNullableFieldsTest.java
b/lang/java/tools/src/test/compiler/output/OptionalGettersNullableFieldsTest.java
index 6a733a2..bc9b756 100644
---
a/lang/java/tools/src/test/compiler/output/OptionalGettersNullableFieldsTest.java
+++
b/lang/java/tools/src/test/compiler/output/OptionalGettersNullableFieldsTest.java
@@ -239,7 +239,7 @@ public class OptionalGettersNullableFieldsTest extends
org.apache.avro.specific.
/** Creates a new Builder */
private Builder() {
- super(SCHEMA$);
+ super(SCHEMA$, MODEL$);
}
/**
@@ -271,7 +271,7 @@ public class OptionalGettersNullableFieldsTest extends
org.apache.avro.specific.
* @param other The existing instance to copy.
*/
private Builder(avro.examples.baseball.OptionalGettersNullableFieldsTest
other) {
- super(SCHEMA$);
+ super(SCHEMA$, MODEL$);
if (isValidValue(fields()[0], other.name)) {
this.name = data().deepCopy(fields()[0].schema(), other.name);
fieldSetFlags()[0] = true;
diff --git a/lang/java/tools/src/test/compiler/output/Player.java
b/lang/java/tools/src/test/compiler/output/Player.java
index 61cc22f..731ced7 100644
--- a/lang/java/tools/src/test/compiler/output/Player.java
+++ b/lang/java/tools/src/test/compiler/output/Player.java
@@ -242,7 +242,7 @@ public class Player extends
org.apache.avro.specific.SpecificRecordBase implemen
/** Creates a new Builder */
private Builder() {
- super(SCHEMA$);
+ super(SCHEMA$, MODEL$);
}
/**
@@ -274,7 +274,7 @@ public class Player extends
org.apache.avro.specific.SpecificRecordBase implemen
* @param other The existing instance to copy.
*/
private Builder(avro.examples.baseball.Player other) {
- super(SCHEMA$);
+ super(SCHEMA$, MODEL$);
if (isValidValue(fields()[0], other.number)) {
this.number = data().deepCopy(fields()[0].schema(), other.number);
fieldSetFlags()[0] = true;