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/05/27 18:40:53 UTC
[2/2] camel git commit: [CAMEL-8805] NullPointerException on
RestletComponent.disconnect
[CAMEL-8805] NullPointerException on RestletComponent.disconnect
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/d5c9b588
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/d5c9b588
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/d5c9b588
Branch: refs/heads/camel-2.15.x
Commit: d5c9b58820d8baa34de822e3e53732b802e37b72
Parents: 9e23c99
Author: Thomas Diesler <th...@jboss.com>
Authored: Wed May 27 16:43:48 2015 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed May 27 18:45:38 2015 +0200
----------------------------------------------------------------------
.../component/restlet/RestletComponent.java | 40 +++++++++++---------
1 file changed, 23 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/d5c9b588/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletComponent.java b/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletComponent.java
index aef1c24..c95d4ef 100644
--- a/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletComponent.java
+++ b/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletComponent.java
@@ -57,7 +57,7 @@ import org.slf4j.LoggerFactory;
/**
* A Camel component embedded Restlet that produces and consumes exchanges.
- *
+ *
* @version
*/
public class RestletComponent extends HeaderFilterStrategyComponent implements RestConsumerFactory {
@@ -178,7 +178,7 @@ public class RestletComponent extends HeaderFilterStrategyComponent implements R
// see http://restlet.tigris.org/issues/show_bug.cgi?id=988
String offsetPath = (String) this.component.getContext()
.getAttributes().get("org.restlet.ext.servlet.offsetPath");
-
+
if (endpoint.getUriPattern() != null && endpoint.getUriPattern().length() > 0) {
attachUriPatternToRestlet(offsetPath, endpoint.getUriPattern(), endpoint, consumer.getRestlet());
}
@@ -197,12 +197,18 @@ public class RestletComponent extends HeaderFilterStrategyComponent implements R
String pattern = decodePattern(endpoint.getUriPattern());
if (pattern != null && !pattern.isEmpty()) {
- routesToRemove.add(getMethodRouter(pattern, false));
+ MethodBasedRouter methodRouter = getMethodRouter(pattern, false);
+ if (methodRouter != null) {
+ routesToRemove.add(methodRouter);
+ }
}
if (endpoint.getRestletUriPatterns() != null) {
for (String uriPattern : endpoint.getRestletUriPatterns()) {
- routesToRemove.add(getMethodRouter(uriPattern, false));
+ MethodBasedRouter methodRouter = getMethodRouter(uriPattern, false);
+ if (methodRouter != null) {
+ routesToRemove.add(methodRouter);
+ }
}
}
@@ -243,11 +249,11 @@ public class RestletComponent extends HeaderFilterStrategyComponent implements R
return result;
}
}
-
+
protected Server createServer(RestletEndpoint endpoint) {
return new Server(component.getContext().createChildContext(), Protocol.valueOf(endpoint.getProtocol()), endpoint.getPort());
}
-
+
protected String stringArrayToString(String[] strings) {
StringBuffer result = new StringBuffer();
for (String str : strings) {
@@ -256,18 +262,18 @@ public class RestletComponent extends HeaderFilterStrategyComponent implements R
}
return result.toString();
}
-
+
protected void setupServerWithSSLContext(Series<Parameter> params, SSLContextParameters scp) throws GeneralSecurityException, IOException {
// set the SSLContext parameters
params.add("sslContextFactory",
"org.restlet.engine.ssl.DefaultSslContextFactory");
-
+
SSLContext context = scp.createSSLContext();
SSLEngine engine = context.createSSLEngine();
-
+
params.add("enabledProtocols", stringArrayToString(engine.getEnabledProtocols()));
params.add("enabledCipherSuites", stringArrayToString(engine.getEnabledCipherSuites()));
-
+
if (scp.getSecureSocketProtocol() != null) {
params.add("protocol", scp.getSecureSocketProtocol());
}
@@ -275,7 +281,7 @@ public class RestletComponent extends HeaderFilterStrategyComponent implements R
boolean b = !scp.getServerParameters().getClientAuthentication().equals("NONE");
params.add("needClientAuthentication", String.valueOf(b));
}
- if (scp.getKeyManagers() != null) {
+ if (scp.getKeyManagers() != null) {
if (scp.getKeyManagers().getAlgorithm() != null) {
params.add("keyManagerAlgorithm", scp.getKeyManagers().getAlgorithm());
}
@@ -292,8 +298,8 @@ public class RestletComponent extends HeaderFilterStrategyComponent implements R
params.add("keyStoreType", scp.getKeyManagers().getKeyStore().getType());
}
}
-
- if (scp.getTrustManagers() != null) {
+
+ if (scp.getTrustManagers() != null) {
if (scp.getTrustManagers().getAlgorithm() != null) {
params.add("trustManagerAlgorithm", scp.getKeyManagers().getAlgorithm());
}
@@ -320,7 +326,7 @@ public class RestletComponent extends HeaderFilterStrategyComponent implements R
// Add any Restlet server parameters that were included
Series<Parameter> params = server.getContext().getParameters();
-
+
if ("https".equals(endpoint.getProtocol())) {
SSLContextParameters scp = endpoint.getSslContextParameters();
if (endpoint.getSslContextParameters() == null) {
@@ -374,7 +380,7 @@ public class RestletComponent extends HeaderFilterStrategyComponent implements R
if (getReuseAddress() != null) {
params.add("reuseAddress", getReuseAddress().toString());
}
-
+
LOG.debug("Setting parameters: {} to server: {}", params, server);
server.getContext().setParameters(params);
@@ -442,7 +448,7 @@ public class RestletComponent extends HeaderFilterStrategyComponent implements R
// it was most likely encoded by normalizeEndpointUri in DefaultCamelContext.getEndpoint(String)
return UnsafeUriCharactersEncoder.encode(uri.replaceAll("%7B", "(").replaceAll("%7D", ")"));
}
-
+
private static String decodePattern(String pattern) {
return pattern == null ? null : pattern.replaceAll("\\(", "{").replaceAll("\\)", "}");
}
@@ -486,7 +492,7 @@ public class RestletComponent extends HeaderFilterStrategyComponent implements R
public void setMaxThreads(Integer maxThreads) {
this.maxThreads = maxThreads;
}
-
+
public Integer getLowThreads() {
return lowThreads;
}