This is an automated email from the ASF dual-hosted git repository. dmvolod pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
commit f2f68c5e1d18d9d3a2eef3f02cdfebcb30a2346b Author: Dmitry Volodin <dmvo...@gmail.com> AuthorDate: Wed Mar 25 10:47:48 2020 +0300 CAMEL-12863: Add configOptions to camel-restdsl-swagger-plugin for swagger-codegen-plugin --- .../src/it/simple-dto/pom.xml | 3 +++ .../src/it/simple-dto/verify.groovy | 4 ++++ .../maven/generator/swagger/AbstractGenerateMojo.java | 18 +++++++++++++----- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/tooling/maven/camel-restdsl-swagger-plugin/src/it/simple-dto/pom.xml b/tooling/maven/camel-restdsl-swagger-plugin/src/it/simple-dto/pom.xml index ce4df46..35325ba 100644 --- a/tooling/maven/camel-restdsl-swagger-plugin/src/it/simple-dto/pom.xml +++ b/tooling/maven/camel-restdsl-swagger-plugin/src/it/simple-dto/pom.xml @@ -81,6 +81,9 @@ <configuration> <modelPackage>com.foo</modelPackage> <modelWithXml>false</modelWithXml> + <configOptions> + <dateLibrary>java8</dateLibrary> + </configOptions> </configuration> </execution> </executions> diff --git a/tooling/maven/camel-restdsl-swagger-plugin/src/it/simple-dto/verify.groovy b/tooling/maven/camel-restdsl-swagger-plugin/src/it/simple-dto/verify.groovy index a7f2bdf..e90cb95 100644 --- a/tooling/maven/camel-restdsl-swagger-plugin/src/it/simple-dto/verify.groovy +++ b/tooling/maven/camel-restdsl-swagger-plugin/src/it/simple-dto/verify.groovy @@ -26,3 +26,7 @@ assert data.contains('restConfiguration().component("servlet");') def File restdto = new File(basedir, "target/generated-sources/swagger/src/main/java/com/foo/Order.java") assert restdto.exists() + +def String orderData = restdto.text + +assert orderData.contains('import java.time.OffsetDateTime;') diff --git a/tooling/maven/camel-restdsl-swagger-plugin/src/main/java/org/apache/camel/maven/generator/swagger/AbstractGenerateMojo.java b/tooling/maven/camel-restdsl-swagger-plugin/src/main/java/org/apache/camel/maven/generator/swagger/AbstractGenerateMojo.java index 37767c3..2c384c2 100644 --- a/tooling/maven/camel-restdsl-swagger-plugin/src/main/java/org/apache/camel/maven/generator/swagger/AbstractGenerateMojo.java +++ b/tooling/maven/camel-restdsl-swagger-plugin/src/main/java/org/apache/camel/maven/generator/swagger/AbstractGenerateMojo.java @@ -23,10 +23,7 @@ import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; import java.net.URLClassLoader; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Optional; +import java.util.*; import org.apache.camel.generator.swagger.DestinationGenerator; import org.apache.camel.util.IOHelper; @@ -92,9 +89,13 @@ abstract class AbstractGenerateMojo extends AbstractMojo { @Parameter(defaultValue = "${project.basedir}/src/spec/swagger.json", required = true) String specificationUri; - @Parameter(defaultValue = "2.3.1") + @Parameter(defaultValue = "2.4.12") String swaggerCodegenMavenPluginVersion; + // A map of the language-specific parameters passed to the swagger-codegen-maven-plugin + @Parameter(name = "configOptions") + Map<?, ?> configOptions; + @Parameter(defaultValue = "${project}", readonly = true) private MavenProject mavenProject; @@ -174,6 +175,13 @@ abstract class AbstractGenerateMojo extends AbstractMojo { if (modelWithXml != null) { elements.add(new MojoExecutor.Element("withXml", modelPackage)); } + if (configOptions != null && !configOptions.isEmpty()) { + List<MojoExecutor.Element> options = new ArrayList<>(); + for (Map.Entry<?,?> configOption : configOptions.entrySet()) { + options.add(new MojoExecutor.Element(configOption.getKey().toString(), configOption.getValue().toString())); + } + elements.add(new MojoExecutor.Element("configOptions", options.toArray(new MojoExecutor.Element[options.size()]))); + } executeMojo( plugin(