diff --git a/README.md b/README.md index d466e37ac..8088051bd 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,9 @@ It currently consists of # Release Notes BOAT is still under development and subject to change. +## 0.18.1 +* Use Jackson3 imports in `BigDecimalCustomSerializer.class` when using `useJackson3` set to `true` + ## 0.18.0 * openapi-generator `7.20.0` baseline (Spring Boot 4, Jackson 3) * moved Java and JavaSpring templates to `7.20.0` adding remaing custom features diff --git a/boat-engine/pom.xml b/boat-engine/pom.xml index 776bed88a..89746680a 100644 --- a/boat-engine/pom.xml +++ b/boat-engine/pom.xml @@ -5,7 +5,7 @@ com.backbase.oss backbase-openapi-tools - 0.18.0-SNAPSHOT + 0.18.1-SNAPSHOT boat-engine jar diff --git a/boat-maven-plugin/pom.xml b/boat-maven-plugin/pom.xml index 3c8e8aae0..00069a4aa 100644 --- a/boat-maven-plugin/pom.xml +++ b/boat-maven-plugin/pom.xml @@ -5,7 +5,7 @@ com.backbase.oss backbase-openapi-tools - 0.18.0-SNAPSHOT + 0.18.1-SNAPSHOT boat-maven-plugin diff --git a/boat-quay/boat-quay-lint/pom.xml b/boat-quay/boat-quay-lint/pom.xml index 14df40cd7..db9b4ebf6 100644 --- a/boat-quay/boat-quay-lint/pom.xml +++ b/boat-quay/boat-quay-lint/pom.xml @@ -5,7 +5,7 @@ com.backbase.oss boat-quay - 0.18.0-SNAPSHOT + 0.18.1-SNAPSHOT boat-quay-lint diff --git a/boat-quay/boat-quay-rules/pom.xml b/boat-quay/boat-quay-rules/pom.xml index 0f48c13c5..609a524fd 100644 --- a/boat-quay/boat-quay-rules/pom.xml +++ b/boat-quay/boat-quay-rules/pom.xml @@ -5,7 +5,7 @@ com.backbase.oss boat-quay - 0.18.0-SNAPSHOT + 0.18.1-SNAPSHOT boat-quay-rules diff --git a/boat-quay/pom.xml b/boat-quay/pom.xml index 7a2d7f695..277df7c25 100644 --- a/boat-quay/pom.xml +++ b/boat-quay/pom.xml @@ -5,7 +5,7 @@ com.backbase.oss backbase-openapi-tools - 0.18.0-SNAPSHOT + 0.18.1-SNAPSHOT diff --git a/boat-scaffold/pom.xml b/boat-scaffold/pom.xml index 479e70c16..6186671b7 100644 --- a/boat-scaffold/pom.xml +++ b/boat-scaffold/pom.xml @@ -5,7 +5,7 @@ com.backbase.oss backbase-openapi-tools - 0.18.0-SNAPSHOT + 0.18.1-SNAPSHOT boat-scaffold @@ -102,7 +102,7 @@ com.backbase.oss boat-trail-resources - 0.18.0-SNAPSHOT + 0.18.1-SNAPSHOT test diff --git a/boat-scaffold/src/main/java/com/backbase/oss/codegen/java/BoatSpringCodeGen.java b/boat-scaffold/src/main/java/com/backbase/oss/codegen/java/BoatSpringCodeGen.java index 633651516..9fa741474 100644 --- a/boat-scaffold/src/main/java/com/backbase/oss/codegen/java/BoatSpringCodeGen.java +++ b/boat-scaffold/src/main/java/com/backbase/oss/codegen/java/BoatSpringCodeGen.java @@ -50,6 +50,7 @@ public class BoatSpringCodeGen extends SpringCodegen { public static final String ADD_BINDING_RESULT = "addBindingResult"; private static final String VENDOR_EXTENSION_NOT_NULL = "x-not-null"; + private static final String JSON_SERIALIZE = "JsonSerialize"; static class NewLineIndent implements Mustache.Lambda { @@ -206,8 +207,8 @@ public CodegenProperty fromProperty(String name, Schema p, boolean required, boo } /** - * "overridden" to fix invalid code when the data type is a collection of a fully qualified classname. - * eg. Set<@Valid com.backbase.dbs.arrangement.commons.model.TranslationItemDto> + * "overridden" to fix invalid code when the data type is a collection of a fully qualified classname. eg. Set<@Valid + * com.backbase.dbs.arrangement.commons.model.TranslationItemDto> * * @param itemsProperty * @param dataType @@ -314,7 +315,12 @@ public void processOpts() { serializerTemplate + ".java" )); this.importMapping.put(serializerTemplate, modelPackage + "." + serializerTemplate); - this.importMapping.put("JsonSerialize", "com.fasterxml.jackson.databind.annotation.JsonSerialize"); + + if (this.additionalProperties.containsKey(USE_JACKSON_3)) { + this.importMapping.put(JSON_SERIALIZE, "tools.jackson.databind.annotation.JsonSerialize"); + } else { + this.importMapping.put(JSON_SERIALIZE, "com.fasterxml.jackson.databind.annotation.JsonSerialize"); + } if (this.additionalProperties.containsKey(ADD_SERVLET_REQUEST)) { this.addServletRequest = convertPropertyToBoolean(ADD_SERVLET_REQUEST); @@ -386,7 +392,7 @@ public void postProcessModelProperty(CodegenModel model, CodegenProperty propert if (shouldSerializeBigDecimalAsString(property)) { property.vendorExtensions.put("x-extra-annotation", "@JsonSerialize(using = BigDecimalCustomSerializer.class)"); model.imports.add("BigDecimalCustomSerializer"); - model.imports.add("JsonSerialize"); + model.imports.add(JSON_SERIALIZE); } } diff --git a/boat-scaffold/src/main/templates/boat-spring/BigDecimalCustomSerializer.mustache b/boat-scaffold/src/main/templates/boat-spring/BigDecimalCustomSerializer.mustache index a6dc40f30..33ec788b4 100644 --- a/boat-scaffold/src/main/templates/boat-spring/BigDecimalCustomSerializer.mustache +++ b/boat-scaffold/src/main/templates/boat-spring/BigDecimalCustomSerializer.mustache @@ -1,6 +1,11 @@ package {{modelPackage}}; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializerBase; +{{#useJackson3}} + import tools.jackson.databind.ser.std.ToStringSerializerBase; +{{/useJackson3}} +{{^useJackson3}} + import com.fasterxml.jackson.databind.ser.std.ToStringSerializerBase; +{{/useJackson3}} import java.math.BigDecimal; public class BigDecimalCustomSerializer extends ToStringSerializerBase { diff --git a/boat-trail-resources/pom.xml b/boat-trail-resources/pom.xml index b3e0c7f8f..082a6947e 100644 --- a/boat-trail-resources/pom.xml +++ b/boat-trail-resources/pom.xml @@ -5,7 +5,7 @@ com.backbase.oss backbase-openapi-tools - 0.18.0-SNAPSHOT + 0.18.1-SNAPSHOT boat-trail-resources diff --git a/pom.xml b/pom.xml index bce873435..b140018c7 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ com.backbase.oss backbase-openapi-tools - 0.18.0-SNAPSHOT + 0.18.1-SNAPSHOT pom Backbase Open Api Tools is a collection of tools to work with Open API diff --git a/tests/pom.xml b/tests/pom.xml index 90eee5d9c..116bc34b9 100644 --- a/tests/pom.xml +++ b/tests/pom.xml @@ -5,7 +5,7 @@ com.backbase.oss backbase-openapi-tools - 0.18.0-SNAPSHOT + 0.18.1-SNAPSHOT tests