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();