diff --git a/jackson3/src/main/java/org/projectnessie/cel/types/jackson3/Jackson3Registry.java b/jackson3/src/main/java/org/projectnessie/cel/types/jackson3/Jackson3Registry.java index 8b4084af..3bfd131c 100644 --- a/jackson3/src/main/java/org/projectnessie/cel/types/jackson3/Jackson3Registry.java +++ b/jackson3/src/main/java/org/projectnessie/cel/types/jackson3/Jackson3Registry.java @@ -31,7 +31,6 @@ import tools.jackson.databind.cfg.SerializationContexts; import tools.jackson.databind.json.JsonMapper; import tools.jackson.databind.ser.SerializationContextExt; -import tools.jackson.databind.ser.jdk.EnumSerializer; import tools.jackson.databind.type.TypeFactory; /** @@ -173,10 +172,9 @@ JacksonEnumDescription enumDescription(Class clazz) { } private JacksonEnumDescription computeEnumDescription(Class clazz) { - ValueSerializer ser = serializationContextExt.findValueSerializer(clazz); JavaType javaType = typeFactory.constructType(clazz); - JacksonEnumDescription enumDesc = new JacksonEnumDescription(javaType, (EnumSerializer) ser); + JacksonEnumDescription enumDesc = new JacksonEnumDescription(javaType); enumMap.put(clazz, enumDesc); enumDesc.buildValues().forEach(v -> enumValues.put(v.fullyQualifiedName(), v)); diff --git a/jackson3/src/main/java/org/projectnessie/cel/types/jackson3/JacksonEnumDescription.java b/jackson3/src/main/java/org/projectnessie/cel/types/jackson3/JacksonEnumDescription.java index de94164e..a90f83ac 100644 --- a/jackson3/src/main/java/org/projectnessie/cel/types/jackson3/JacksonEnumDescription.java +++ b/jackson3/src/main/java/org/projectnessie/cel/types/jackson3/JacksonEnumDescription.java @@ -15,11 +15,12 @@ */ package org.projectnessie.cel.types.jackson3; +import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; import java.util.stream.Stream; import org.projectnessie.cel.common.types.pb.Checked; import tools.jackson.databind.JavaType; -import tools.jackson.databind.ser.jdk.EnumSerializer; final class JacksonEnumDescription { @@ -27,9 +28,12 @@ final class JacksonEnumDescription { private final com.google.api.expr.v1alpha1.Type pbType; private final List> enumValues; - JacksonEnumDescription(JavaType javaType, EnumSerializer ser) { + JacksonEnumDescription(JavaType javaType) { this.name = javaType.getRawClass().getName().replace('$', '.'); - this.enumValues = ser.getEnumValues().enums(); + this.enumValues = + Arrays.stream(javaType.getRawClass().getEnumConstants()) + .map(enumValue -> (Enum) enumValue) + .collect(Collectors.toList()); this.pbType = Checked.checkedInt; }