Skip to content

Commit 006f084

Browse files
jminiwing328
authored andcommitted
Allow to set values with setApiPackage(..) and setModelPackage(..) (#8013)
* Add getInvokerPackage() getter * Add test cases * Handle values set with setModelPackage(..) and setApiPackage(..)
1 parent 2034f61 commit 006f084

13 files changed

+413
-3
lines changed

modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractJavaCodegen.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,14 @@ public void processOpts() {
207207
additionalProperties.put(CodegenConstants.INVOKER_PACKAGE, invokerPackage);
208208
}
209209

210+
if (!additionalProperties.containsKey(CodegenConstants.MODEL_PACKAGE)) {
211+
additionalProperties.put(CodegenConstants.MODEL_PACKAGE, modelPackage);
212+
}
213+
214+
if (!additionalProperties.containsKey(CodegenConstants.API_PACKAGE)) {
215+
additionalProperties.put(CodegenConstants.API_PACKAGE, apiPackage);
216+
}
217+
210218
if (additionalProperties.containsKey(CodegenConstants.GROUP_ID)) {
211219
this.setGroupId((String) additionalProperties.get(CodegenConstants.GROUP_ID));
212220
} else {
@@ -1125,6 +1133,10 @@ private static String sanitizePackageName(String packageName) {
11251133
return packageName;
11261134
}
11271135

1136+
public String getInvokerPackage() {
1137+
return invokerPackage;
1138+
}
1139+
11281140
public void setInvokerPackage(String invokerPackage) {
11291141
this.invokerPackage = invokerPackage;
11301142
}

modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractPhpCodegen.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,10 @@ public String getSwaggerType(Property p) {
345345
return toModelName(type);
346346
}
347347

348+
public String getInvokerPackage() {
349+
return invokerPackage;
350+
}
351+
348352
public void setInvokerPackage(String invokerPackage) {
349353
this.invokerPackage = invokerPackage;
350354
}

modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AndroidClientCodegen.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -364,6 +364,14 @@ public void processOpts() {
364364
additionalProperties.put("authPackage", authPackage);
365365
}
366366

367+
if (!additionalProperties.containsKey(CodegenConstants.MODEL_PACKAGE)) {
368+
additionalProperties.put(CodegenConstants.MODEL_PACKAGE, modelPackage);
369+
}
370+
371+
if (!additionalProperties.containsKey(CodegenConstants.API_PACKAGE)) {
372+
additionalProperties.put(CodegenConstants.API_PACKAGE, apiPackage);
373+
}
374+
367375
if (additionalProperties.containsKey(CodegenConstants.GROUP_ID)) {
368376
this.setGroupId((String) additionalProperties.get(CodegenConstants.GROUP_ID));
369377
} else {
@@ -549,6 +557,10 @@ public void setAndroidBuildToolsVersion(String androidBuildToolsVersion) {
549557
this.androidBuildToolsVersion = androidBuildToolsVersion;
550558
}
551559

560+
public String getInvokerPackage() {
561+
return invokerPackage;
562+
}
563+
552564
public void setInvokerPackage(String invokerPackage) {
553565
this.invokerPackage = invokerPackage;
554566
}

modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavascriptClientCodegen.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
import io.swagger.codegen.CodegenParameter;
1111
import io.swagger.codegen.CodegenProperty;
1212
import io.swagger.codegen.CodegenType;
13-
import io.swagger.codegen.SupportingFile;
1413
import io.swagger.codegen.DefaultCodegen;
14+
import io.swagger.codegen.SupportingFile;
1515
import io.swagger.models.ArrayModel;
1616
import io.swagger.models.Info;
1717
import io.swagger.models.License;
@@ -391,6 +391,10 @@ public String modelFileFolder() {
391391
return createPath(outputFolder, sourceFolder, invokerPackage, modelPackage());
392392
}
393393

394+
public String getInvokerPackage() {
395+
return invokerPackage;
396+
}
397+
394398
public void setInvokerPackage(String invokerPackage) {
395399
this.invokerPackage = invokerPackage;
396400
}

modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/PhpClientCodegen.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -403,6 +403,10 @@ public String getSwaggerType(Property p) {
403403
return toModelName(type);
404404
}
405405

406+
public String getInvokerPackage() {
407+
return invokerPackage;
408+
}
409+
406410
public void setInvokerPackage(String invokerPackage) {
407411
this.invokerPackage = invokerPackage;
408412
}
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
package io.swagger.codegen.android;
2+
3+
import org.testng.Assert;
4+
import org.testng.annotations.Test;
5+
6+
import io.swagger.codegen.CodegenConstants;
7+
import io.swagger.codegen.languages.AndroidClientCodegen;
8+
9+
public class AndroidClientCodegenTest {
10+
11+
@Test
12+
public void testInitialConfigValues() throws Exception {
13+
final AndroidClientCodegen codegen = new AndroidClientCodegen();
14+
codegen.processOpts();
15+
16+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.HIDE_GENERATION_TIMESTAMP), Boolean.TRUE);
17+
Assert.assertEquals(codegen.isHideGenerationTimestamp(), true);
18+
Assert.assertEquals(codegen.modelPackage(), "io.swagger.client.model");
19+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.MODEL_PACKAGE), "io.swagger.client.model");
20+
Assert.assertEquals(codegen.apiPackage(), "io.swagger.client.api");
21+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.API_PACKAGE), "io.swagger.client.api");
22+
Assert.assertEquals(codegen.getInvokerPackage(), "io.swagger.client");
23+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.INVOKER_PACKAGE), "io.swagger.client");
24+
}
25+
26+
@Test
27+
public void testSettersForConfigValues() throws Exception {
28+
final AndroidClientCodegen codegen = new AndroidClientCodegen();
29+
codegen.setModelPackage("xx.yyyyyyyy.model");
30+
codegen.setApiPackage("xx.yyyyyyyy.api");
31+
codegen.setInvokerPackage("xx.yyyyyyyy.invoker");
32+
codegen.processOpts();
33+
34+
Assert.assertEquals(codegen.modelPackage(), "xx.yyyyyyyy.model");
35+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.MODEL_PACKAGE), "xx.yyyyyyyy.model");
36+
Assert.assertEquals(codegen.apiPackage(), "xx.yyyyyyyy.api");
37+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.API_PACKAGE), "xx.yyyyyyyy.api");
38+
Assert.assertEquals(codegen.getInvokerPackage(), "xx.yyyyyyyy.invoker");
39+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.INVOKER_PACKAGE), "xx.yyyyyyyy.invoker");
40+
}
41+
42+
@Test
43+
public void testAdditionalPropertiesPutForConfigValues() throws Exception {
44+
final AndroidClientCodegen codegen = new AndroidClientCodegen();
45+
codegen.additionalProperties().put(CodegenConstants.MODEL_PACKAGE, "xyz.yyyyy.mmmmm.model");
46+
codegen.additionalProperties().put(CodegenConstants.API_PACKAGE, "xyz.yyyyy.aaaaa.api");
47+
codegen.additionalProperties().put(CodegenConstants.INVOKER_PACKAGE,"xyz.yyyyy.iiii.invoker");
48+
codegen.processOpts();
49+
50+
Assert.assertEquals(codegen.modelPackage(), "xyz.yyyyy.mmmmm.model");
51+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.MODEL_PACKAGE), "xyz.yyyyy.mmmmm.model");
52+
Assert.assertEquals(codegen.apiPackage(), "xyz.yyyyy.aaaaa.api");
53+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.API_PACKAGE), "xyz.yyyyy.aaaaa.api");
54+
Assert.assertEquals(codegen.getInvokerPackage(), "xyz.yyyyy.iiii.invoker");
55+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.INVOKER_PACKAGE), "xyz.yyyyy.iiii.invoker");
56+
}
57+
}

