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 13:35:56 UTC
[1/2] camel git commit: camel-swagger is deprecated - use
camel-swagger-java
Repository: camel
Updated Branches:
refs/heads/master e98a801b5 -> 2a9dbacff
camel-swagger is deprecated - use camel-swagger-java
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/065eddab
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/065eddab
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/065eddab
Branch: refs/heads/master
Commit: 065eddab73e1a0a37907743467e9e59a28f9d092
Parents: e98a801
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Sep 23 11:42:35 2015 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Sep 23 11:42:35 2015 +0200
----------------------------------------------------------------------
components/camel-swagger/pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/065eddab/components/camel-swagger/pom.xml
----------------------------------------------------------------------
diff --git a/components/camel-swagger/pom.xml b/components/camel-swagger/pom.xml
index 4689c1e..0e28087 100644
--- a/components/camel-swagger/pom.xml
+++ b/components/camel-swagger/pom.xml
@@ -26,7 +26,7 @@
<artifactId>camel-swagger</artifactId>
<packaging>bundle</packaging>
- <name>Camel :: Swagger</name>
+ <name>Camel :: Swagger (deprecated)</name>
<description>Camel Swagger support</description>
<properties>
[2/2] camel git commit: CAMEL-8545: camel-swagger-java to run outside
servlet - work in progress
Posted by da...@apache.org.
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/2a9dbacf
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/2a9dbacf
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/2a9dbacf
Branch: refs/heads/master
Commit: 2a9dbacff538e2e84458e347d48f7d6c5f9aae1c
Parents: 065edda
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Sep 23 13:37:25 2015 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Sep 23 13:37:25 2015 +0200
----------------------------------------------------------------------
.../camel/component/rest/RestApiEndpoint.java | 35 ++++++++++++++++++--
.../camel/component/rest/RestEndpoint.java | 1 -
.../camel/swagger/RestSwaggerProcessor.java | 2 +-
.../camel/swagger/RestSwaggerSupport.java | 5 +--
.../swagger/SwaggerRestApiProcessorFactory.java | 24 +++++++++++++-
.../swagger/servlet/RestSwaggerServlet.java | 5 ++-
6 files changed, 64 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/2a9dbacf/camel-core/src/main/java/org/apache/camel/component/rest/RestApiEndpoint.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/component/rest/RestApiEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/rest/RestApiEndpoint.java
index a5e7276..083034e 100644
--- a/camel-core/src/main/java/org/apache/camel/component/rest/RestApiEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/rest/RestApiEndpoint.java
@@ -32,6 +32,8 @@ import org.apache.camel.spi.RestConfiguration;
import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriPath;
+import org.apache.camel.util.HostUtils;
+import org.apache.camel.util.ObjectHelper;
@UriEndpoint(scheme = "rest-api", title = "REST API", syntax = "rest-api:path/contextId", consumerOnly = true, label = "core,rest")
public class RestApiEndpoint extends DefaultEndpoint {
@@ -141,7 +143,36 @@ public class RestApiEndpoint extends DefaultEndpoint {
if (factory != null) {
- // calculate the url to the rest API service
+ // if no explicit port/host configured, then use port from rest configuration
+ String scheme = "http";
+ String host = "";
+ int port = 80;
+
+ if (config.getScheme() != null) {
+ scheme = config.getScheme();
+ }
+ if (config.getHost() != null) {
+ host = config.getHost();
+ }
+ int num = config.getPort();
+ if (num > 0) {
+ port = num;
+ }
+
+ // if no explicit hostname set then resolve the hostname
+ if (ObjectHelper.isEmpty(host)) {
+ if (config.getRestHostNameResolver() == RestConfiguration.RestHostNameResolver.localHostName) {
+ host = HostUtils.getLocalHostName();
+ } else if (config.getRestHostNameResolver() == RestConfiguration.RestHostNameResolver.localIp) {
+ host = HostUtils.getLocalIp();
+ }
+
+ // no host was configured so calculate a host to use
+ String targetHost = scheme + "://" + host + (port != 80 ? ":" + port : "");
+ getParameters().put("host", targetHost);
+ }
+
+ // the base path should start with a leading slash
String path = getPath();
if (path != null && !path.startsWith("/")) {
path = "/" + path;
@@ -203,7 +234,7 @@ public class RestApiEndpoint extends DefaultEndpoint {
}
if (factory != null) {
-
+ // calculate the url to the rest API service
RestConfiguration config = getCamelContext().getRestConfiguration(cname, true);
// calculate the url to the rest API service
http://git-wip-us.apache.org/repos/asf/camel/blob/2a9dbacf/camel-core/src/main/java/org/apache/camel/component/rest/RestEndpoint.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/component/rest/RestEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/rest/RestEndpoint.java
index cf22ef0..a226d70 100644
--- a/camel-core/src/main/java/org/apache/camel/component/rest/RestEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/rest/RestEndpoint.java
@@ -271,7 +271,6 @@ public class RestEndpoint extends DefaultEndpoint {
}
}
-
// calculate the url to the rest service
String path = getPath();
if (!path.startsWith("/")) {
http://git-wip-us.apache.org/repos/asf/camel/blob/2a9dbacf/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerProcessor.java
----------------------------------------------------------------------
diff --git a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerProcessor.java b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerProcessor.java
index a83fe25..fd04d87 100644
--- a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerProcessor.java
+++ b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerProcessor.java
@@ -83,7 +83,7 @@ public class RestSwaggerProcessor implements Processor {
if (!match) {
adapter.noContent();
} else {
- support.renderResourceListing(adapter, swaggerConfig, name, route);
+ support.renderResourceListing(adapter, swaggerConfig, name, route, exchange.getContext().getClassResolver());
}
}
} catch (Exception e) {
http://git-wip-us.apache.org/repos/asf/camel/blob/2a9dbacf/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 b3d33c3..873efc3 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
@@ -38,6 +38,7 @@ import org.apache.camel.impl.DefaultClassResolver;
import org.apache.camel.model.ModelHelper;
import org.apache.camel.model.rest.RestDefinition;
import org.apache.camel.model.rest.RestsDefinition;
+import org.apache.camel.spi.ClassResolver;
import org.apache.camel.util.CamelVersionHelper;
import org.apache.camel.util.EndpointHelper;
import org.slf4j.Logger;
@@ -167,7 +168,7 @@ public class RestSwaggerSupport {
return answer;
}
- public void renderResourceListing(RestApiResponseAdapter response, BeanConfig swaggerConfig, String contextId, String route) throws Exception {
+ public void renderResourceListing(RestApiResponseAdapter response, BeanConfig swaggerConfig, String contextId, String route, ClassResolver classResolver) throws Exception {
LOG.trace("renderResourceListing");
if (cors) {
@@ -179,7 +180,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, contextId, new DefaultClassResolver());
+ Swagger swagger = reader.read(rests, route, swaggerConfig, contextId, classResolver);
ObjectMapper mapper = new ObjectMapper();
mapper.enable(SerializationFeature.INDENT_OUTPUT);
http://git-wip-us.apache.org/repos/asf/camel/blob/2a9dbacf/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/SwaggerRestApiProcessorFactory.java
----------------------------------------------------------------------
diff --git a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/SwaggerRestApiProcessorFactory.java b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/SwaggerRestApiProcessorFactory.java
index be70c60..dba4f89 100644
--- a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/SwaggerRestApiProcessorFactory.java
+++ b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/SwaggerRestApiProcessorFactory.java
@@ -16,6 +16,7 @@
*/
package org.apache.camel.swagger;
+import java.util.HashMap;
import java.util.Map;
import org.apache.camel.CamelContext;
@@ -28,6 +29,27 @@ public class SwaggerRestApiProcessorFactory implements RestApiProcessorFactory {
@Override
public Processor createApiProcessor(CamelContext camelContext, String contextPath, String contextIdPattern,
RestConfiguration configuration, Map<String, Object> parameters) throws Exception {
- return new RestSwaggerProcessor(contextIdPattern, configuration.getApiProperties());
+
+ Map<String, Object> options = new HashMap<String, Object>(parameters);
+ options.putAll(configuration.getApiProperties());
+
+ // need to include host in options
+ String host = (String) options.get("host");
+ if (host == null) {
+ host = configuration.getHost();
+ int port = configuration.getPort();
+ if (host != null && port > 0) {
+ options.put("host", host + ":" + port);
+ } else if (host != null) {
+ options.put("host", host);
+ } else {
+ options.put("host", "localhost");
+ }
+ }
+ // and context path is the base.path
+ String path = configuration.getContextPath();
+ options.put("base.path", path);
+
+ return new RestSwaggerProcessor(contextIdPattern, options);
}
}
http://git-wip-us.apache.org/repos/asf/camel/blob/2a9dbacf/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/servlet/RestSwaggerServlet.java
----------------------------------------------------------------------
diff --git a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/servlet/RestSwaggerServlet.java b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/servlet/RestSwaggerServlet.java
index 345efc9..bcc64b5 100644
--- a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/servlet/RestSwaggerServlet.java
+++ b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/servlet/RestSwaggerServlet.java
@@ -29,6 +29,8 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import io.swagger.jaxrs.config.BeanConfig;
+import org.apache.camel.impl.DefaultClassResolver;
+import org.apache.camel.spi.ClassResolver;
import org.apache.camel.swagger.RestApiResponseAdapter;
import org.apache.camel.swagger.RestSwaggerSupport;
import org.slf4j.Logger;
@@ -47,6 +49,7 @@ public class RestSwaggerServlet extends HttpServlet {
private BeanConfig swaggerConfig = new BeanConfig();
private RestSwaggerSupport swagger = new RestSwaggerSupport();
private volatile boolean initDone;
+ private final ClassResolver classResolver = new DefaultClassResolver();
@Override
public void init(final ServletConfig config) throws ServletException {
@@ -89,7 +92,7 @@ public class RestSwaggerServlet extends HttpServlet {
route = route.substring(contextId.length());
}
- swagger.renderResourceListing(adapter, swaggerConfig, contextId, route);
+ swagger.renderResourceListing(adapter, swaggerConfig, contextId, route, classResolver);
}
} catch (Exception e) {
LOG.warn("Error rendering swagger due " + e.getMessage(), e);