Skip to content

Commit bb50efa

Browse files
authored
Merge branch 'master' into codegen-issue-728
2 parents e839b7c + 74be7ac commit bb50efa

Some content is hidden

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

44 files changed

+1162
-92
lines changed

pom.xml

Lines changed: 3 additions & 3 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.22-SNAPSHOT</version>
15+
<version>1.0.23-SNAPSHOT</version>
1616
<packaging>jar</packaging>
1717

1818
<build>
@@ -252,8 +252,8 @@
252252
</dependency>
253253
</dependencies>
254254
<properties>
255-
<swagger-codegen-version>3.0.22-SNAPSHOT</swagger-codegen-version>
256-
<swagger-parser-version>2.0.21</swagger-parser-version>
255+
<swagger-codegen-version>3.0.23-SNAPSHOT</swagger-codegen-version>
256+
<swagger-parser-version>2.0.22</swagger-parser-version>
257257
<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>

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

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -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());

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));

src/main/java/io/swagger/codegen/v3/generators/dotnet/AbstractCSharpCodegen.java

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import io.swagger.codegen.v3.generators.handlebars.lambda.LowercaseLambda;
1616
import io.swagger.codegen.v3.generators.handlebars.lambda.TitlecaseLambda;
1717
import io.swagger.codegen.v3.generators.handlebars.lambda.UppercaseLambda;
18+
import io.swagger.codegen.v3.generators.util.OpenAPIUtil;
1819
import io.swagger.codegen.v3.utils.ModelUtils;
1920
import io.swagger.codegen.v3.utils.URLPathUtil;
2021
import io.swagger.v3.oas.models.OpenAPI;
@@ -31,6 +32,7 @@
3132
import io.swagger.v3.oas.models.responses.ApiResponse;
3233
import io.swagger.v3.parser.util.SchemaTypeUtil;
3334
import org.apache.commons.lang3.StringUtils;
35+
import org.apache.commons.lang3.math.NumberUtils;
3436
import org.slf4j.Logger;
3537
import org.slf4j.LoggerFactory;
3638

@@ -437,7 +439,6 @@ private void postProcessEnumRefs(final Map<String, Object> models) {
437439

438440
// We do these after updateCodegenPropertyEnum to avoid generalities that don't mesh with C#.
439441
var.getVendorExtensions().put(CodegenConstants.IS_PRIMITIVE_TYPE_EXT_NAME, Boolean.TRUE);
440-
var.getVendorExtensions().put(IS_ENUM_EXT_NAME, Boolean.TRUE);
441442
}
442443
}
443444