modules/swagger-codegen/src/test/java/io/swagger/codegen/java/AbstractJavaCodegenTest.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,26 +93,50 @@ public void testInitialConfigValues() throws Exception {
9393

9494
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.HIDE_GENERATION_TIMESTAMP), Boolean.FALSE);
9595
Assert.assertEquals(codegen.isHideGenerationTimestamp(), false);
96+
Assert.assertEquals(codegen.modelPackage(), "invalidPackageName");
97+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.MODEL_PACKAGE), "invalidPackageName");
98+
Assert.assertEquals(codegen.apiPackage(), "invalidPackageName");
99+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.API_PACKAGE), "invalidPackageName");
100+
Assert.assertEquals(codegen.getInvokerPackage(), "io.swagger");
101+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.INVOKER_PACKAGE), "io.swagger");
96102
}
97103

98104
@Test
99105
public void testSettersForConfigValues() throws Exception {
100106
final AbstractJavaCodegen codegen = new P_AbstractJavaCodegen();
101107
codegen.setHideGenerationTimestamp(true);
108+
codegen.setModelPackage("xyz.yyyyy.zzzzzzz.model");
109+
codegen.setApiPackage("xyz.yyyyy.zzzzzzz.api");
110+
codegen.setInvokerPackage("xyz.yyyyy.zzzzzzz.invoker");
102111
codegen.processOpts();
103112

104113
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.HIDE_GENERATION_TIMESTAMP), Boolean.TRUE);
105114
Assert.assertEquals(codegen.isHideGenerationTimestamp(), true);
115+
Assert.assertEquals(codegen.modelPackage(), "xyz.yyyyy.zzzzzzz.model");
116+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.MODEL_PACKAGE), "xyz.yyyyy.zzzzzzz.model");
117+
Assert.assertEquals(codegen.apiPackage(), "xyz.yyyyy.zzzzzzz.api");
118+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.API_PACKAGE), "xyz.yyyyy.zzzzzzz.api");
119+
Assert.assertEquals(codegen.getInvokerPackage(), "xyz.yyyyy.zzzzzzz.invoker");
120+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.INVOKER_PACKAGE), "xyz.yyyyy.zzzzzzz.invoker");
106121
}
107122

