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 2015/09/23 11:35:49 UTC

[13/16] camel git commit: CAMEL-8545: camel-swagger-java to run outside servlet - work in progress

CAMEL-8545: camel-swagger-java to run outside servlet - work in progress


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/d975acd2
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/d975acd2
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/d975acd2

Branch: refs/heads/master
Commit: d975acd2030d672a8843b3fd78d3b6e108b4fd22
Parents: 8fff52a
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Sep 23 09:54:38 2015 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Sep 23 09:54:38 2015 +0200

----------------------------------------------------------------------
 .../org/apache/camel/model/rest/RestDefinition.java    |  1 +
 .../org/apache/camel/model/rest/VerbDefinition.java    | 13 +++++++++++++
 .../org/apache/camel/swagger/RestSwaggerReader.java    | 10 +++++++---
 .../org/apache/camel/swagger/RestSwaggerSupport.java   |  2 +-
 .../camel/swagger/RestSwaggerReaderModelTest.java      |  2 +-
 .../apache/camel/swagger/RestSwaggerReaderTest.java    |  2 +-
 6 files changed, 24 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/d975acd2/camel-core/src/main/java/org/apache/camel/model/rest/RestDefinition.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/model/rest/RestDefinition.java b/camel-core/src/main/java/org/apache/camel/model/rest/RestDefinition.java
index 7f93637..c004af7 100644
--- a/camel-core/src/main/java/org/apache/camel/model/rest/RestDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/rest/RestDefinition.java
@@ -655,6 +655,7 @@ public class RestDefinition extends OptionalIdentifiedDefinition<RestDefinition>
                 }
             }
             String routeId = route.idOrCreate(camelContext.getNodeIdFactory());
+            verb.setRouteId(routeId);
             options.put("routeId", routeId);
             if (component != null && !component.isEmpty()) {
                 options.put("componentName", component);

http://git-wip-us.apache.org/repos/asf/camel/blob/d975acd2/camel-core/src/main/java/org/apache/camel/model/rest/VerbDefinition.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/model/rest/VerbDefinition.java b/camel-core/src/main/java/org/apache/camel/model/rest/VerbDefinition.java
index 7e119c5..8d1e686 100644
--- a/camel-core/src/main/java/org/apache/camel/model/rest/VerbDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/rest/VerbDefinition.java
@@ -96,6 +96,8 @@ public class VerbDefinition extends OptionalIdentifiedDefinition<VerbDefinition>
     private RouteDefinition route;
     @XmlTransient
     private RestDefinition rest;
+    @XmlAttribute
+    private String routeId;
 
     @Override
     public String getLabel() {
@@ -239,6 +241,17 @@ public class VerbDefinition extends OptionalIdentifiedDefinition<VerbDefinition>
         this.outType = outType;
     }
 
+    public String getRouteId() {
+        return routeId;
+    }
+
+    /**
+     * The route id this rest-dsl is using (read-only)
+     */
+    public void setRouteId(String routeId) {
+        this.routeId = routeId;
+    }
+
     public RestDefinition getRest() {
         return rest;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/d975acd2/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerReader.java
----------------------------------------------------------------------
diff --git a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerReader.java b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerReader.java
index d5eac90..ea8a6a2 100644
--- a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerReader.java
+++ b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerReader.java
@@ -68,7 +68,7 @@ public class RestSwaggerReader {
      * @param classResolver     class resolver to use
      * @return the swagger model
      */
-    public Swagger read(List<RestDefinition> rests, String route, BeanConfig config, ClassResolver classResolver) {
+    public Swagger read(List<RestDefinition> rests, String route, BeanConfig config, String camelContextId, ClassResolver classResolver) {
         Swagger swagger = new Swagger();
 
         for (RestDefinition rest : rests) {
@@ -80,7 +80,7 @@ public class RestSwaggerReader {
                 }
             }
 
-            parse(swagger, rest, classResolver);
+            parse(swagger, rest, camelContextId, classResolver);
         }
 
         // configure before returning
@@ -88,7 +88,7 @@ public class RestSwaggerReader {
         return swagger;
     }
 
-    private void parse(Swagger swagger, RestDefinition rest, ClassResolver classResolver) {
+    private void parse(Swagger swagger, RestDefinition rest, String camelContextId, ClassResolver classResolver) {
         List<VerbDefinition> verbs = new ArrayList<>(rest.getVerbs());
         // must sort the verbs by uri so we group them together when an uri has multiple operations
         Collections.sort(verbs, new VerbOrdering());
@@ -144,6 +144,10 @@ public class RestSwaggerReader {
             // group in the same tag
             op.addTag(pathAsTag);
 
+            // add id as vendor extensions
+            op.getVendorExtensions().put("x-camelContextId", camelContextId);
+            op.getVendorExtensions().put("x-routeId", verb.getRouteId());
+
             Path path = swagger.getPath(opPath);
             if (path == null) {
                 path = new Path();

http://git-wip-us.apache.org/repos/asf/camel/blob/d975acd2/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerSupport.java
----------------------------------------------------------------------
diff --git a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerSupport.java b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerSupport.java
index 5790651..4e228a8 100644
--- a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerSupport.java
+++ b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerSupport.java
@@ -177,7 +177,7 @@ public class RestSwaggerSupport {
         List<RestDefinition> rests = getRestDefinitions(contextId);
         if (rests != null) {
             // read the rest-dsl into swagger model
-            Swagger swagger = reader.read(rests, route, swaggerConfig, new DefaultClassResolver());
+            Swagger swagger = reader.read(rests, route, swaggerConfig, contextId, new DefaultClassResolver());
 
             ObjectMapper mapper = new ObjectMapper();
             mapper.enable(SerializationFeature.INDENT_OUTPUT);

http://git-wip-us.apache.org/repos/asf/camel/blob/d975acd2/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderModelTest.java
----------------------------------------------------------------------
diff --git a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderModelTest.java b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderModelTest.java
index d6293f5..72f8409 100644
--- a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderModelTest.java
+++ b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderModelTest.java
@@ -74,7 +74,7 @@ public class RestSwaggerReaderModelTest extends CamelTestSupport {
         config.setLicenseUrl("http://www.apache.org/licenses/LICENSE-2.0.html");
         RestSwaggerReader reader = new RestSwaggerReader();
 
-        Swagger swagger = reader.read(context.getRestDefinitions(), null, config, new DefaultClassResolver());
+        Swagger swagger = reader.read(context.getRestDefinitions(), null, config, context.getName(), new DefaultClassResolver());
         assertNotNull(swagger);
 
         ObjectMapper mapper = new ObjectMapper();

http://git-wip-us.apache.org/repos/asf/camel/blob/d975acd2/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderTest.java
----------------------------------------------------------------------
diff --git a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderTest.java b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderTest.java
index 20becb4..e1aa9e9 100644
--- a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderTest.java
+++ b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderTest.java
@@ -65,7 +65,7 @@ public class RestSwaggerReaderTest extends CamelTestSupport {
         config.setBasePath("/api");
         RestSwaggerReader reader = new RestSwaggerReader();
 
-        Swagger swagger = reader.read(context.getRestDefinitions(), null, config, new DefaultClassResolver());
+        Swagger swagger = reader.read(context.getRestDefinitions(), null, config, context.getName(), new DefaultClassResolver());
         assertNotNull(swagger);
 
         ObjectMapper mapper = new ObjectMapper();