Skip to content

Commit bbe1324

Browse files
committed
refs #1308 - fix jakarta spring generator
1 parent 00d6c5c commit bbe1324

File tree

8 files changed

+58
-5
lines changed

8 files changed

+58
-5
lines changed

src/main/java/io/swagger/codegen/v3/generators/java/SpringCodegen.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,8 @@ public void processOpts() {
233233

234234
if (isSpringBoot3Library()) {
235235
setDateLibrary("java8");
236+
setJakarta(true);
237+
additionalProperties.put(JAKARTA, jakarta);
236238
}
237239

238240
super.processOpts();

src/main/resources/handlebars/JavaSpring/NotUndefined.mustache

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
11
package {{configPackage}};
22

3+
{{#jakarta}}
4+
import jakarta.validation.Constraint;
5+
import jakarta.validation.Payload;
6+
{{/jakarta}}
7+
{{^jakarta}}
38
import javax.validation.Constraint;
49
import javax.validation.Payload;
10+
{{/jakarta}}
511
import java.lang.annotation.*;
612

713
@Target({ElementType.TYPE})

src/main/resources/handlebars/JavaSpring/NotUndefinedValidator.mustache

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
package {{configPackage}};
22

33
import org.openapitools.jackson.nullable.JsonNullable;
4+
{{#jakarta}}
5+
import jakarta.validation.ConstraintValidator;
6+
import jakarta.validation.ConstraintValidatorContext;
7+
{{/jakarta}}
8+
{{^jakarta}}
49
import javax.validation.ConstraintValidator;
510
import javax.validation.ConstraintValidatorContext;
11+
{{/jakarta}}
612
import java.lang.reflect.Field;
713

814
public class NotUndefinedValidator implements ConstraintValidator<NotUndefined, Object>{

src/main/resources/handlebars/JavaSpring/customInstantDeserializer.mustache

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,13 @@ public class CustomInstantDeserializer<T extends Temporal>
200200
return value;
201201
}
202202
}
203+
{{#jakarta}}
204+
context.reportInputMismatch(handledType(), "Expected type float, integer, or string.");
205+
return null;
206+
{{/jakarta}}
207+
{{^jakarta}}
203208
throw context.mappingException("Expected type float, integer, or string.");
209+
{{/jakarta}}
204210
}
205211

206212
private ZoneId getZone(DeserializationContext context) {

src/main/resources/handlebars/JavaSpring/libraries/spring-boot/pom.mustache

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,14 @@
66
<name>{{artifactId}}</name>
77
<version>{{artifactVersion}}</version>
88
<properties>
9+
{{#jakarta}}
10+
<maven.compiler.release>17</maven.compiler.release>
11+
{{/jakarta}}
12+
{{^jakarta}}
913
<java.version>{{#java11}}11{{/java11}}{{^java11}}{{#java8}}1.8{{/java8}}{{^java8}}1.7{{/java8}}{{/java11}}</java.version>
1014
<maven.compiler.source>${java.version}</maven.compiler.source>
1115
<maven.compiler.target>${java.version}</maven.compiler.target>
16+
{{/jakarta}}
1217
{{#useOas2}}
1318
<springfox-version>2.9.2</springfox-version>
1419
{{/useOas2}}
@@ -19,7 +24,12 @@
1924
<parent>
2025
<groupId>org.springframework.boot</groupId>
2126
<artifactId>spring-boot-starter-parent</artifactId>
27+
{{#jakarta}}
28+
<version>3.3.4</version>
29+
{{/jakarta}}
30+
{{^jakarta}}
2231
<version>{{springBootVersion}}</version>
32+
{{/jakarta}}
2333
</parent>
2434
<build>
2535
<sourceDirectory>src/main/java</sourceDirectory>
@@ -66,7 +76,13 @@
6676
<groupId>org.springframework.boot</groupId>
6777
<artifactId>spring-boot-starter-tomcat</artifactId>
6878
</dependency>
69-
79+
{{#jakarta}}
80+
<dependency>
81+
<groupId>org.hibernate.validator</groupId>
82+
<artifactId>hibernate-validator</artifactId>
83+
<version>8.0.1.Final</version>
84+
</dependency>
85+
{{/jakarta}}
7086
<!--SpringFox dependencies -->
7187
{{#useOas2}}
7288
<dependency>
@@ -139,6 +155,7 @@
139155
<dependency>
140156
<groupId>jakarta.validation</groupId>
141157
<artifactId>jakarta.validation-api</artifactId>
158+
<version>3.0.2</version>
142159
</dependency>
143160
{{/jakarta}}
144161
{{^jakarta}}

src/main/resources/handlebars/JavaSpring/libraries/spring-boot/swagger2SpringBoot.mustache

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,12 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2;
2727

2828
import org.springframework.context.annotation.Configuration;
2929
import org.springframework.format.FormatterRegistry;
30+
{{#jakarta}}
31+
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
32+
{{/jakarta}}
33+
{{^jakarta}}
3034
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
31-
35+
{{/jakarta}}
3236
@SpringBootApplication
3337
{{#useOas2}}
3438
@EnableSwagger2
@@ -62,7 +66,12 @@ public class Swagger2SpringBoot implements CommandLineRunner {
6266
{{/useBeanValidation}}
6367

6468
@Configuration
69+
{{#jakarta}}
70+
static class CustomDateConfig implements WebMvcConfigurer {
71+
{{/jakarta}}
72+
{{^jakarta}}
6573
static class CustomDateConfig extends WebMvcConfigurerAdapter {
74+
{{/jakarta}}
6675
@Override
6776
public void addFormatters(FormatterRegistry registry) {
6877
registry.addConverter(new LocalDateConverter("{{#datePattern}}{{datePattern}}{{/datePattern}}{{^datePattern}}yyyy-MM-dd{{/datePattern}}"));

src/main/resources/handlebars/JavaSpring/libraries/spring-boot3/pom.mustache

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@
88
<properties>
99
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1010
<maven.compiler.release>17</maven.compiler.release>
11-
<springboot-version>3.1.1</springboot-version>
12-
<swagger-annotations-version>2.2.14</swagger-annotations-version>
11+
<springboot-version>3.3.4</springboot-version>
12+
<swagger-annotations-version>2.2.25</swagger-annotations-version>
1313
<springdoc-version>1.7.0</springdoc-version>
1414
</properties>
1515
<parent>
1616
<groupId>org.springframework.boot</groupId>
1717
<artifactId>spring-boot-starter-parent</artifactId>
18-
<version>3.1.1</version>
18+
<version>3.3.4</version>
1919
</parent>
2020
<build>
2121
<sourceDirectory>src/main/java</sourceDirectory>
@@ -44,6 +44,11 @@
4444
<artifactId>spring-boot-starter-tomcat</artifactId>
4545
<version>${springboot-version}</version>
4646
</dependency>
47+
<dependency>
48+
<groupId>org.hibernate.validator</groupId>
49+
<artifactId>hibernate-validator</artifactId>
50+
<version>8.0.1.Final</version>
51+
</dependency>
4752
{{#withXml}}
4853
<dependency>
4954
<groupId>com.fasterxml.jackson.dataformat</groupId>

src/test/java/io/swagger/codegen/v3/generators/java/SpringGeneratorTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ public void testGenerator() throws Exception {
3232
false)) // OpenAPI 3.x - use true for Swagger/OpenAPI 2.x definitions
3333
.options(
3434
new Options()
35+
// .library("spring-boot3")
36+
// .addAdditionalProperty("jakarta", true)
3537
// .addAdditionalProperty("validationMode", "loose")
3638
// .addAdditionalProperty("validationMode", "legacy")
3739
// .addAdditionalProperty("validationMode", "legacyNullable")

0 commit comments

Comments
 (0)