From 615115dad8fb260bea6ea3436c1d239777b42df1 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Fri, 24 Apr 2026 11:19:28 +0200 Subject: refactor: JacksonConfig for deprecated MappingJackson2HttpMessageConverter (#285) --- .../config/ConsentResourceDeserializer.kt | 19 ----------- .../processor/config/ConsentResourceSerializer.kt | 17 ---------- .../etl/processor/config/FhirResourceModule.kt | 11 ------ .../dev/dnpm/etl/processor/config/JacksonConfig.kt | 39 ++++++++++++++++++++-- 4 files changed, 36 insertions(+), 50 deletions(-) delete mode 100644 src/main/kotlin/dev/dnpm/etl/processor/config/ConsentResourceDeserializer.kt delete mode 100644 src/main/kotlin/dev/dnpm/etl/processor/config/ConsentResourceSerializer.kt delete mode 100644 src/main/kotlin/dev/dnpm/etl/processor/config/FhirResourceModule.kt (limited to 'src/main/kotlin/dev') diff --git a/src/main/kotlin/dev/dnpm/etl/processor/config/ConsentResourceDeserializer.kt b/src/main/kotlin/dev/dnpm/etl/processor/config/ConsentResourceDeserializer.kt deleted file mode 100644 index 48163a1..0000000 --- a/src/main/kotlin/dev/dnpm/etl/processor/config/ConsentResourceDeserializer.kt +++ /dev/null @@ -1,19 +0,0 @@ -package dev.dnpm.etl.processor.config - -import com.fasterxml.jackson.core.JsonParser -import com.fasterxml.jackson.databind.DeserializationContext -import com.fasterxml.jackson.databind.JsonDeserializer -import com.fasterxml.jackson.databind.JsonNode -import org.hl7.fhir.r4.model.Consent - -class ConsentResourceDeserializer : JsonDeserializer() { - override fun deserialize( - p: JsonParser?, - ctxt: DeserializationContext?, - ): Consent { - val jsonNode = p?.readValueAsTree() - val json = jsonNode?.toString() - - return JacksonConfig.fhirContext().newJsonParser().parseResource(json) as Consent - } -} diff --git a/src/main/kotlin/dev/dnpm/etl/processor/config/ConsentResourceSerializer.kt b/src/main/kotlin/dev/dnpm/etl/processor/config/ConsentResourceSerializer.kt deleted file mode 100644 index b4f29a4..0000000 --- a/src/main/kotlin/dev/dnpm/etl/processor/config/ConsentResourceSerializer.kt +++ /dev/null @@ -1,17 +0,0 @@ -package dev.dnpm.etl.processor.config - -import com.fasterxml.jackson.core.JsonGenerator -import com.fasterxml.jackson.databind.JsonSerializer -import com.fasterxml.jackson.databind.SerializerProvider -import org.hl7.fhir.r4.model.Consent - -class ConsentResourceSerializer : JsonSerializer() { - override fun serialize( - value: Consent, - gen: JsonGenerator, - serializers: SerializerProvider, - ) { - val json = JacksonConfig.fhirContext().newJsonParser().encodeResourceToString(value) - gen.writeRawValue(json) - } -} diff --git a/src/main/kotlin/dev/dnpm/etl/processor/config/FhirResourceModule.kt b/src/main/kotlin/dev/dnpm/etl/processor/config/FhirResourceModule.kt deleted file mode 100644 index 45a3d93..0000000 --- a/src/main/kotlin/dev/dnpm/etl/processor/config/FhirResourceModule.kt +++ /dev/null @@ -1,11 +0,0 @@ -package dev.dnpm.etl.processor.config - -import com.fasterxml.jackson.databind.module.SimpleModule -import org.hl7.fhir.r4.model.Consent - -class FhirResourceModule : SimpleModule() { - init { - addSerializer(Consent::class.java, ConsentResourceSerializer()) - addDeserializer(Consent::class.java, ConsentResourceDeserializer()) - } -} diff --git a/src/main/kotlin/dev/dnpm/etl/processor/config/JacksonConfig.kt b/src/main/kotlin/dev/dnpm/etl/processor/config/JacksonConfig.kt index 2480de8..847880d 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/config/JacksonConfig.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/config/JacksonConfig.kt @@ -2,10 +2,13 @@ package dev.dnpm.etl.processor.config import ca.uhn.fhir.context.FhirContext import com.fasterxml.jackson.annotation.JsonInclude -import com.fasterxml.jackson.databind.ObjectMapper -import com.fasterxml.jackson.databind.SerializationFeature +import com.fasterxml.jackson.core.JsonGenerator +import com.fasterxml.jackson.core.JsonParser +import com.fasterxml.jackson.databind.* +import com.fasterxml.jackson.databind.module.SimpleModule import com.fasterxml.jackson.datatype.jdk8.Jdk8Module import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule +import org.hl7.fhir.r4.model.Consent import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration @@ -20,9 +23,39 @@ class JacksonConfig { @Bean fun objectMapper(): ObjectMapper = ObjectMapper() - .registerModule(FhirResourceModule()) + .registerModule(Jackson2FhirResourceModule()) .disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS) .registerModule(JavaTimeModule()) .registerModule(Jdk8Module()) .setSerializationInclusion(JsonInclude.Include.NON_NULL) } + +class Jackson2FhirResourceModule : SimpleModule() { + init { + addSerializer(Consent::class.java, Jackson2ConsentResourceSerializer()) + addDeserializer(Consent::class.java, Jackson2ConsentResourceDeserializer()) + } +} + +class Jackson2ConsentResourceSerializer : JsonSerializer() { + override fun serialize( + value: Consent, + gen: JsonGenerator, + serializers: SerializerProvider, + ) { + val json = JacksonConfig.fhirContext().newJsonParser().encodeResourceToString(value) + gen.writeRawValue(json) + } +} + +class Jackson2ConsentResourceDeserializer : JsonDeserializer() { + override fun deserialize( + p: JsonParser?, + ctxt: DeserializationContext?, + ): Consent { + val jsonNode = p?.readValueAsTree() + val json = jsonNode?.toString() + + return JacksonConfig.fhirContext().newJsonParser().parseResource(json) as Consent + } +} -- cgit v1.2.3