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