You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2018/02/21 11:12:03 UTC
[camel] 01/02: CAMEL-12266: Maven plugin for restdsl can now
generate xml.
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 <cl...@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
davsclaus@apache.org.