Skip to content

Commit cdc1f1e

Browse files
committed
Merge remote-tracking branch 'origin/master' into dart_client_generator
2 parents 96da8a3 + 50e6795 commit cdc1f1e

File tree

64 files changed

+555
-188
lines changed

Some content is hidden

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

64 files changed

+555
-188
lines changed

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

Lines changed: 37 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@ public abstract class DefaultCodegenConfig implements CodegenConfig {
142142
protected Map<String, String> modelDocTemplateFiles = new HashMap<String, String>();
143143
protected Map<String, String> reservedWordsMappings = new HashMap<String, String>();
144144
protected String templateDir;
145+
protected String customTemplateDir;
145146
protected String templateVersion;
146147
protected String embeddedTemplateDir;
147148
protected String commonTemplateDir = "_common";
@@ -181,8 +182,9 @@ public List<CliOption> cliOptions() {
181182

182183
public void processOpts() {
183184
if (additionalProperties.containsKey(CodegenConstants.TEMPLATE_DIR)) {
184-
this.setTemplateDir((String) additionalProperties.get(CodegenConstants.TEMPLATE_DIR));
185+
this.customTemplateDir = additionalProperties.get(CodegenConstants.TEMPLATE_DIR).toString();
185186
}
187+
this.embeddedTemplateDir = this.templateDir = getTemplateDir();
186188

187189
if (additionalProperties.get(CodegenConstants.IGNORE_IMPORT_MAPPING_OPTION) != null) {
188190
setIgnoreImportMapping(Boolean.parseBoolean( additionalProperties.get(CodegenConstants.IGNORE_IMPORT_MAPPING_OPTION).toString()));
@@ -586,6 +588,10 @@ public String embeddedTemplateDir() {
586588
}
587589
}
588590

591+
public String customTemplateDir() {
592+
return this.customTemplateDir;
593+
}
594+
589595
public String getCommonTemplateDir() {
590596
return this.commonTemplateDir;
591597
}
@@ -1431,7 +1437,7 @@ else if (schema instanceof ComposedSchema) {
14311437

14321438
if (parent != null) {
14331439
codegenModel.parentSchema = parentName;
1434-
codegenModel.parent = toModelName(parentName);
1440+
codegenModel.parent = typeMapping.containsKey(parentName) ? typeMapping.get(parentName): toModelName(parentName);
14351441
addImport(codegenModel, codegenModel.parent);
14361442
if (allDefinitions != null) {
14371443
if (supportsInheritance) {
@@ -2159,8 +2165,6 @@ public CodegenOperation fromOperation(String path, String httpMethod, Operation
21592165
requiredParams.add(formParameter.copy());
21602166
}
21612167
allParams.add(formParameter);
2162-
2163-
codegenContent.getParameters().add(formParameter.copy());
21642168
}
21652169
codegenContents.add(codegenContent);
21662170
}
@@ -2182,7 +2186,6 @@ public CodegenOperation fromOperation(String path, String httpMethod, Operation
21822186
}
21832187
}
21842188
foundSchemas.add(schema);
2185-
codegenContent.getParameters().add(bodyParam.copy());
21862189
codegenContents.add(codegenContent);
21872190
}
21882191
}
@@ -2414,8 +2417,11 @@ public CodegenParameter fromParameter(Parameter parameter, Set<String> imports)
24142417
codegenParameter.vendorExtensions.putAll(parameter.getExtensions());
24152418
}
24162419

2417-
if (parameter.getSchema() != null) {
2418-
Schema parameterSchema = parameter.getSchema();
2420+
Schema parameterSchema = parameter.getSchema();
2421+
if (parameterSchema == null) {
2422+
parameterSchema = getSchemaFromParameter(parameter);
2423+
}
2424+
if (parameterSchema != null) {
24192425
String collectionFormat = null;
24202426
if (parameterSchema instanceof ArraySchema) { // for array parameter
24212427
final ArraySchema arraySchema = (ArraySchema) parameterSchema;
@@ -3983,6 +3989,21 @@ protected Schema getSchemaFromResponse(ApiResponse response) {
39833989
return schema;
39843990
}
39853991

3992+
protected Schema getSchemaFromParameter(Parameter parameter) {
3993+
if (parameter.getContent() == null || parameter.getContent().isEmpty()) {
3994+
return null;
3995+
}
3996+
Schema schema = null;
3997+
for (String contentType : parameter.getContent().keySet()) {
3998+
schema = parameter.getContent().get(contentType).getSchema();
3999+
if (schema != null) {
4000+
schema.addExtension("x-content-type", contentType);
4001+
}
4002+
break;
4003+
}
4004+
return schema;
4005+
}
4006+
39864007
protected Parameter getParameterFromRef(String ref, OpenAPI openAPI) {
39874008
String parameterName = ref.substring(ref.lastIndexOf('/') + 1);
39884009
Map<String, Parameter> parameterMap = openAPI.getComponents().getParameters();
@@ -4258,7 +4279,7 @@ protected void configuresParameterForMediaType(CodegenOperation codegenOperation
42584279
codegenOperation.getContents().add(content);
42594280
return;
42604281
}
4261-
this.addCodegenContentParemeters(codegenOperation, codegenContents);
4282+
this.addCodegenContentParameters(codegenOperation, codegenContents);
42624283
for (CodegenContent content : codegenContents) {
42634284
if (ensureUniqueParams) {
42644285
ensureUniqueParameters(content.getParameters());
@@ -4280,7 +4301,7 @@ protected void configuresParameterForMediaType(CodegenOperation codegenOperation
42804301
codegenOperation.getContents().addAll(codegenContents);
42814302
}
42824303

4283-
protected void addParemeters(CodegenContent codegenContent, List<CodegenParameter> codegenParameters) {
4304+
protected void addParameters(CodegenContent codegenContent, List<CodegenParameter> codegenParameters) {
42844305
if (codegenParameters == null || codegenParameters.isEmpty()) {
42854306
return;
42864307
}
@@ -4289,12 +4310,14 @@ protected void addParemeters(CodegenContent codegenContent, List<CodegenParamete
42894310
}
42904311
}
42914312

4292-
protected void addCodegenContentParemeters(CodegenOperation codegenOperation, List<CodegenContent> codegenContents) {
4313+
protected void addCodegenContentParameters(CodegenOperation codegenOperation, List<CodegenContent> codegenContents) {
42934314
for (CodegenContent content : codegenContents) {
4294-
addParemeters(content, codegenOperation.headerParams);
4295-
addParemeters(content, codegenOperation.queryParams);
4296-
addParemeters(content, codegenOperation.pathParams);
4297-
addParemeters(content, codegenOperation.cookieParams);
4315+
addParameters(content, codegenOperation.bodyParams);
4316+
addParameters(content, codegenOperation.formParams);
4317+
addParameters(content, codegenOperation.headerParams);
4318+
addParameters(content, codegenOperation.queryParams);
4319+
addParameters(content, codegenOperation.pathParams);
4320+
addParameters(content, codegenOperation.cookieParams);
42984321
}
42994322
}
43004323

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

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -221,10 +221,6 @@ public void useDateTimeOffset(boolean flag) {
221221
public void processOpts() {
222222
super.processOpts();
223223

224-
if (StringUtils.isBlank(templateDir)) {
225-
embeddedTemplateDir = templateDir = getTemplateDir();
226-
}
227-
228224
// {{packageVersion}}
229225
if (additionalProperties.containsKey(CodegenConstants.PACKAGE_VERSION)) {
230226
setPackageVersion((String) additionalProperties.get(CodegenConstants.PACKAGE_VERSION));
@@ -1077,13 +1073,19 @@ public void addHandlebarHelpers(Handlebars handlebars) {
10771073
}
10781074

10791075
@Override
1080-
protected void addCodegenContentParemeters(CodegenOperation codegenOperation, List<CodegenContent> codegenContents) {
1076+
protected void addCodegenContentParameters(CodegenOperation codegenOperation, List<CodegenContent> codegenContents) {
10811077
for (CodegenContent content : codegenContents) {
1082-
addParemeters(content, codegenOperation.headerParams);
1083-
addParemeters(content, codegenOperation.queryParams);
1084-
addParemeters(content, codegenOperation.pathParams);
1078+
addParameters(content, codegenOperation.bodyParams);
1079+
addParameters(content, codegenOperation.headerParams);
1080+
addParameters(content, codegenOperation.queryParams);
1081+
addParameters(content, codegenOperation.pathParams);
10851082
}
10861083
}
1084+
1085+
@Override
1086+
public boolean checkAliasModel() {
1087+
return true;
1088+
}
10871089
/*
10881090
TODO: uncomment if/when switching to stream for file upload
10891091
@Override

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

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

1010
public class CsharpDotNet2ClientCodegen extends AbstractCSharpCodegen {
1111
public static final String CLIENT_PACKAGE = "clientPackage";
12+
public static final String USE_CSPROJ_FILE = "useCsProjFile";
1213
protected String clientPackage = "IO.Swagger.Client";
1314
protected String apiDocPath = "docs/";
1415
protected String modelDocPath = "docs/";
@@ -68,6 +69,9 @@ public void processOpts() {
6869
supportingFiles.add(new SupportingFile("packages.config.mustache", "vendor", "packages.config"));
6970
supportingFiles.add(new SupportingFile("compile-mono.sh.mustache", "", "compile-mono.sh"));
7071
supportingFiles.add(new SupportingFile("README.mustache", "", "README.md"));
72+
if (additionalProperties.containsKey(USE_CSPROJ_FILE) && Boolean.parseBoolean(additionalProperties.get(USE_CSPROJ_FILE).toString())) {
73+
supportingFiles.add(new SupportingFile("csproj.mustache", "", clientPackage + ".csproj"));
74+
}
7175

7276
}
7377

src/main/java/io/swagger/codegen/v3/generators/go/AbstractGoCodegen.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -583,4 +583,9 @@ public CodegenModel fromModel(String name, Schema schema, Map<String, Schema> al
583583
public ISchemaHandler getSchemaHandler() {
584584
return new GoSchemaHandler(this);
585585
}
586+
587+
@Override
588+
public boolean checkAliasModel() {
589+
return true;
590+
}
586591
}

src/main/java/io/swagger/codegen/v3/generators/go/GoClientCodegen.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,6 @@ public String getDefaultTemplateDir() {
3939
public void processOpts() {
4040
super.processOpts();
4141

42-
if (StringUtils.isBlank(templateDir)) {
43-
embeddedTemplateDir = templateDir = getTemplateDir();
44-
}
45-
4642
if (this.additionalProperties.containsKey("packageName")) {
4743
this.setPackageName((String)this.additionalProperties.get("packageName"));
4844
} else {

src/main/java/io/swagger/codegen/v3/generators/go/GoServerCodegen.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,6 @@ public String getDefaultTemplateDir() {
7373
public void processOpts() {
7474
super.processOpts();
7575

76-
if (StringUtils.isBlank(templateDir)) {
77-
embeddedTemplateDir = templateDir = getTemplateDir();
78-
}
79-
8076
if (additionalProperties.containsKey(CodegenConstants.PACKAGE_NAME)) {
8177
setPackageName((String) additionalProperties.get(CodegenConstants.PACKAGE_NAME));
8278
}

src/main/java/io/swagger/codegen/v3/generators/html/StaticDocCodegen.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,6 @@ public String getHelp() {
8080
@Override
8181
public void processOpts() {
8282
super.processOpts();
83-
84-
if (StringUtils.isBlank(templateDir)) {
85-
embeddedTemplateDir = templateDir = getTemplateDir();
86-
}
8783
}
8884

8985
@Override

src/main/java/io/swagger/codegen/v3/generators/html/StaticHtml2Codegen.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -149,14 +149,6 @@ public Map<String, Object> postProcessOperations(Map<String, Object> objs) {
149149
return objs;
150150
}
151151

152-
@Override
153-
public void processOpts() {
154-
super.processOpts();
155-
if (StringUtils.isBlank(templateDir)) {
156-
embeddedTemplateDir = templateDir = getTemplateDir();
157-
}
158-
}
159-
160152
@Override
161153
public void preprocessOpenAPI(OpenAPI openAPI) {
162154
super.preprocessOpenAPI(openAPI);

src/main/java/io/swagger/codegen/v3/generators/html/StaticHtmlCodegen.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -133,14 +133,6 @@ public Map<String, Object> postProcessOperations(Map<String, Object> objs) {
133133
return objs;
134134
}
135135

136-
@Override
137-
public void processOpts() {
138-
super.processOpts();
139-
if (StringUtils.isBlank(templateDir)) {
140-
embeddedTemplateDir = templateDir = getTemplateDir();
141-
}
142-
}
143-
144136
@Override
145137
public String escapeQuotationMark(String input) {
146138
// just return the original string

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

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ public abstract class AbstractJavaCodegen extends DefaultCodegenConfig {
5252
public static final String JAVA8_MODE = "java8";
5353
public static final String WITH_XML = "withXml";
5454
public static final String SUPPORT_JAVA6 = "supportJava6";
55+
public static final String ERROR_ON_UNKNOWN_ENUM = "errorOnUnknownEnum";
5556

5657
protected String dateLibrary = "threetenbp";
5758
protected boolean java8Mode = false;
@@ -333,6 +334,11 @@ public void processOpts() {
333334
this.setFullJavaUtil(Boolean.valueOf(additionalProperties.get(FULL_JAVA_UTIL).toString()));
334335
}
335336

337+
if (additionalProperties.containsKey(ERROR_ON_UNKNOWN_ENUM)) {
338+
boolean errorOnUnknownEnum = Boolean.parseBoolean(additionalProperties.get(ERROR_ON_UNKNOWN_ENUM).toString());
339+
additionalProperties.put(ERROR_ON_UNKNOWN_ENUM, errorOnUnknownEnum);
340+
}
341+
336342
if (this instanceof NotNullAnnotationFeatures) {
337343
notNullOption = (NotNullAnnotationFeatures)this;
338344
if (additionalProperties.containsKey(NOT_NULL_JACKSON_ANNOTATION)) {
@@ -1516,4 +1522,9 @@ public void setLanguageArguments(List<CodegenArgument> languageArguments) {
15161522
public boolean defaultIgnoreImportMappingOption() {
15171523
return true;
15181524
}
1525+
1526+
@Override
1527+
public boolean checkAliasModel() {
1528+
return true;
1529+
}
15191530
}

0 commit comments

Comments
 (0)