Skip to content

Commit 411cd3c

Browse files
Merge branch 'master' into patch-1
2 parents 4db6f99 + e64828e commit 411cd3c

File tree

11 files changed

+93
-9
lines changed

11 files changed

+93
-9
lines changed

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1081,6 +1081,11 @@ protected void addCodegenContentParameters(CodegenOperation codegenOperation, Li
10811081
addParameters(content, codegenOperation.pathParams);
10821082
}
10831083
}
1084+
1085+
@Override
1086+
public boolean checkAliasModel() {
1087+
return true;
1088+
}
10841089
/*
10851090
TODO: uncomment if/when switching to stream for file upload
10861091
@Override

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/java/AbstractJavaCodegen.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1522,4 +1522,9 @@ public void setLanguageArguments(List<CodegenArgument> languageArguments) {
15221522
public boolean defaultIgnoreImportMappingOption() {
15231523
return true;
15241524
}
1525+
1526+
@Override
1527+
public boolean checkAliasModel() {
1528+
return true;
1529+
}
15251530
}

src/main/resources/handlebars/JavaMicronaut/api.mustache

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import java.util.Optional;
2828
{{>generatedAnnotation}}
2929
{{#operations}}
3030
@Controller
31-
public class {{classname}} {
31+
public interface {{classname}} {
3232
3333
{{#operation}}
3434
{{#contents}}
@@ -45,7 +45,7 @@ public class {{classname}} {
4545
})
4646
{{/implicitHeaders}}
4747
@{{#lambda.capitalise}}{{httpMethod}}{{/lambda.capitalise}}(value = "{{{path}}}"{{#hasProduces}}, produces = { {{#produces}}"{{{mediaType}}}"{{#hasMore}}, {{/hasMore}}{{/produces}} }{{/hasProduces}}{{#hasConsumes}}, consumes = {{braces "left"}}{{#consumes}}"{{{mediaType}}}"{{#hasMore}}, {{/hasMore}}{{/consumes}}{{braces "right"}}{{/hasConsumes}})
48-
public Single<HttpResponse<{{>returnTypes}}>> {{operationId}}({{#parameters}}{{>queryParams}}{{>pathParams}}{{>headerParams}}{{>bodyParams}}{{>formParams}}{{#hasMore}},{{/hasMore}}{{/parameters}}) {
48+
default Single<HttpResponse<{{>returnTypes}}>> {{operationId}}({{#parameters}}{{>queryParams}}{{>pathParams}}{{>headerParams}}{{>bodyParams}}{{>formParams}}{{#hasMore}},{{/hasMore}}{{/parameters}}) {
4949
return Single.fromCallable(() -> {
5050
throw new UnsupportedOperationException();
5151
});
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{{#isBodyParam}}@Parameter(description = "{{{description}}}" {{#defaultValue}}, defaultValue = "{{{defaultValue}}}"{{/defaultValue}}) {{#useBeanValidation}}@Valid {{/useBeanValidation}}@Body {{{dataType}}} {{paramName}}{{/isBodyParam}}
1+
{{#isBodyParam}}@Parameter(description = "{{{description}}}" {{#defaultValue}}, defaultValue = "{{{defaultValue}}}"{{/defaultValue}}) {{#useBeanValidation}}@Valid {{/useBeanValidation}}@Body {{{dataType}}} {{paramName}}{{/isBodyParam}}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{{#isHeaderParam}}@Parameter(description = "{{{description}}}" {{#defaultValue}}, defaultValue = "{{{defaultValue}}}"{{/defaultValue}}) @Header(value = "{{baseName}}") {{>optionalDataType}} {{paramName}}{{/isHeaderParam}}
1+
{{#isHeaderParam}}@Parameter(description = "{{{description}}}" {{#defaultValue}}, defaultValue = "{{{defaultValue}}}"{{/defaultValue}}) @Header(value = "{{baseName}}") {{>optionalDataType}} {{paramName}}{{/isHeaderParam}}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{{#isPathParam}}{{#useBeanValidation}}{{>beanValidationPathParams}}{{/useBeanValidation}}@Parameter(description = "{{{description}}}"{{#defaultValue}}, defaultValue = "{{{defaultValue}}}"{{/defaultValue}}) @PathVariable("{{baseName}}") {{>optionalDataType}} {{paramName}}{{/isPathParam}}
1+
{{#isPathParam}}{{#useBeanValidation}}{{>beanValidationPathParams}}{{/useBeanValidation}}@Parameter(description = "{{{description}}}"{{#defaultValue}}, defaultValue = "{{{defaultValue}}}"{{/defaultValue}}) @PathVariable("{{baseName}}") {{>optionalDataType}} {{paramName}}{{/isPathParam}}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{{#isQueryParam}}{{#useBeanValidation}}{{>beanValidationQueryParams}}{{/useBeanValidation}}@Parameter(description = "{{{description}}}"{{#defaultValue}}, defaultValue = "{{{defaultValue}}}"{{/defaultValue}}) {{#useBeanValidation}}@Valid {{#required}}@NotNull {{/required}}{{/useBeanValidation}}@QueryValue(value = "{{baseName}}"{{#defaultValue}}, defaultValue = "{{{defaultValue}}}"{{/defaultValue}}) {{>optionalDataType}} {{paramName}}{{/isQueryParam}}
1+
{{#isQueryParam}}{{#useBeanValidation}}{{>beanValidationQueryParams}}{{/useBeanValidation}}@Parameter(description = "{{{description}}}"{{#defaultValue}}, defaultValue = "{{{defaultValue}}}"{{/defaultValue}}) {{#useBeanValidation}}@Valid {{#required}}@NotNull {{/required}}{{/useBeanValidation}}@QueryValue(value = "{{baseName}}"{{#defaultValue}}, defaultValue = "{{{defaultValue}}}"{{/defaultValue}}) {{>optionalDataType}} {{paramName}}{{/isQueryParam}}

src/main/resources/handlebars/JavaMicronaut/typeInfoAnnotation.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
{{#children}}
55
@JsonSubTypes.Type(value = {{classname}}.class, name = "{{^vendorExtensions.x-discriminator-value}}{{name}}{{/vendorExtensions.x-discriminator-value}}{{#vendorExtensions.x-discriminator-value}}{{{vendorExtensions.x-discriminator-value}}}{{/vendorExtensions.x-discriminator-value}}"),
66
{{/children}}
7-
}){{/jackson}}
7+
}){{/jackson}}
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
package io.swagger.codegen.v3.generators.java;
2+
3+
import java.io.File;
4+
import java.io.IOException;
5+
6+
import org.apache.commons.io.FileUtils;
7+
import org.junit.rules.TemporaryFolder;
8+
import org.testng.Assert;
9+
import org.testng.annotations.Test;
10+
import org.testng.annotations.AfterClass;
11+
import org.testng.annotations.BeforeClass;
12+
13+
import io.swagger.codegen.v3.ClientOptInput;
14+
import io.swagger.codegen.v3.DefaultGenerator;
15+
import io.swagger.codegen.v3.config.CodegenConfigurator;
16+
import io.swagger.codegen.v3.generators.AbstractCodegenTest;
17+
18+
public class MicronautGeneratorCodegenTest extends AbstractCodegenTest {
19+
private final TemporaryFolder folder = new TemporaryFolder();
20+
private File output = null;
21+
22+
@BeforeClass
23+
public void generateCode() throws IOException {
24+
this.folder.create();
25+
output = this.folder.getRoot();
26+
27+
final CodegenConfigurator configurator = new CodegenConfigurator()
28+
.setLang("micronaut")
29+
.setInputSpecURL("src/test/resources/3_0_0/parameterOrder.yaml")
30+
.setOutputDir(output.getAbsolutePath());
31+
32+
final ClientOptInput clientOptInput = configurator.toClientOptInput();
33+
new DefaultGenerator().opts(clientOptInput).generate();
34+
}
35+
36+
@AfterClass
37+
public void cleanUp() {
38+
this.folder.delete();
39+
}
40+
41+
@Test(description = "verify that model classes are generated")
42+
public void testModels() {
43+
Assert.assertTrue(new File(output, "/src/main/java/io/swagger/model/LocalizedText.java").exists());
44+
}
45+
46+
@Test(description = "verify that configuration classes are generated")
47+
public void testConfigurations() {
48+
Assert.assertTrue(new File(output, "/src/main/java/io/swagger/configuration/UnsupportedOperationExceptionHandler.java").exists());
49+
}
50+
51+
@Test(description = "verify interface api generated")
52+
public void testApiInterface() throws IOException {
53+
final String expectedContent = "@Controller" + System.lineSeparator()
54+
+ "public interface AdminApi {";
55+
final File controllerFile = new File(output, "/src/main/java/io/swagger/api/AdminApi.java");
56+
final String content = FileUtils.readFileToString(controllerFile);
57+
Assert.assertTrue(content.contains(expectedContent));
58+
}
59+
60+
@Test(description = "verify that parameters are listed as follows: header, query, path, cookie, body")
61+
public void testApiParameters() throws IOException {
62+
final String expectedContent = "default Single<HttpResponse<LocalizedText>> updateTest(@Parameter(description = \"Localized Text object containing updated data.\" ) @Valid @Body LocalizedText body" + System.lineSeparator()
63+
+ ",@Parameter(description = \"description\") @PathVariable(\"id\") Long id" + System.lineSeparator()
64+
+ ")";
65+
final File controllerFile = new File(output, "/src/main/java/io/swagger/api/AdminApi.java");
66+
final String content = FileUtils.readFileToString(controllerFile);
67+
Assert.assertTrue(content.contains(expectedContent));
68+
}
69+
}

0 commit comments

Comments
 (0)