Skip to content

Commit bccd7ed

Browse files
committed
[AVRO] Make RecordVisitor _avroSchema and _fields properties final.
1 parent e57dadb commit bccd7ed

File tree

1 file changed

+7
-8
lines changed

1 file changed

+7
-8
lines changed

avro/src/main/java/com/fasterxml/jackson/dataformat/avro/schema/RecordVisitor.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -62,11 +62,9 @@ public class RecordVisitor
6262
*/
6363
private final Schema _typeSchema;
6464

65-
// !!! 19-May-2025: TODO: make final in 2.20
66-
protected Schema _avroSchema;
65+
protected final Schema _avroSchema;
6766

68-
// !!! 19-May-2025: TODO: make final in 2.20
69-
protected List<Schema.Field> _fields = new ArrayList<>();
67+
protected final List<Schema.Field> _fields = new ArrayList<>();
7068

7169
public RecordVisitor(SerializerProvider p, JavaType type, VisitorFormatWrapperImpl visitorWrapper)
7270
{
@@ -82,12 +80,11 @@ public RecordVisitor(SerializerProvider p, JavaType type, VisitorFormatWrapperIm
8280
_typeSchema = null;
8381
} else {
8482
// If Avro schema for this _type results in UNION I want to know Avro type where to assign fields
85-
_avroSchema = AvroSchemaHelper.initializeRecordSchema(bean);
86-
_typeSchema = _avroSchema;
83+
_typeSchema = AvroSchemaHelper.initializeRecordSchema(bean);
8784
_overridden = false;
8885
AvroMeta meta = bean.getClassInfo().getAnnotation(AvroMeta.class);
8986
if (meta != null) {
90-
_avroSchema.addProp(meta.key(), meta.value());
87+
_typeSchema.addProp(meta.key(), meta.value());
9188
}
9289

9390
List<NamedType> subTypes = getProvider().getAnnotationIntrospector().findSubtypes(bean.getClassInfo());
@@ -126,10 +123,12 @@ public RecordVisitor(SerializerProvider p, JavaType type, VisitorFormatWrapperIm
126123
unionSchemas.add(subTypeSchema);
127124
}
128125
}
129-
_avroSchema = Schema.createUnion(new ArrayList<>(unionSchemas));
130126
} catch (JsonMappingException jme) {
131127
throw new RuntimeJsonMappingException("Failed to build schema", jme);
132128
}
129+
_avroSchema = Schema.createUnion(new ArrayList<>(unionSchemas));
130+
} else {
131+
_avroSchema = _typeSchema;
133132
}
134133
}
135134
_visitorWrapper.getSchemas().addSchema(type, _avroSchema);

0 commit comments

Comments
 (0)