From 807bbee00c795ab1613a6257da35385b6a64b127 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Fri, 27 May 2022 18:11:57 +0200 Subject: [PATCH] [jOOQ/jOOQ#13605] Re-add explicit java.time and kotlin modules Let's not create a potential security issue by loading all possible modules from the classpath, but load only the ones we know (so far) have been useful in the DefaultConverterProvider --- jOOQ-jackson-extensions/pom.xml | 8 ++++++++ jOOQ-jackson-extensions/src/main/java/module-info.java | 2 ++ .../extensions/converters/AbstractToJacksonConverter.java | 6 ++++-- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/jOOQ-jackson-extensions/pom.xml b/jOOQ-jackson-extensions/pom.xml index 85d4d58e80..05c181f679 100644 --- a/jOOQ-jackson-extensions/pom.xml +++ b/jOOQ-jackson-extensions/pom.xml @@ -46,6 +46,14 @@ com.fasterxml.jackson.core jackson-databind + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + + + com.fasterxml.jackson.module + jackson-module-kotlin + diff --git a/jOOQ-jackson-extensions/src/main/java/module-info.java b/jOOQ-jackson-extensions/src/main/java/module-info.java index bacc0a2637..7ecc051160 100644 --- a/jOOQ-jackson-extensions/src/main/java/module-info.java +++ b/jOOQ-jackson-extensions/src/main/java/module-info.java @@ -6,6 +6,8 @@ module org.jooq.jackson.extensions { // Other jOOQ modules requires transitive org.jooq; requires com.fasterxml.jackson.databind; + requires com.fasterxml.jackson.datatype.jsr310; + requires com.fasterxml.jackson.kotlin; // Nullability annotations for better Kotlin interop requires static org.jetbrains.annotations; diff --git a/jOOQ-jackson-extensions/src/main/java/org/jooq/jackson/extensions/converters/AbstractToJacksonConverter.java b/jOOQ-jackson-extensions/src/main/java/org/jooq/jackson/extensions/converters/AbstractToJacksonConverter.java index 8d7a84ca37..a55f33efbf 100644 --- a/jOOQ-jackson-extensions/src/main/java/org/jooq/jackson/extensions/converters/AbstractToJacksonConverter.java +++ b/jOOQ-jackson-extensions/src/main/java/org/jooq/jackson/extensions/converters/AbstractToJacksonConverter.java @@ -45,6 +45,8 @@ import org.jooq.impl.AbstractConverter; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.json.JsonMapper; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +import com.fasterxml.jackson.module.kotlin.KotlinModule; /** * A base class for {@link JSON} or {@link JSONB} to Jackson POJO conversion. @@ -60,12 +62,12 @@ abstract class AbstractToJacksonConverter extends AbstractConverter mapper = JsonMapper .builder() - .findAndAddModules() + .addModule(new JavaTimeModule()) + .addModule(new KotlinModule()) .build(); } abstract String data(J json); - abstract J json(String string); @Override