From 407c9121bfaf064d66602ea4567f0de747d57c32 Mon Sep 17 00:00:00 2001 From: Tony Tam Date: Fri, 22 Jan 2016 20:54:15 -0800 Subject: [PATCH 1/3] switched from `paramName` to `baseName` to avoid changing format --- .../src/main/resources/htmlDocs/bodyParam.mustache | 2 +- .../src/main/resources/htmlDocs/formParam.mustache | 2 +- .../src/main/resources/htmlDocs/headerParam.mustache | 2 +- .../src/main/resources/htmlDocs/pathParam.mustache | 2 +- .../src/main/resources/htmlDocs/queryParam.mustache | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/swagger-codegen/src/main/resources/htmlDocs/bodyParam.mustache b/modules/swagger-codegen/src/main/resources/htmlDocs/bodyParam.mustache index 2fd81183a5ba..45b0373e9c58 100644 --- a/modules/swagger-codegen/src/main/resources/htmlDocs/bodyParam.mustache +++ b/modules/swagger-codegen/src/main/resources/htmlDocs/bodyParam.mustache @@ -1,3 +1,3 @@ -{{#isBodyParam}}
{{paramName}} {{^required}}(optional){{/required}}{{#required}}(required){{/required}}
+{{#isBodyParam}}
{{baseName}} {{^required}}(optional){{/required}}{{#required}}(required){{/required}}
Body Parameter — {{description}} {{#defaultValue}}default: {{{defaultValue}}}{{/defaultValue}}
{{/isBodyParam}} \ No newline at end of file diff --git a/modules/swagger-codegen/src/main/resources/htmlDocs/formParam.mustache b/modules/swagger-codegen/src/main/resources/htmlDocs/formParam.mustache index 97f342e60d70..33b46101417c 100644 --- a/modules/swagger-codegen/src/main/resources/htmlDocs/formParam.mustache +++ b/modules/swagger-codegen/src/main/resources/htmlDocs/formParam.mustache @@ -1,3 +1,3 @@ -{{#isFormParam}}
{{paramName}} {{^required}}(optional){{/required}}{{#required}}(required){{/required}}
+{{#isFormParam}}
{{baseName}} {{^required}}(optional){{/required}}{{#required}}(required){{/required}}
Form Parameter — {{description}} {{#defaultValue}}default: {{{defaultValue}}}{{/defaultValue}}
{{/isFormParam}} \ No newline at end of file diff --git a/modules/swagger-codegen/src/main/resources/htmlDocs/headerParam.mustache b/modules/swagger-codegen/src/main/resources/htmlDocs/headerParam.mustache index 903713493be5..f5390e7aea1f 100644 --- a/modules/swagger-codegen/src/main/resources/htmlDocs/headerParam.mustache +++ b/modules/swagger-codegen/src/main/resources/htmlDocs/headerParam.mustache @@ -1,3 +1,3 @@ -{{#isHeaderParam}}
{{paramName}} {{^required}}(optional){{/required}}{{#required}}(required){{/required}}
+{{#isHeaderParam}}
{{baseName}} {{^required}}(optional){{/required}}{{#required}}(required){{/required}}
Header Parameter — {{description}} {{#defaultValue}}default: {{{defaultValue}}}{{/defaultValue}}
{{/isHeaderParam}} \ No newline at end of file diff --git a/modules/swagger-codegen/src/main/resources/htmlDocs/pathParam.mustache b/modules/swagger-codegen/src/main/resources/htmlDocs/pathParam.mustache index b47805a4f04a..b3590871cfa0 100644 --- a/modules/swagger-codegen/src/main/resources/htmlDocs/pathParam.mustache +++ b/modules/swagger-codegen/src/main/resources/htmlDocs/pathParam.mustache @@ -1,3 +1,3 @@ -{{#isPathParam}}
{{paramName}} {{^required}}(optional){{/required}}{{#required}}(required){{/required}}
+{{#isPathParam}}
{{baseName}} {{^required}}(optional){{/required}}{{#required}}(required){{/required}}
Path Parameter — {{description}} {{#defaultValue}}default: {{{defaultValue}}}{{/defaultValue}}
{{/isPathParam}} \ No newline at end of file diff --git a/modules/swagger-codegen/src/main/resources/htmlDocs/queryParam.mustache b/modules/swagger-codegen/src/main/resources/htmlDocs/queryParam.mustache index 52147fbd7188..27f02a23d814 100644 --- a/modules/swagger-codegen/src/main/resources/htmlDocs/queryParam.mustache +++ b/modules/swagger-codegen/src/main/resources/htmlDocs/queryParam.mustache @@ -1,3 +1,3 @@ -{{#isQueryParam}}
{{paramName}} {{^required}}(optional){{/required}}{{#required}}(required){{/required}}
+{{#isQueryParam}}
{{baseName}} {{^required}}(optional){{/required}}{{#required}}(required){{/required}}
Query Parameter — {{description}} {{#defaultValue}}default: {{{defaultValue}}}{{/defaultValue}}
{{/isQueryParam}} \ No newline at end of file From b641d4a17a8388d3fc0d90eed9516032942394fa Mon Sep 17 00:00:00 2001 From: Tony Tam Date: Mon, 25 Jan 2016 21:33:58 -0800 Subject: [PATCH 2/3] refactored for access in maven plugin --- .../src/main/java/io/swagger/codegen/cmd/Generate.java | 2 +- .../test/java/io/swagger/codegen/cmd/utils/OptionUtilsTest.java | 1 + .../src/main/java/io/swagger/codegen}/utils/OptionUtils.java | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) rename modules/{swagger-codegen-cli/src/main/java/io/swagger/codegen/cmd => swagger-codegen/src/main/java/io/swagger/codegen}/utils/OptionUtils.java (96%) diff --git a/modules/swagger-codegen-cli/src/main/java/io/swagger/codegen/cmd/Generate.java b/modules/swagger-codegen-cli/src/main/java/io/swagger/codegen/cmd/Generate.java index 4fad4308a670..04d60e2ec88b 100644 --- a/modules/swagger-codegen-cli/src/main/java/io/swagger/codegen/cmd/Generate.java +++ b/modules/swagger-codegen-cli/src/main/java/io/swagger/codegen/cmd/Generate.java @@ -5,7 +5,7 @@ import io.airlift.airline.Option; import io.swagger.codegen.ClientOptInput; import io.swagger.codegen.CodegenConstants; import io.swagger.codegen.DefaultGenerator; -import io.swagger.codegen.cmd.utils.OptionUtils; +import io.swagger.codegen.utils.OptionUtils; import io.swagger.codegen.config.CodegenConfigurator; import org.apache.commons.lang3.tuple.Pair; import org.slf4j.Logger; diff --git a/modules/swagger-codegen-cli/src/test/java/io/swagger/codegen/cmd/utils/OptionUtilsTest.java b/modules/swagger-codegen-cli/src/test/java/io/swagger/codegen/cmd/utils/OptionUtilsTest.java index 480631c913cd..db88cdcdb9d4 100644 --- a/modules/swagger-codegen-cli/src/test/java/io/swagger/codegen/cmd/utils/OptionUtilsTest.java +++ b/modules/swagger-codegen-cli/src/test/java/io/swagger/codegen/cmd/utils/OptionUtilsTest.java @@ -1,5 +1,6 @@ package io.swagger.codegen.cmd.utils; +import io.swagger.codegen.utils.OptionUtils; import org.apache.commons.lang3.tuple.Pair; import org.junit.Test; diff --git a/modules/swagger-codegen-cli/src/main/java/io/swagger/codegen/cmd/utils/OptionUtils.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/utils/OptionUtils.java similarity index 96% rename from modules/swagger-codegen-cli/src/main/java/io/swagger/codegen/cmd/utils/OptionUtils.java rename to modules/swagger-codegen/src/main/java/io/swagger/codegen/utils/OptionUtils.java index 34d567274125..52afb51c89ce 100644 --- a/modules/swagger-codegen-cli/src/main/java/io/swagger/codegen/cmd/utils/OptionUtils.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/utils/OptionUtils.java @@ -1,4 +1,4 @@ -package io.swagger.codegen.cmd.utils; +package io.swagger.codegen.utils; import org.apache.commons.lang3.tuple.Pair; From 3ddccb5e5cf8ed53f2386070ca8346d11b7fdb8d Mon Sep 17 00:00:00 2001 From: Tony Tam Date: Mon, 25 Jan 2016 21:34:28 -0800 Subject: [PATCH 3/3] fix for #1976, added missing types --- .../swagger/codegen/plugin/CodeGenMojo.java | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/modules/swagger-codegen-maven-plugin/src/main/java/io/swagger/codegen/plugin/CodeGenMojo.java b/modules/swagger-codegen-maven-plugin/src/main/java/io/swagger/codegen/plugin/CodeGenMojo.java index 1608329f9532..f0afc2999daa 100644 --- a/modules/swagger-codegen-maven-plugin/src/main/java/io/swagger/codegen/plugin/CodeGenMojo.java +++ b/modules/swagger-codegen-maven-plugin/src/main/java/io/swagger/codegen/plugin/CodeGenMojo.java @@ -19,8 +19,10 @@ package io.swagger.codegen.plugin; import config.Config; import config.ConfigParser; import io.swagger.codegen.*; +import io.swagger.codegen.utils.OptionUtils; import io.swagger.models.Swagger; import io.swagger.parser.SwaggerParser; +import org.apache.commons.lang3.tuple.Pair; import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugins.annotations.LifecyclePhase; @@ -30,6 +32,7 @@ import org.apache.maven.project.MavenProject; import java.io.File; import java.util.HashMap; +import java.util.List; import java.util.Map; import static io.swagger.codegen.plugin.AdditionalParams.*; @@ -160,6 +163,20 @@ public class CodeGenMojo extends AbstractMojo { configOptions.get(langCliOption.getOpt())); } } + if(configOptions.containsKey("import-mappings")) { + Map mappings = createMapFromKeyValuePairs(configOptions.get("import-mappings").toString()); + config.importMapping().putAll(mappings); + } + + if(configOptions.containsKey("type-mappings")) { + Map mappings = createMapFromKeyValuePairs(configOptions.get("type-mappings").toString()); + config.typeMapping().putAll(mappings); + } + + if(configOptions.containsKey("instantiation-types")) { + Map mappings = createMapFromKeyValuePairs(configOptions.get("instantiation-types").toString()); + config.instantiationTypes().putAll(mappings); + } } if (null != configurationFile) { @@ -200,4 +217,16 @@ public class CodeGenMojo extends AbstractMojo { project.addCompileSourceRoot(output.toString()); } } + + private static Map createMapFromKeyValuePairs(String commaSeparatedKVPairs) { + final List> pairs = OptionUtils.parseCommaSeparatedTuples(commaSeparatedKVPairs); + + Map result = new HashMap(); + + for (Pair pair : pairs) { + result.put(pair.getLeft(), pair.getRight()); + } + + return result; + } }