Skip to content

Commit fb065ce

Browse files
authored
fix: Fix jackson3 imports in BigDecimalCustomSerializer (#1240)
* chore: Using Jackons3 with BigDecimalCustomSerializer.
1 parent 0ef46a4 commit fb065ce

12 files changed

Lines changed: 29 additions & 15 deletions

File tree

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ It currently consists of
1616
# Release Notes
1717
BOAT is still under development and subject to change.
1818

19+
## 0.18.1
20+
* Use Jackson3 imports in `BigDecimalCustomSerializer.class` when using `useJackson3` set to `true`
21+
1922
## 0.18.0
2023
* openapi-generator `7.20.0` baseline (Spring Boot 4, Jackson 3)
2124
* moved Java and JavaSpring templates to `7.20.0` adding remaing custom features

boat-engine/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>com.backbase.oss</groupId>
77
<artifactId>backbase-openapi-tools</artifactId>
8-
<version>0.18.0-SNAPSHOT</version>
8+
<version>0.18.1-SNAPSHOT</version>
99
</parent>
1010
<artifactId>boat-engine</artifactId>
1111
<packaging>jar</packaging>

boat-maven-plugin/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>com.backbase.oss</groupId>
77
<artifactId>backbase-openapi-tools</artifactId>
8-
<version>0.18.0-SNAPSHOT</version>
8+
<version>0.18.1-SNAPSHOT</version>
99
</parent>
1010
<artifactId>boat-maven-plugin</artifactId>
1111

boat-quay/boat-quay-lint/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>com.backbase.oss</groupId>
77
<artifactId>boat-quay</artifactId>
8-
<version>0.18.0-SNAPSHOT</version>
8+
<version>0.18.1-SNAPSHOT</version>
99
</parent>
1010

1111
<artifactId>boat-quay-lint</artifactId>

boat-quay/boat-quay-rules/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>com.backbase.oss</groupId>
77
<artifactId>boat-quay</artifactId>
8-
<version>0.18.0-SNAPSHOT</version>
8+
<version>0.18.1-SNAPSHOT</version>
99
</parent>
1010

1111
<artifactId>boat-quay-rules</artifactId>

boat-quay/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>com.backbase.oss</groupId>
77
<artifactId>backbase-openapi-tools</artifactId>
8-
<version>0.18.0-SNAPSHOT</version>
8+
<version>0.18.1-SNAPSHOT</version>
99
</parent>
1010

1111

boat-scaffold/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>com.backbase.oss</groupId>
77
<artifactId>backbase-openapi-tools</artifactId>
8-
<version>0.18.0-SNAPSHOT</version>
8+
<version>0.18.1-SNAPSHOT</version>
99
</parent>
1010

1111
<artifactId>boat-scaffold</artifactId>
@@ -102,7 +102,7 @@
102102
<dependency>
103103
<groupId>com.backbase.oss</groupId>
104104
<artifactId>boat-trail-resources</artifactId>
105-
<version>0.18.0-SNAPSHOT</version>
105+
<version>0.18.1-SNAPSHOT</version>
106106
<scope>test</scope>
107107
</dependency>
108108
<dependency>

boat-scaffold/src/main/java/com/backbase/oss/codegen/java/BoatSpringCodeGen.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ public class BoatSpringCodeGen extends SpringCodegen {
5050
public static final String ADD_BINDING_RESULT = "addBindingResult";
5151

5252
private static final String VENDOR_EXTENSION_NOT_NULL = "x-not-null";
53+
private static final String JSON_SERIALIZE = "JsonSerialize";
5354

5455
static class NewLineIndent implements Mustache.Lambda {
5556

@@ -206,8 +207,8 @@ public CodegenProperty fromProperty(String name, Schema p, boolean required, boo
206207
}
207208

208209
/**
209-
* "overridden" to fix invalid code when the data type is a collection of a fully qualified classname.
210-
* eg. <code>Set<@Valid com.backbase.dbs.arrangement.commons.model.TranslationItemDto></code>
210+
* "overridden" to fix invalid code when the data type is a collection of a fully qualified classname. eg. <code>Set<@Valid
211+
* com.backbase.dbs.arrangement.commons.model.TranslationItemDto></code>
211212
*
212213
* @param itemsProperty
213214
* @param dataType
@@ -314,7 +315,12 @@ public void processOpts() {
314315
serializerTemplate + ".java"
315316
));
316317
this.importMapping.put(serializerTemplate, modelPackage + "." + serializerTemplate);
317-
this.importMapping.put("JsonSerialize", "com.fasterxml.jackson.databind.annotation.JsonSerialize");
318+
319+
if (this.additionalProperties.containsKey(USE_JACKSON_3)) {
320+
this.importMapping.put(JSON_SERIALIZE, "tools.jackson.databind.annotation.JsonSerialize");
321+
} else {
322+
this.importMapping.put(JSON_SERIALIZE, "com.fasterxml.jackson.databind.annotation.JsonSerialize");
323+
}
318324

319325
if (this.additionalProperties.containsKey(ADD_SERVLET_REQUEST)) {
320326
this.addServletRequest = convertPropertyToBoolean(ADD_SERVLET_REQUEST);
@@ -386,7 +392,7 @@ public void postProcessModelProperty(CodegenModel model, CodegenProperty propert
386392
if (shouldSerializeBigDecimalAsString(property)) {
387393
property.vendorExtensions.put("x-extra-annotation", "@JsonSerialize(using = BigDecimalCustomSerializer.class)");
388394
model.imports.add("BigDecimalCustomSerializer");
389-
model.imports.add("JsonSerialize");
395+
model.imports.add(JSON_SERIALIZE);
390396
}
391397
}
392398

boat-scaffold/src/main/templates/boat-spring/BigDecimalCustomSerializer.mustache

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
package {{modelPackage}};
22

3-
import com.fasterxml.jackson.databind.ser.std.ToStringSerializerBase;
3+
{{#useJackson3}}
4+
import tools.jackson.databind.ser.std.ToStringSerializerBase;
5+
{{/useJackson3}}
6+
{{^useJackson3}}
7+
import com.fasterxml.jackson.databind.ser.std.ToStringSerializerBase;
8+
{{/useJackson3}}
49
import java.math.BigDecimal;
510

611
public class BigDecimalCustomSerializer extends ToStringSerializerBase {

boat-trail-resources/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>com.backbase.oss</groupId>
77
<artifactId>backbase-openapi-tools</artifactId>
8-
<version>0.18.0-SNAPSHOT</version>
8+
<version>0.18.1-SNAPSHOT</version>
99
</parent>
1010

1111
<artifactId>boat-trail-resources</artifactId>

0 commit comments

Comments
 (0)