Skip to content

Commit 2e18294

Browse files
authored
Merge pull request #1180 from swagger-api/tgillain-bug/1167-jakarta-java8
Tgillain bug/1167 jakarta java8
2 parents a1244bd + b957b67 commit 2e18294

File tree

2 files changed

+66
-12
lines changed

2 files changed

+66
-12
lines changed

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,12 @@ import org.springframework.web.multipart.MultipartFile;
4444
import org.springframework.web.bind.annotation.CookieValue;
4545

4646
{{#jdk8-no-delegate}}
47+
{{#jakarta}}
48+
import jakarta.servlet.http.HttpServletRequest;
49+
{{/jakarta}}
50+
{{^jakarta}}
4751
import javax.servlet.http.HttpServletRequest;
52+
{{/jakarta}}
4853
{{/jdk8-no-delegate}}
4954
{{#useBeanValidation}}
5055
{{#jakarta}}

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

Lines changed: 61 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package io.swagger.codegen.v3.generators.java;
22

33
import static io.swagger.codegen.v3.generators.java.AbstractJavaCodegen.JAKARTA;
4+
import static io.swagger.codegen.v3.generators.java.AbstractJavaCodegen.JAVA8_MODE;
45

56
import io.swagger.codegen.v3.ClientOptInput;
67
import io.swagger.codegen.v3.CodegenArgument;
@@ -29,10 +30,10 @@ public void testParameterOrdersUseOas2() throws Exception {
2930
.setOutputDir(output.getAbsolutePath());
3031

3132
configurator.setCodegenArguments(Collections.singletonList(
32-
new CodegenArgument()
33-
.option(CodegenConstants.USE_OAS2_OPTION)
34-
.type("boolean")
35-
.value(Boolean.TRUE.toString())));
33+
new CodegenArgument()
34+
.option(CodegenConstants.USE_OAS2_OPTION)
35+
.type("boolean")
36+
.value(Boolean.TRUE.toString())));
3637

3738
final ClientOptInput clientOptInput = configurator.toClientOptInput();
3839
new DefaultGenerator().opts(clientOptInput).generate();
@@ -88,10 +89,10 @@ public void testOas2AndJakarta() throws Exception {
8889
final File output = folder.getRoot();
8990

9091
final CodegenConfigurator configurator = new CodegenConfigurator()
91-
.setLang("spring")
92-
.setInputSpecURL("src/test/resources/3_0_0/parameterOrder.yaml")
93-
.setOutputDir(output.getAbsolutePath())
94-
.addAdditionalProperty(JAKARTA, true);
92+
.setLang("spring")
93+
.setInputSpecURL("src/test/resources/3_0_0/parameterOrder.yaml")
94+
.setOutputDir(output.getAbsolutePath())
95+
.addAdditionalProperty(JAKARTA, true);
9596

9697
configurator.setCodegenArguments(Collections.singletonList(
9798
new CodegenArgument()
@@ -124,10 +125,10 @@ public void testUseOas3AndJakarta() throws Exception {
124125
final File output = folder.getRoot();
125126

126127
final CodegenConfigurator configurator = new CodegenConfigurator()
127-
.setLang("spring")
128-
.setInputSpecURL("src/test/resources/3_0_0/parameterOrder.yaml")
129-
.setOutputDir(output.getAbsolutePath())
130-
.addAdditionalProperty(JAKARTA, true);
128+
.setLang("spring")
129+
.setInputSpecURL("src/test/resources/3_0_0/parameterOrder.yaml")
130+
.setOutputDir(output.getAbsolutePath())
131+
.addAdditionalProperty(JAKARTA, true);
131132

132133
final ClientOptInput clientOptInput = configurator.toClientOptInput();
133134
new DefaultGenerator().opts(clientOptInput).generate();
@@ -148,4 +149,52 @@ public void testUseOas3AndJakarta() throws Exception {
148149
folder.delete();
149150
}
150151

152+
@Test(description = "verify java8 & jakarta")
153+
public void testJava8Jakarta() throws Exception {
154+
final TemporaryFolder folder = new TemporaryFolder();
155+
folder.create();
156+
final File output = folder.getRoot();
157+
158+
final CodegenConfigurator configurator = new CodegenConfigurator()
159+
.setLang("spring")
160+
.setInputSpecURL("src/test/resources/3_0_0/parameterOrder.yaml")
161+
.setOutputDir(output.getAbsolutePath())
162+
.addAdditionalProperty(JAKARTA, true)
163+
.addAdditionalProperty(JAVA8_MODE, true);
164+
165+
final ClientOptInput clientOptInput = configurator.toClientOptInput();
166+
new DefaultGenerator().opts(clientOptInput).generate();
167+
168+
final File adminApiFile = new File(output, "/src/main/java/io/swagger/api/AdminApi.java");
169+
final String contentAdminApi = FileUtils.readFileToString(adminApiFile);
170+
171+
Assert.assertTrue(contentAdminApi.contains("import jakarta.servlet.http.HttpServletRequest;"));
172+
173+
folder.delete();
174+
}
175+
176+
@Test(description = "verify java8 & javax")
177+
public void testJava8Javax() throws Exception {
178+
final TemporaryFolder folder = new TemporaryFolder();
179+
folder.create();
180+
final File output = folder.getRoot();
181+
182+
final CodegenConfigurator configurator = new CodegenConfigurator()
183+
.setLang("spring")
184+
.setInputSpecURL("src/test/resources/3_0_0/parameterOrder.yaml")
185+
.setOutputDir(output.getAbsolutePath())
186+
.addAdditionalProperty(JAKARTA, false)
187+
.addAdditionalProperty(JAVA8_MODE, true);
188+
189+
final ClientOptInput clientOptInput = configurator.toClientOptInput();
190+
new DefaultGenerator().opts(clientOptInput).generate();
191+
192+
final File adminApiFile = new File(output, "/src/main/java/io/swagger/api/AdminApi.java");
193+
final String contentAdminApi = FileUtils.readFileToString(adminApiFile);
194+
195+
Assert.assertTrue(contentAdminApi.contains("import javax.servlet.http.HttpServletRequest;"));
196+
197+
folder.delete();
198+
}
199+
151200
}

0 commit comments

Comments
 (0)