Skip to content

Commit d78362d

Browse files
authored
Merge pull request #8600 from swagger-api/fix-lang-in-generation-request
move lang property to GenerationRequest
2 parents 140773f + 8d5d35e commit d78362d

File tree

7 files changed

+32
-34
lines changed

7 files changed

+32
-34
lines changed

modules/swagger-codegen/src/main/java/io/swagger/codegen/v3/service/GenerationRequest.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
public class GenerationRequest implements Serializable {
66
private static final long serialVersionUID = 1L;
77

8+
private String lang;
89
private Object spec = null;
910
private String specURL = null;
1011
private Options options = new Options();
@@ -29,6 +30,19 @@ public enum CodegenVersion {
2930
V2, V3;
3031
}
3132

33+
public GenerationRequest lang(String lang) {
34+
this.lang = lang;
35+
return this;
36+
}
37+
38+
public String getLang() {
39+
return lang;
40+
}
41+
public void setLang(String lang) {
42+
this.lang = lang;
43+
}
44+
45+
3246
public GenerationRequest spec(Object spec) {
3347
this.spec = spec;
3448
return this;

modules/swagger-codegen/src/main/java/io/swagger/codegen/v3/service/GeneratorUtil.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public static io.swagger.codegen.ClientOptInput getClientOptInputV2(GenerationRe
3232
inputSpec = (String)generationRequest.getSpec();
3333
}
3434
String inputSpecURL = generationRequest.getSpecURL();
35-
String lang = options.getLang();
35+
String lang = generationRequest.getLang();
3636
validateSpec(lang, inputSpec, inputSpecURL);
3737

3838
final List<io.swagger.models.auth.AuthorizationValue> authorizationValues = io.swagger.codegen.auth.AuthParser.parse(generationRequest.getOptions().getAuth());
@@ -177,7 +177,7 @@ public static ClientOptInput getClientOptInput(GenerationRequest generationReque
177177
inputSpec = (String)generationRequest.getSpec();
178178
}
179179
String inputSpecURL = generationRequest.getSpecURL();
180-
String lang = options.getLang();
180+
String lang = generationRequest.getLang();
181181
validateSpec(lang, inputSpec, inputSpecURL);
182182

183183
CodegenConfigurator configurator = new CodegenConfigurator();

modules/swagger-codegen/src/main/java/io/swagger/codegen/v3/service/Options.java

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99

1010
public class Options {
1111

12-
private String lang;
1312
private String auth;
1413
private AuthorizationValue authorizationValue = null;
1514
private String apiPackage;
@@ -38,18 +37,6 @@ public class Options {
3837
private Boolean skipOverride;
3938
private String outputDir = "";
4039

41-
public Options lang(String lang) {
42-
this.lang = lang;
43-
return this;
44-
}
45-
46-
public String getLang() {
47-
return lang;
48-
}
49-
public void setLang(String lang) {
50-
this.lang = lang;
51-
}
52-
5340
public Options authorizationValue(AuthorizationValue authorizationValue) {
5441
this.authorizationValue = authorizationValue;
5542
return this;

modules/swagger-codegen/src/test/java/io/swagger/codegen/v3/service/GeneratorServiceTest.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@ public void testGeneratorServiceJava3() {
2323
request
2424
.codegenVersion(GenerationRequest.CodegenVersion.V3)
2525
.type(GenerationRequest.Type.SERVER)
26+
.lang("jaxrs-jersey")
2627
.spec(loadSpecAsNode("3_0_0/petstore.json", false, false))
2728
.options(
2829
new Options()
29-
.lang("jaxrs-jersey")
3030
.outputDir(getTmpFolder().getAbsolutePath())
3131
);
3232
List<File> files = new GeneratorService().generationRequest(request).generate();
@@ -40,10 +40,10 @@ public void testGeneratorServiceJava2() {
4040
request
4141
.codegenVersion(GenerationRequest.CodegenVersion.V2)
4242
.type(GenerationRequest.Type.SERVER)
43+
.lang("jaxrs")
4344
.spec(loadSpecAsNode("2_0/petstore.json", false, true))
4445
.options(
4546
new Options()
46-
.lang("jaxrs")
4747
.outputDir(getTmpFolder().getAbsolutePath())
4848
);
4949
List<File> files = new GeneratorService().generationRequest(request).generate();
@@ -57,10 +57,10 @@ public void testGeneratorServiceJava3Spec2() {
5757
request
5858
.codegenVersion(GenerationRequest.CodegenVersion.V3)
5959
.type(GenerationRequest.Type.SERVER)
60+
.lang("jaxrs-jersey")
6061
.spec(loadSpecAsNode("2_0/petstore.json", false, true))
6162
.options(
6263
new Options()
63-
.lang("jaxrs-jersey")
6464
.outputDir(getTmpFolder().getAbsolutePath())
6565
);
6666
List<File> files = new GeneratorService().generationRequest(request).generate();
@@ -73,10 +73,10 @@ public void testGeneratorServiceJava3RefSpec() {
7373
request
7474
.codegenVersion(GenerationRequest.CodegenVersion.V3)
7575
.type(GenerationRequest.Type.SERVER)
76+
.lang("jaxrs-jersey")
7677
.specURL("3_0_0/petstore.json")
7778
.options(
7879
new Options()
79-
.lang("jaxrs-jersey")
8080
.outputDir(getTmpFolder().getAbsolutePath())
8181
);
8282
List<File> files = new GeneratorService().generationRequest(request).generate();
@@ -91,10 +91,10 @@ public void testGeneratorServiceJavaClient3() {
9191
request
9292
.codegenVersion(GenerationRequest.CodegenVersion.V3)
9393
.type(GenerationRequest.Type.CLIENT)
94+
.lang("java")
9495
.spec(loadSpecAsNode("3_0_0/petstore.json", false, false))
9596
.options(
9697
new Options()
97-
.lang("java")
9898
.outputDir(getTmpFolder().getAbsolutePath())
9999
.artifactId("swagger-petstore-jersey2")
100100
.library("jersey2")
@@ -111,10 +111,10 @@ public void testGeneratorServiceJavaClient2() {
111111
request
112112
.codegenVersion(GenerationRequest.CodegenVersion.V2)
113113
.type(GenerationRequest.Type.CLIENT)
114+
.lang("java")
114115
.spec(loadSpecAsNode("2_0/petstore.json", false, true))
115116
.options(
116117
new Options()
117-
.lang("java")
118118
.outputDir(getTmpFolder().getAbsolutePath())
119119
.artifactId("swagger-petstore-jersey2")
120120
.library("jersey2")

modules/swagger-generator/src/main/java/io/swagger/v3/generator/online/GeneratorController.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ public ResponseContext generate(RequestContext context, GenerationRequest genera
326326
outputContentFolder = outputRootFolder;
327327
}
328328
generationRequest.getOptions().setOutputDir(outputContentFolder.getAbsolutePath());
329-
File outputFile = new File(getTmpFolder(), generationRequest.getOptions().getLang() + "-bundle.zip");
329+
File outputFile = new File(getTmpFolder(), generationRequest.getLang() + "-bundle.zip");
330330

331331
LOGGER.info("file zip file: " + outputFile.getAbsolutePath());
332332

@@ -364,15 +364,15 @@ private ResponseContext generate(GenerationRequest generationRequest, File outpu
364364
try {
365365
files = generatorService.generate();
366366
} catch (Exception e) {
367-
String msg = String.format("Error generating `%s` code : %s", generationRequest.getOptions().getLang(), e.getMessage());
367+
String msg = String.format("Error generating `%s` code : %s", generationRequest.getLang(), e.getMessage());
368368
LOGGER.error(msg, e);
369369
return new ResponseContext()
370370
.status(500)
371371
.contentType(MediaType.TEXT_PLAIN)
372372
.entity(msg);
373373
}
374374
if (files.size() > 0) {
375-
return downloadFile(outputRootFolder, outputContentFolder, outputFile, generationRequest.getOptions().getLang(), generationRequest.getType());
375+
return downloadFile(outputRootFolder, outputContentFolder, outputFile, generationRequest.getLang(), generationRequest.getType());
376376
} else {
377377
return new ResponseContext()
378378
.status(500)

modules/swagger-generator/src/main/resources/openapi.yaml

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -131,8 +131,13 @@ components:
131131
GenerationRequest:
132132
x-swagger-router-model: io.swagger.codegen.v3.service.GenerationRequest
133133
required:
134-
- options
134+
- lang
135135
properties:
136+
lang:
137+
type: string
138+
title: language
139+
description: client language to generate (required)
140+
example: java
136141
spec:
137142
type: object
138143
description: spec in json format. . Alternative to `specURL`
@@ -170,15 +175,7 @@ components:
170175
description: Authorization type
171176
Options:
172177
x-swagger-router-model: io.swagger.codegen.v3.service.Options
173-
required:
174-
- lang
175178
properties:
176-
lang:
177-
type: string
178-
title: language
179-
description: client language to generate (maybe class name in classpath,
180-
required)
181-
example: java
182179
auth:
183180
type: string
184181
title: authorization

modules/swagger-generator/src/test/java/io/swagger/v3/generator/online/GeneratorControllerIT.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,8 @@ public void generateJava() throws Exception {
8585

8686
GenerationRequest generationRequest = new GenerationRequest()
8787
.spec(spec)
88+
.lang("java")
8889
.options(new Options()
89-
.lang("java")
9090
.addAdditionalProperty("useRuntimeException", true)
9191
.addAdditionalProperty("useRxJava", true));
9292
HttpEntity entity = new StringEntity(Json.pretty(generationRequest), "UTF-8");

0 commit comments

Comments
 (0)