This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 6452b6c3a921b7f8380f962e04fbde4a7fbd2c72
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Thu Sep 27 11:53:33 2018 +0200

    CAMEL-12828: camel-restdsl-swagger:generate - Add option to generate dto 
objects
---
 .../src/it/simple-dto/pom.xml                      |  3 +++
 .../src/it/simple-dto/verify.groovy                |  2 +-
 .../main/docs/camel-restdsl-swagger-plugin.adoc    |  2 ++
 .../generator/swagger/AbstractGenerateMojo.java    | 29 ++++++++++++++++------
 .../generator/swagger/GenerateWithDtoMojo.java     |  2 +-
 .../generator/swagger/GenerateXmlWithDtoMojo.java  |  2 +-
 6 files changed, 30 insertions(+), 10 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 29d0953..005ad2a 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
@@ -68,6 +68,9 @@
             <goals>
               <goal>generate-with-dto</goal>
             </goals>
+            <configuration>
+              <modelPackage>com.foo</modelPackage>
+            </configuration>
           </execution>
         </executions>
       </plugin>
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 8d0e667..87d52d1 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
@@ -19,6 +19,6 @@ def File restdsl = new File(basedir, 
"target/generated-sources/restdsl-swagger/i
 
 assert restdsl.exists()
 
-def File restdto = new File(basedir, 
"target/generated-sources/swagger/src/main/java/io/swagger/client/model/Order.java")
+def File restdto = new File(basedir, 
"target/generated-sources/swagger/src/main/java/com/foo/Order.java")
 
 assert restdto.exists()
diff --git 
a/tooling/maven/camel-restdsl-swagger-plugin/src/main/docs/camel-restdsl-swagger-plugin.adoc
 
b/tooling/maven/camel-restdsl-swagger-plugin/src/main/docs/camel-restdsl-swagger-plugin.adoc
index 542f0d4..a999532 100644
--- 
a/tooling/maven/camel-restdsl-swagger-plugin/src/main/docs/camel-restdsl-swagger-plugin.adoc
+++ 
b/tooling/maven/camel-restdsl-swagger-plugin/src/main/docs/camel-restdsl-swagger-plugin.adoc
@@ -53,6 +53,7 @@ The plugin supports the following *additional* options
 |========================================
 | Parameter | Default Value | Description
 | `swaggerCodegenMavenPluginVersion` | 2.3.1 | The version of the 
`io.swagger:swagger-codegen-maven-plugin` maven plugin to be used.
+| `modelPackage` | `io.swagger.client.model` | The package to use for 
generated model objects/classes
 |========================================
 
 
@@ -92,5 +93,6 @@ The plugin supports the following *additional* options
 |========================================
 | Parameter | Default Value | Description
 | `swaggerCodegenMavenPluginVersion` | 2.3.1 | The version of the 
`io.swagger:swagger-codegen-maven-plugin` maven plugin to be used.
+| `modelPackage` | `io.swagger.client.model` | The package to use for 
generated model objects/classes
 |========================================
 
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 4eb403f..5ed1126 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
@@ -21,6 +21,8 @@ import java.io.IOException;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URLClassLoader;
+import java.util.ArrayList;
+import java.util.List;
 
 import org.apache.camel.generator.swagger.DestinationGenerator;
 import org.apache.maven.execution.MavenSession;
@@ -30,6 +32,7 @@ import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugins.annotations.Component;
 import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
+import org.twdata.maven.mojoexecutor.MojoExecutor;
 
 import static org.twdata.maven.mojoexecutor.MojoExecutor.artifactId;
 import static org.twdata.maven.mojoexecutor.MojoExecutor.configuration;
@@ -62,6 +65,9 @@ abstract class AbstractGenerateMojo extends AbstractMojo {
     @Parameter(defaultValue = "2.3.1")
     String swaggerCodegenMavenPluginVersion;
 
+    @Parameter
+    String modelPackage;
+
     @Parameter(defaultValue = "${project}", readonly = true)
     private MavenProject mavenProject;
 
@@ -112,9 +118,23 @@ abstract class AbstractGenerateMojo extends AbstractMojo {
         return destinationGeneratorObject;
     }
 
-    void generateDto() throws MojoExecutionException {
+    void generateDto(String language) throws MojoExecutionException {
         getLog().info("Generating DTO classes using 
io.swagger:swagger-codegen-maven-plugin:" + swaggerCodegenMavenPluginVersion);
 
+        // swagger-codegen-maven-plugin documentation and its supported options
+        // 
https://github.com/swagger-api/swagger-codegen/tree/master/modules/swagger-codegen-maven-plugin
+
+        List<MojoExecutor.Element> elements = new ArrayList<>();
+        elements.add(new MojoExecutor.Element("inputSpec", specificationUri));
+        elements.add(new MojoExecutor.Element("language", language));
+        elements.add(new MojoExecutor.Element("generateApis", "false"));
+        elements.add(new MojoExecutor.Element("generateModelTests", "false"));
+        elements.add(new MojoExecutor.Element("generateModelDocumentation", 
"false"));
+        elements.add(new MojoExecutor.Element("generateSupportingFiles", 
"false"));
+        if (modelPackage != null) {
+            elements.add(new MojoExecutor.Element("modelPackage", 
modelPackage));
+        }
+
         executeMojo(
             plugin(
                 groupId("io.swagger"),
@@ -123,12 +143,7 @@ abstract class AbstractGenerateMojo extends AbstractMojo {
             ),
             goal("generate"),
             configuration(
-                element(name("inputSpec"), specificationUri),
-                element(name("language"), "java"),
-                element(name("generateApis"), "false"),
-                element(name("generateModelTests"), "false"),
-                element(name("generateModelDocumentation"), "false"),
-                element(name("generateSupportingFiles"), "false")
+                elements.toArray(new MojoExecutor.Element[elements.size()])
             ),
             executionEnvironment(
                 mavenProject,
diff --git 
a/tooling/maven/camel-restdsl-swagger-plugin/src/main/java/org/apache/camel/maven/generator/swagger/GenerateWithDtoMojo.java
 
b/tooling/maven/camel-restdsl-swagger-plugin/src/main/java/org/apache/camel/maven/generator/swagger/GenerateWithDtoMojo.java
index 42e491f..31cc880 100644
--- 
a/tooling/maven/camel-restdsl-swagger-plugin/src/main/java/org/apache/camel/maven/generator/swagger/GenerateWithDtoMojo.java
+++ 
b/tooling/maven/camel-restdsl-swagger-plugin/src/main/java/org/apache/camel/maven/generator/swagger/GenerateWithDtoMojo.java
@@ -32,7 +32,7 @@ public class GenerateWithDtoMojo extends GenerateMojo {
         }
         super.execute();
 
-        generateDto();
+        generateDto("java");
     }
 
 }
diff --git 
a/tooling/maven/camel-restdsl-swagger-plugin/src/main/java/org/apache/camel/maven/generator/swagger/GenerateXmlWithDtoMojo.java
 
b/tooling/maven/camel-restdsl-swagger-plugin/src/main/java/org/apache/camel/maven/generator/swagger/GenerateXmlWithDtoMojo.java
index 8ba601b..58f9600 100644
--- 
a/tooling/maven/camel-restdsl-swagger-plugin/src/main/java/org/apache/camel/maven/generator/swagger/GenerateXmlWithDtoMojo.java
+++ 
b/tooling/maven/camel-restdsl-swagger-plugin/src/main/java/org/apache/camel/maven/generator/swagger/GenerateXmlWithDtoMojo.java
@@ -33,7 +33,7 @@ public class GenerateXmlWithDtoMojo extends GenerateXmlMojo {
         }
         super.execute();
 
-        generateDto();
+        generateDto("java");
     }
 
 }

Reply via email to