108123
@Test
109124
public void testAdditionalPropertiesPutForConfigValues() throws Exception {
110125
final AbstractJavaCodegen codegen = new P_AbstractJavaCodegen();
111126
codegen.additionalProperties().put(CodegenConstants.HIDE_GENERATION_TIMESTAMP, false);
127+
codegen.additionalProperties().put(CodegenConstants.MODEL_PACKAGE, "xyz.yyyyy.model.oooooo");
128+
codegen.additionalProperties().put(CodegenConstants.API_PACKAGE, "xyz.yyyyy.api.oooooo");
129+
codegen.additionalProperties().put(CodegenConstants.INVOKER_PACKAGE, "xyz.yyyyy.invoker.oooooo");
112130
codegen.processOpts();
113131

114132
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.HIDE_GENERATION_TIMESTAMP), Boolean.FALSE);
115133
Assert.assertEquals(codegen.isHideGenerationTimestamp(), false);
134+
Assert.assertEquals(codegen.modelPackage(), "xyz.yyyyy.model.oooooo");
135+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.MODEL_PACKAGE), "xyz.yyyyy.model.oooooo");
136+
Assert.assertEquals(codegen.apiPackage(), "xyz.yyyyy.api.oooooo");
137+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.API_PACKAGE), "xyz.yyyyy.api.oooooo");
138+
Assert.assertEquals(codegen.getInvokerPackage(), "xyz.yyyyy.invoker.oooooo");
139+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.INVOKER_PACKAGE), "xyz.yyyyy.invoker.oooooo");
116140
}
117141