@@ -748,6 +749,14 @@ protected boolean isReservedWord(String word) {
748749
@Override
749750
public String getSchemaType(Schema propertySchema) {
750751
String swaggerType = super.getSchemaType(propertySchema);
752+
753+
if (propertySchema.get$ref() != null) {
754+
final Schema refSchema = OpenAPIUtil.getSchemaFromName(swaggerType, this.openAPI);
755+
if (refSchema != null && !isObjectSchema(refSchema) && refSchema.getEnum() == null) {
756+
swaggerType = super.getSchemaType(refSchema);
757+
}
758+
}
759+
751760
String type;
752761

753762
if (swaggerType == null) {
@@ -938,6 +947,12 @@ public String toEnumVarName(String name, String datatype) {
938947
// for symbol, e.g. $, #
939948
if (getSymbolName(name) != null) {
940949
return camelize(getSymbolName(name));
950+
}
951+
952+
if (NumberUtils.isNumber(name)) {
953+
return "NUMBER_" + name.replaceAll("-", "MINUS_")
954+
.replaceAll("\\+", "PLUS_")
955+
.replaceAll("\\.", "_DOT_");
941956
}
942957

943958
String enumName = sanitizeName(name);

src/main/java/io/swagger/codegen/v3/generators/dotnet/AspNetCoreServerCodegen.java

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public class AspNetCoreServerCodegen extends AbstractCSharpCodegen {
3030
private static final String ASP_NET_CORE_VERSION_OPTION = "--aspnet-core-version";
3131
private static final String INTERFACE_ONLY_OPTION = "--interface-only";
3232
private static final String INTERFACE_CONTROLLER_OPTION = "--interface-controller";
33-
private final String DEFAULT_ASP_NET_CORE_VERSION = "3.0";
33+
private final String DEFAULT_ASP_NET_CORE_VERSION = "3.1";
3434
private String aspNetCoreVersion;
3535

3636
@SuppressWarnings("hiding")
@@ -139,6 +139,8 @@ public void processOpts() {
139139

140140
String packageFolder = sourceFolder + File.separator + packageName;
141141

142+
boolean isThreeDotOneVersion = aspNetCoreVersion.equals("3.1");
143+
142144
if (aspNetCoreVersion.equals("2.0")) {
143145
apiTemplateFiles.put("controller.mustache", ".cs");
144146
addInterfaceControllerTemplate();
@@ -168,7 +170,11 @@ public void processOpts() {
168170

169171
supportingFiles.add(new SupportingFile("3.0/Startup.mustache", packageFolder, "Startup.cs"));
170172
supportingFiles.add(new SupportingFile("3.0/Program.mustache", packageFolder, "Program.cs"));
171-
supportingFiles.add(new SupportingFile("3.0/Project.csproj.mustache", packageFolder, this.packageName + ".csproj"));
173+
if (isThreeDotOneVersion) {
174+
supportingFiles.add(new SupportingFile("3.1/Project.csproj.mustache", packageFolder, this.packageName + ".csproj"));
175+
} else {
176+
supportingFiles.add(new SupportingFile("3.0/Project.csproj.mustache", packageFolder, this.packageName + ".csproj"));
177+
}
172178
supportingFiles.add(new SupportingFile("3.0/Dockerfile.mustache", packageFolder, "Dockerfile"));
173179
}
174180

@@ -193,7 +199,11 @@ public void processOpts() {
193199
supportingFiles.add(new SupportingFile("validateModel.mustache", packageFolder + File.separator + "Attributes", "ValidateModelStateAttribute.cs"));
194200
supportingFiles.add(new SupportingFile("web.config", packageFolder, "web.config"));
195201

196-
supportingFiles.add(new SupportingFile("Properties" + File.separator + "launchSettings.json", packageFolder + File.separator + "Properties", "launchSettings.json"));
202+
if (isThreeDotOneVersion) {
203+
supportingFiles.add(new SupportingFile("3.1/Properties" + File.separator + "launchSettings.json", packageFolder + File.separator + "Properties", "launchSettings.json"));
204+
} else {
205+
supportingFiles.add(new SupportingFile("Properties" + File.separator + "launchSettings.json", packageFolder + File.separator + "Properties", "launchSettings.json"));
206+
}
197207

198208
supportingFiles.add(new SupportingFile("wwwroot" + File.separator + "README.md", packageFolder + File.separator + "wwwroot", "README.md"));
199209
supportingFiles.add(new SupportingFile("wwwroot" + File.separator + "index.html", packageFolder + File.separator + "wwwroot", "index.html"));

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,5 +246,8 @@ public void setUseBeanValidation(boolean useBeanValidation) {
246246
this.useBeanValidation = useBeanValidation;
247247
}
248248

249-
249+
@Override
250+
public String getArgumentsLocation() {
251+
return "/arguments/server.yaml";
252+
}
250253
}

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

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -190,11 +190,6 @@ public void processOpts() {
190190
}
191191
}
192192

193-
@Override
194-
public String getArgumentsLocation() {
195-
return "";
196-
}
197-
198193
@Override
199194
public String getName() {
200195
return "jaxrs-cxf";

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

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import io.swagger.codegen.v3.CodegenOperation;
77
import io.swagger.codegen.v3.CodegenProperty;
88
import io.swagger.codegen.v3.SupportingFile;
9-
import io.swagger.codegen.v3.generators.util.OpenAPIUtil;
109
import io.swagger.v3.core.util.Json;
1110
import io.swagger.v3.oas.models.OpenAPI;
1211
import io.swagger.v3.oas.models.Operation;
@@ -105,11 +104,6 @@ public void processOpts() {
105104
}
106105
}
107106

108-
@Override
109-
public String getArgumentsLocation() {
110-
return "";
111-
}
112-
113107
@Override
114108
public String getDefaultTemplateDir() {
115109
return JAXRS_TEMPLATE_DIRECTORY_NAME + "/spec";

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

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -143,11 +143,6 @@ public void addSupportingFiles() {
143143
supportingFiles.add(new SupportingFile("StringUtil.mustache", (sourceFolder + '/' + apiPackage).replace(".", "/"), "StringUtil.java"));
144144
}
145145

146-
@Override
147-
public String getArgumentsLocation() {
148-
return "";
149-
}
150-
151146
@Override
152147
public String getDefaultTemplateDir() {
153148
return JAXRS_TEMPLATE_DIRECTORY_NAME;

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

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -105,11 +105,6 @@ public void processOpts() {
105105

106106
}
107107

108-
@Override
109-
public String getArgumentsLocation() {
110-
return "";
111-
}
112-
113108
@Override
114109
public String getDefaultTemplateDir() {
115110
return JAXRS_TEMPLATE_DIRECTORY_NAME + "/resteasy/eap";

0 commit comments

Comments
 (0)