Skip to content

Commit 9790707

Browse files
committed
Remove use of static AnnotationIntrospector
1 parent d8c4fea commit 9790707

File tree

2 files changed

+6
-11
lines changed

2 files changed

+6
-11
lines changed

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

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import com.fasterxml.jackson.core.JsonParser;
1818
import com.fasterxml.jackson.core.JsonProcessingException;
1919
import com.fasterxml.jackson.databind.*;
20+
import com.fasterxml.jackson.databind.cfg.MapperConfig;
2021
import com.fasterxml.jackson.databind.introspect.AnnotatedClass;
2122
import com.fasterxml.jackson.databind.introspect.AnnotatedConstructor;
2223
import com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector;
@@ -72,14 +73,6 @@ public abstract class AvroSchemaHelper
7273
String.class
7374
));
7475

75-
/**
76-
*
77-
* Jackson annotation introspector for verifying enum default annotation for Avro Schema generation
78-
*
79-
* @since 2.16
80-
*/
81-
private static final JacksonAnnotationIntrospector JACKSON_ANNOTATION_INTROSPECTOR = new JacksonAnnotationIntrospector();
82-
8376
/**
8477
* Checks if a given type is "Stringable", that is one of the default
8578
* {@code STRINGABLE_CLASSES}, is an {@code Enum},
@@ -276,9 +269,10 @@ public static Schema parseJsonSchema(String json) {
276269
* @param values List of enum names
277270
* @return An {@link org.apache.avro.Schema.Type#ENUM ENUM} schema.
278271
*/
279-
public static Schema createEnumSchema(BeanDescription bean, List<String> values) {
272+
public static Schema createEnumSchema(BeanDescription bean, List<String> values,
273+
AnnotationIntrospector intr) {
280274
final JavaType enumType = bean.getType();
281-
Enum<?> defaultEnumValue = JACKSON_ANNOTATION_INTROSPECTOR.findDefaultEnumValue((Class<Enum<?>>)(Class<?>) enumType.getRawClass());
275+
Enum<?> defaultEnumValue = intr.findDefaultEnumValue((Class<Enum<?>>)(Class<?>) enumType.getRawClass());
282276
return addAlias(Schema.createEnum(
283277
getName(enumType),
284278
bean.findClassDescription(),

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,8 @@ public Schema builtAvroSchema() {
5151
}
5252
BeanDescription bean = _provider.getConfig().introspectClassAnnotations(_type);
5353
if (_enums != null) {
54-
Schema s = AvroSchemaHelper.createEnumSchema(bean, new ArrayList<>(_enums));
54+
Schema s = AvroSchemaHelper.createEnumSchema(bean, new ArrayList<>(_enums),
55+
_provider.getAnnotationIntrospector());
5556
_schemas.addSchema(_type, s);
5657
return s;
5758
}

0 commit comments

Comments
 (0)