118142
private static class P_AbstractJavaCodegen extends AbstractJavaCodegen {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
package io.swagger.codegen.java.jaxrs;
2+
3+
import org.testng.Assert;
4+
import org.testng.annotations.Test;
5+
6+
import io.swagger.codegen.CodegenConstants;
7+
import io.swagger.codegen.CodegenType;
8+
import io.swagger.codegen.languages.AbstractJavaJAXRSServerCodegen;
9+
10+
public class AbstractJavaJAXRSServerCodegenTest {
11+
12+
private final AbstractJavaJAXRSServerCodegen fakeJavaJAXRSCodegen = new P_AbstractJavaJAXRSServerCodegen();
13+
14+
@Test
15+
public void convertApiName() throws Exception {
16+
Assert.assertEquals(fakeJavaJAXRSCodegen.toApiName("name"), "NameApi");
17+
Assert.assertEquals(fakeJavaJAXRSCodegen.toApiName("$name"), "NameApi");
18+
Assert.assertEquals(fakeJavaJAXRSCodegen.toApiName("nam#e"), "NameApi");
19+
Assert.assertEquals(fakeJavaJAXRSCodegen.toApiName("$another-fake?"), "AnotherFakeApi");
20+
Assert.assertEquals(fakeJavaJAXRSCodegen.toApiName("fake_classname_tags 123#$%^"), "FakeClassnameTags123Api");
21+
}
22+
23+
@Test
24+
public void testInitialConfigValues() throws Exception {
25+
final AbstractJavaJAXRSServerCodegen codegen = new P_AbstractJavaJAXRSServerCodegen();
26+
codegen.processOpts();
27+
28+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.HIDE_GENERATION_TIMESTAMP), Boolean.FALSE);
29+
Assert.assertEquals(codegen.isHideGenerationTimestamp(), false);
30+
Assert.assertEquals(codegen.modelPackage(), "io.swagger.model");
31+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.MODEL_PACKAGE), "io.swagger.model");
32+
Assert.assertEquals(codegen.apiPackage(), "io.swagger.api");
33+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.API_PACKAGE), "io.swagger.api");
34+
Assert.assertEquals(codegen.getInvokerPackage(), "io.swagger.api");
35+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.INVOKER_PACKAGE), "io.swagger.api");
36+
}
37+
38+
@Test
39+
public void testSettersForConfigValues() throws Exception {
40+
final AbstractJavaJAXRSServerCodegen codegen = new P_AbstractJavaJAXRSServerCodegen();
41+
codegen.setHideGenerationTimestamp(true);
42+
codegen.setModelPackage("xx.yyyyyyyy.model");
43+
codegen.setApiPackage("xx.yyyyyyyy.api");
44+
codegen.setInvokerPackage("xx.yyyyyyyy.invoker");
45+
codegen.processOpts();
46+
47+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.HIDE_GENERATION_TIMESTAMP), Boolean.TRUE);
48+
Assert.assertEquals(codegen.isHideGenerationTimestamp(), true);
49+
Assert.assertEquals(codegen.modelPackage(), "xx.yyyyyyyy.model");
50+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.MODEL_PACKAGE), "xx.yyyyyyyy.model");
51+
Assert.assertEquals(codegen.apiPackage(), "xx.yyyyyyyy.api");
52+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.API_PACKAGE), "xx.yyyyyyyy.api");
53+
Assert.assertEquals(codegen.getInvokerPackage(), "xx.yyyyyyyy.invoker");
54+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.INVOKER_PACKAGE), "xx.yyyyyyyy.invoker");
55+
}
56+
57+
@Test
58+
public void testAdditionalPropertiesPutForConfigValues() throws Exception {
59+
final AbstractJavaJAXRSServerCodegen codegen = new P_AbstractJavaJAXRSServerCodegen();
60+
codegen.additionalProperties().put(CodegenConstants.HIDE_GENERATION_TIMESTAMP, "true");
61+
codegen.additionalProperties().put(CodegenConstants.MODEL_PACKAGE, "xyz.yyyyy.mmmmm.model");
62+
codegen.additionalProperties().put(CodegenConstants.API_PACKAGE, "xyz.yyyyy.aaaaa.api");
63+
codegen.additionalProperties().put(CodegenConstants.INVOKER_PACKAGE,"xyz.yyyyy.iiii.invoker");
64+
codegen.processOpts();
65+
66+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.HIDE_GENERATION_TIMESTAMP), Boolean.TRUE);
67+
Assert.assertEquals(codegen.isHideGenerationTimestamp(), true);
68+
Assert.assertEquals(codegen.modelPackage(), "xyz.yyyyy.mmmmm.model");
69+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.MODEL_PACKAGE), "xyz.yyyyy.mmmmm.model");
70+
Assert.assertEquals(codegen.apiPackage(), "xyz.yyyyy.aaaaa.api");
71+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.API_PACKAGE), "xyz.yyyyy.aaaaa.api");
72+
Assert.assertEquals(codegen.getInvokerPackage(), "xyz.yyyyy.iiii.invoker");
73+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.INVOKER_PACKAGE), "xyz.yyyyy.iiii.invoker");
74+
}
75+
76+
private static class P_AbstractJavaJAXRSServerCodegen extends AbstractJavaJAXRSServerCodegen {
77+
78+
@Override
79+
public CodegenType getTag() {
80+
return null;
81+
}
82+
83+
@Override
84+
public String getName() {
85+
return null;
86+
}
87+
88+
@Override
89+
public String getHelp() {
90+
return null;
91+
}
92+
}
93+
}

modules/swagger-codegen/src/test/java/io/swagger/codegen/javascript/JavascriptClientCodegenTest.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,12 @@ public void testInitialConfigValues() throws Exception {
1515

1616
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.HIDE_GENERATION_TIMESTAMP), Boolean.TRUE);
1717
Assert.assertEquals(codegen.isHideGenerationTimestamp(), true);
18+
Assert.assertEquals(codegen.modelPackage(), "model");
19+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.MODEL_PACKAGE), null);
20+
Assert.assertEquals(codegen.apiPackage(), "api");
21+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.API_PACKAGE), null);
22+
Assert.assertEquals(codegen.getInvokerPackage(), null);
23+
Assert.assertEquals(codegen.additionalProperties().get(CodegenConstants.INVOKER_PACKAGE), null);
1824
}
1925

2026
@Test

0 commit comments

Comments
 (0)