Skip to content

Commit 1e1914f

Browse files
authored
Merge branch 'master' into master
2 parents eacd7c7 + 0918364 commit 1e1914f

File tree

153 files changed

+6625
-193
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

153 files changed

+6625
-193
lines changed

pom.xml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
<groupId>io.swagger.codegen.v3</groupId>
1414
<artifactId>swagger-codegen-generators</artifactId>
15-
<version>1.0.21-SNAPSHOT</version>
15+
<version>1.0.23-SNAPSHOT</version>
1616
<packaging>jar</packaging>
1717

1818
<build>
@@ -252,15 +252,15 @@
252252
</dependency>
253253
</dependencies>
254254
<properties>
255-
<swagger-codegen-version>3.0.21-SNAPSHOT</swagger-codegen-version>
256-
<swagger-parser-version>2.0.21-SNAPSHOT</swagger-parser-version>
257-
<swagger-core-version>2.1.2</swagger-core-version>
255+
<swagger-codegen-version>3.0.23-SNAPSHOT</swagger-codegen-version>
256+
<swagger-parser-version>2.0.23-SNAPSHOT</swagger-parser-version>
257+
<swagger-core-version>2.1.4</swagger-core-version>
258258
<jackson-version>2.10.3</jackson-version>
259259
<scala-version>2.11.1</scala-version>
260260
<felix-version>3.3.0</felix-version>
261261
<commons-io-version>2.4</commons-io-version>
262262
<commons-cli-version>1.2</commons-cli-version>
263-
<junit-version>4.8.1</junit-version>
263+
<junit-version>4.13.1</junit-version>
264264
<maven-plugin-version>1.0.0</maven-plugin-version>
265265
<commons-lang-version>3.4</commons-lang-version>
266266
<slf4j-version>1.7.12</slf4j-version>

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

Lines changed: 58 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@
111111
import static io.swagger.codegen.v3.generators.handlebars.ExtensionHelper.getBooleanValue;
112112

113113
public abstract class DefaultCodegenConfig implements CodegenConfig {
114-
private static final Logger LOGGER = LoggerFactory.getLogger(DefaultCodegenConfig.class);
114+
protected static final Logger LOGGER = LoggerFactory.getLogger(DefaultCodegenConfig.class);
115115

116116
public static final String DEFAULT_CONTENT_TYPE = "application/json";
117117
public static final String REQUEST_BODY_NAME = "body";
@@ -358,12 +358,18 @@ public void processModelEnums(Map<String, Object> objs) {
358358
}
359359
cm.allowableValues.put("enumVars", enumVars);
360360
}
361+
updateCodegenModelEnumVars(cm);
362+
}
363+
}
361364

362-
// update codegen property enum with proper naming convention
363-
// and handling of numbers, special characters
364-
for (CodegenProperty var : cm.vars) {
365-
updateCodegenPropertyEnum(var);
366-
}
365+
/**
366+
* update codegen property enum with proper naming convention
367+
* and handling of numbers, special characters
368+
* @param codegenModel
369+
*/
370+
protected void updateCodegenModelEnumVars(CodegenModel codegenModel) {
371+
for (CodegenProperty var : codegenModel.vars) {
372+
updateCodegenPropertyEnum(var);
367373
}
368374
}
369375

