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 ca878458def952fc75523b066d9ad8efeac9ee8a Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Wed Feb 21 12:09:43 2018 +0100 CAMEL-12266: Maven plugin for restdsl can now generate xml. --- .../camel-restdsl-swagger-plugin/src/it/simple-xml/pom.xml | 3 +++ .../src/main/docs/camel-package-maven-plugin.adoc | 1 + .../camel/maven/generator/swagger/GenerateXmlMojo.java | 12 +++++++++++- .../apache/camel/generator/swagger/RestDslXmlGenerator.java | 10 ++++++++++ .../camel/generator/swagger/RestDslXmlGeneratorTest.java | 10 ++++++++++ 5 files changed, 35 insertions(+), 1 deletion(-) diff --git a/tooling/maven/camel-restdsl-swagger-plugin/src/it/simple-xml/pom.xml b/tooling/maven/camel-restdsl-swagger-plugin/src/it/simple-xml/pom.xml index 19b22f4..def5610 100644 --- a/tooling/maven/camel-restdsl-swagger-plugin/src/it/simple-xml/pom.xml +++ b/tooling/maven/camel-restdsl-swagger-plugin/src/it/simple-xml/pom.xml @@ -45,6 +45,9 @@ <goals> <goal>generate-xml</goal> </goals> + <configuration> + <blueprint>true</blueprint> + </configuration> </execution> </executions> </plugin> diff --git a/tooling/maven/camel-restdsl-swagger-plugin/src/main/docs/camel-package-maven-plugin.adoc b/tooling/maven/camel-restdsl-swagger-plugin/src/main/docs/camel-package-maven-plugin.adoc index 10bd474..7528863 100644 --- a/tooling/maven/camel-restdsl-swagger-plugin/src/main/docs/camel-package-maven-plugin.adoc +++ b/tooling/maven/camel-restdsl-swagger-plugin/src/main/docs/camel-package-maven-plugin.adoc @@ -49,6 +49,7 @@ in the `<configuration>` tag. | `specificationUri` | `src/spec/swagger.json` | URI of the Swagger specification, loaded using Swagger's resource loading mechanism, supports filesystem paths, HTTP and classpath resources, by default `src/spec/swagger.json` within the project directory | `outputDirectory` | `generated-sources/restdsl-swagger` | Where to place the generated source file, by default `generated-sources/restdsl-swagger` within the project directory | `fileName` | `camel-rest.xml` | The name of the XML file as output. +| `blueprint` | `false` | If enabled generates OSGi Blueprint XML instead of Spring XML. | `destinationGenerator` | | Fully qualified class name of the class that implements `org.apache.camel.generator.swagger.DestinationGenerator` interface for customizing destination endpoint |======================================== diff --git a/tooling/maven/camel-restdsl-swagger-plugin/src/main/java/org/apache/camel/maven/generator/swagger/GenerateXmlMojo.java b/tooling/maven/camel-restdsl-swagger-plugin/src/main/java/org/apache/camel/maven/generator/swagger/GenerateXmlMojo.java index d18c7ee..4910a16 100644 --- a/tooling/maven/camel-restdsl-swagger-plugin/src/main/java/org/apache/camel/maven/generator/swagger/GenerateXmlMojo.java +++ b/tooling/maven/camel-restdsl-swagger-plugin/src/main/java/org/apache/camel/maven/generator/swagger/GenerateXmlMojo.java @@ -26,7 +26,6 @@ import org.apache.camel.generator.swagger.DestinationGenerator; import org.apache.camel.generator.swagger.RestDslGenerator; import org.apache.camel.generator.swagger.RestDslXmlGenerator; import org.apache.camel.impl.DefaultCamelContext; -import org.apache.camel.util.IOHelper; import org.apache.camel.util.ObjectHelper; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; @@ -45,6 +44,9 @@ public class GenerateXmlMojo extends AbstractGenerateMojo { @Parameter(defaultValue = "camel-rest.xml", required = true) private String fileName; + @Parameter(defaultValue = "false") + boolean blueprint; + @Override public void execute() throws MojoExecutionException, MojoFailureException { if (skip) { @@ -62,6 +64,14 @@ public class GenerateXmlMojo extends AbstractGenerateMojo { final RestDslXmlGenerator generator = RestDslGenerator.toXml(swagger); + System.out.println(blueprint); + System.out.println(blueprint); + System.out.println(blueprint); + + if (blueprint) { + generator.withBlueprint(); + } + if (ObjectHelper.isNotEmpty(destinationGenerator)) { final DestinationGenerator destinationGeneratorObject = createDestinationGenerator(); diff --git a/tooling/swagger-rest-dsl-generator/src/main/java/org/apache/camel/generator/swagger/RestDslXmlGenerator.java b/tooling/swagger-rest-dsl-generator/src/main/java/org/apache/camel/generator/swagger/RestDslXmlGenerator.java index 8afc963..1b1b944 100644 --- a/tooling/swagger-rest-dsl-generator/src/main/java/org/apache/camel/generator/swagger/RestDslXmlGenerator.java +++ b/tooling/swagger-rest-dsl-generator/src/main/java/org/apache/camel/generator/swagger/RestDslXmlGenerator.java @@ -23,10 +23,17 @@ import org.apache.camel.model.rest.RestsDefinition; public class RestDslXmlGenerator extends RestDslGenerator<RestDslXmlGenerator> { + private boolean blueprint; + RestDslXmlGenerator(final Swagger swagger) { super(swagger); } + public RestDslXmlGenerator withBlueprint() { + this.blueprint = true; + return this; + } + public String generate(final CamelContext context) throws Exception { final RestDefinitionEmitter emitter = new RestDefinitionEmitter(context); @@ -36,6 +43,9 @@ public class RestDslXmlGenerator extends RestDslGenerator<RestDslXmlGenerator> { RestsDefinition rests = emitter.result(); String xml = ModelHelper.dumpModelAsXml(context, rests); + if (blueprint) { + xml = xml.replace("http://camel.apache.org/schema/spring", "http://camel.apache.org/schema/blueprint"); + } return xml; } } diff --git a/tooling/swagger-rest-dsl-generator/src/test/java/org/apache/camel/generator/swagger/RestDslXmlGeneratorTest.java b/tooling/swagger-rest-dsl-generator/src/test/java/org/apache/camel/generator/swagger/RestDslXmlGeneratorTest.java index 0610b56..fed3779 100644 --- a/tooling/swagger-rest-dsl-generator/src/test/java/org/apache/camel/generator/swagger/RestDslXmlGeneratorTest.java +++ b/tooling/swagger-rest-dsl-generator/src/test/java/org/apache/camel/generator/swagger/RestDslXmlGeneratorTest.java @@ -39,6 +39,16 @@ public class RestDslXmlGeneratorTest { final String xml = RestDslGenerator.toXml(swagger).generate(context); assertThat(xml).isNotEmpty(); + assertThat(xml.contains("http://camel.apache.org/schema/spring")); + } + + @Test + public void shouldGenerateBlueprintXml() throws Exception { + final CamelContext context = new DefaultCamelContext(); + + final String xml = RestDslGenerator.toXml(swagger).withBlueprint().generate(context); + assertThat(xml).isNotEmpty(); + assertThat(xml.contains("http://camel.apache.org/schema/blueprint")); } @Test -- To stop receiving notification emails like this one, please contact davscl...@apache.org.