@@ -2290,7 +2296,26 @@ public CodegenResponse fromResponse(String responseCode, ApiResponse response) {
22902296
final Schema responseSchema = getSchemaFromResponse(response);
22912297
codegenResponse.schema = responseSchema;
22922298
codegenResponse.message = escapeText(response.getDescription());
2293-
// TODO: codegenResponse.examples = toExamples(response.getExamples());
2299+
2300+
if (response.getContent()!= null) {
2301+
Map<String, Object> examples = new HashMap<>();
2302+
for (String name : response.getContent().keySet()) {
2303+
if (response.getContent().get(name) != null) {
2304+
2305+
if (response.getContent().get(name).getExample() != null) {
2306+
examples.put(name, response.getContent().get(name).getExample());
2307+
}
2308+
if (response.getContent().get(name).getExamples() != null) {
2309+
2310+
for (String exampleName : response.getContent().get(name).getExamples().keySet()) {
2311+
examples.put(exampleName, response.getContent().get(name).getExamples().get(exampleName).getValue());
2312+
}
2313+
}
2314+
}
2315+
}
2316+
codegenResponse.examples = toExamples(examples);
2317+
}
2318+
22942319
codegenResponse.jsonSchema = Json.pretty(response);
22952320
if (response.getExtensions() != null && !response.getExtensions().isEmpty()) {
22962321
codegenResponse.vendorExtensions.putAll(response.getExtensions());
@@ -2697,7 +2722,9 @@ else if (schema instanceof ArraySchema) {
26972722
if (codegenProperty.complexType != null) {
26982723
imports.add(codegenProperty.complexType);
26992724
}
2700-
imports.add(codegenProperty.baseType);
2725+
if (codegenParameter.baseType != null) {
2726+
imports.add(codegenProperty.baseType);
2727+
}
27012728
CodegenProperty innerCp = codegenProperty;
27022729
while(innerCp != null) {
27032730
if(innerCp.complexType != null) {
@@ -2717,7 +2744,9 @@ else if (schema instanceof ArraySchema) {
27172744
setParameterNullable(codegenParameter, codegenProperty);
27182745

27192746
while (codegenProperty != null) {
2720-
imports.add(codegenProperty.baseType);
2747+
if (codegenProperty.baseType != null) {
2748+
imports.add(codegenProperty.baseType);
2749+
}
27212750
codegenProperty = codegenProperty.items;
27222751
}
27232752
}
@@ -3837,7 +3866,7 @@ public void updateCodegenPropertyEnum(CodegenProperty var) {
38373866
}
38383867

38393868
// put "enumVars" map into `allowableValues", including `name` and `value`
3840-
List<Map<String, String>> enumVars = new ArrayList<Map<String, String>>();
3869+
List<Map<String, String>> enumVars = new ArrayList<>();
38413870
String commonPrefix = findCommonPrefixOfVars(values);
38423871
int truncateIdx = commonPrefix.length();
38433872
for (Object value : values) {
@@ -3853,6 +3882,24 @@ public void updateCodegenPropertyEnum(CodegenProperty var) {
38533882
}
38543883
allowableValues.put("enumVars", enumVars);
38553884

3885+
// check repeated enum var names
3886+
if (enumVars != null & !enumVars.isEmpty()) {
3887+
for (int i = 0; i < enumVars.size(); i++) {
3888+
final Map<String, String> enumVarList = enumVars.get(i);
3889+
final String enumVarName = enumVarList.get("name");
3890+
for (int j = 0; j < enumVars.size(); j++) {
3891+
if (i == j) {
3892+
continue;
3893+
}
3894+
final Map<String, String> enumVarToCheckList = enumVars.get(j);
3895+
final String enumVarNameToCheck = enumVarToCheckList.get("name");
3896+
if (enumVarName.equals(enumVarNameToCheck)) {
3897+
enumVarToCheckList.put("name", enumVarName + "_" + j);
3898+
}
3899+
}
3900+
}
3901+
}
3902+
38563903
// handle default value for enum, e.g. available => StatusEnum.AVAILABLE
38573904
if (var.defaultValue != null) {
38583905
String enumName = null;
@@ -4313,6 +4360,7 @@ protected void addParameters(CodegenContent codegenContent, List<CodegenParamete
43134360
protected void addCodegenContentParameters(CodegenOperation codegenOperation, List<CodegenContent> codegenContents) {
43144361
for (CodegenContent content : codegenContents) {
43154362
addParameters(content, codegenOperation.bodyParams);
4363+
addParameters(content, codegenOperation.formParams);
43164364
addParameters(content, codegenOperation.headerParams);
43174365
addParameters(content, codegenOperation.queryParams);
43184366
addParameters(content, codegenOperation.pathParams);

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ public SchemaHandler(DefaultCodegenConfig codegenConfig) {
3333
public void processComposedSchemas(CodegenModel codegenModel, Schema schema, Map<String, CodegenModel> allModels) {
3434
if (schema instanceof ComposedSchema) {
3535
this.addComposedModel(this.processComposedSchema(codegenModel, (ComposedSchema) schema, allModels));
36-
return;
3736
}
3837
if (schema instanceof ArraySchema) {
3938
this.addComposedModel(this.processArrayItemSchema(codegenModel, (ArraySchema) schema, allModels));

0 commit comments

Comments
 (0)