You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by nf...@apache.org on 2017/04/11 14:12:03 UTC
[07/13] camel git commit: CAMEL-10650: moving global config to Camel
context
CAMEL-10650: moving global config to Camel context
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/8471034c
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/8471034c
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/8471034c
Branch: refs/heads/master
Commit: 8471034ce6d027b1614ca8e98633321b5e26410f
Parents: ef916c2
Author: Nicola Ferraro <ni...@gmail.com>
Authored: Mon Apr 10 17:17:44 2017 +0200
Committer: Nicola Ferraro <ni...@gmail.com>
Committed: Tue Apr 11 16:04:22 2017 +0200
----------------------------------------------------------------------
.../java/org/apache/camel/CamelContext.java | 11 ++
.../apache/camel/SSLContextParametersAware.java | 33 ++++++
.../apache/camel/impl/DefaultCamelContext.java | 12 +++
.../camel/component/ahc/AhcComponent.java | 9 +-
...entConfigGlobalSslContextParametersTest.java | 13 +--
.../apache/camel/component/ahc/BaseAhcTest.java | 6 +-
.../camel/component/cometd/CometdComponent.java | 9 +-
...extParametersCometdProducerConsumerTest.java | 11 +-
.../camel/component/consul/ConsulComponent.java | 8 +-
.../camel/component/cxf/CxfComponent.java | 8 +-
.../component/cxf/jaxrs/CxfRsComponent.java | 8 +-
.../cxf/jaxrs/CxfRsGlobalSslProducerTest.java | 10 ++
.../camel/component/cxf/ssl/SslGlobalTest.java | 20 ++--
.../util/CxfSSLContextParameterSupplier.java | 43 --------
.../camel/component/cxf/CxfGlobalSslContext.xml | 3 -
.../cxf/jaxrs/CxfRsSpringGlobalSslProducer.xml | 3 -
.../camel/component/etcd/EtcdComponent.java | 8 +-
.../component/file/remote/FtpsComponent.java | 9 +-
...ntAuthAndGlobalSSLContextParametersTest.java | 16 ++-
.../camel/component/http4/HttpComponent.java | 8 +-
.../camel/component/irc/IrcComponent.java | 9 +-
.../component/jetty/JettyHttpComponent.java | 107 +++++++++----------
.../camel/component/kafka/KafkaComponent.java | 9 +-
.../lumberjack/LumberjackComponent.java | 9 +-
.../LumberjackComponentGlobalSSLTest.java | 11 +-
.../camel/component/mail/MailComponent.java | 9 +-
.../camel/component/mina2/Mina2Component.java | 9 +-
.../Mina2SslGlobalContextParametersTcpTest.java | 16 +--
.../camel/component/nats/NatsComponent.java | 9 +-
.../netty/http/NettyHttpComponent.java | 9 +-
.../util/NettySSLContextParameterSupplier.java | 43 --------
.../netty/http/NettyHttpGlobalSSLTest.java | 104 ++++++++++++++++++
.../http/SpringNettyHttpGlobalSSLTest.java | 80 --------------
.../netty/http/SpringNettyHttpGlobalSSLTest.xml | 65 -----------
.../camel/component/netty/NettyComponent.java | 9 +-
.../NettyGlobalSSLContextParametersTest.java | 17 ++-
.../netty4/http/NettyHttpComponent.java | 9 +-
.../camel/component/netty4/NettyComponent.java | 9 +-
.../NettyGlobalSSLContextParametersTest.java | 17 ++-
.../component/olingo2/Olingo2Component.java | 9 +-
.../component/olingo4/Olingo4Component.java | 9 +-
.../component/restlet/RestletComponent.java | 9 +-
...HttpsWithGlobalSSLContextParametersTest.java | 15 ++-
.../salesforce/SalesforceComponent.java | 9 +-
.../servicenow/ServiceNowComponent.java | 9 +-
.../spring/boot/CamelAutoConfiguration.java | 6 ++
.../security/CamelSSLAutoConfiguration.java | 8 +-
.../spring/ws/SpringWebserviceComponent.java | 8 +-
.../camel/component/stomp/StompComponent.java | 9 +-
.../stomp/StompGlobalSslConsumerTest.java | 11 +-
.../component/undertow/UndertowComponent.java | 5 +-
.../component/websocket/WebsocketComponent.java | 9 +-
...bsocketSSLContextGlobalRouteExampleTest.java | 12 +--
.../HttpComponentSSLAutoConfiguration.java | 24 +++--
.../component/undertow/UndertowSSLTest.java | 4 +-
55 files changed, 398 insertions(+), 556 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/8471034c/camel-core/src/main/java/org/apache/camel/CamelContext.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/CamelContext.java b/camel-core/src/main/java/org/apache/camel/CamelContext.java
index b0789c4..d4fd6ae 100644
--- a/camel-core/src/main/java/org/apache/camel/CamelContext.java
+++ b/camel-core/src/main/java/org/apache/camel/CamelContext.java
@@ -85,6 +85,7 @@ import org.apache.camel.spi.UuidGenerator;
import org.apache.camel.spi.Validator;
import org.apache.camel.spi.ValidatorRegistry;
import org.apache.camel.util.LoadPropertiesException;
+import org.apache.camel.util.jsse.SSLContextParameters;
/**
* Interface used to represent the CamelContext used to configure routes and the
@@ -1977,4 +1978,14 @@ public interface CamelContext extends SuspendableService, RuntimeConfiguration {
*/
void addLogListener(LogListener listener);
+ /**
+ * Sets the global SSL context parameters.
+ */
+ void setSSLContextParameters(SSLContextParameters sslContextParameters);
+
+ /**
+ * Gets the global SSL context parameters if configured.
+ */
+ SSLContextParameters getSSLContextParameters();
+
}
http://git-wip-us.apache.org/repos/asf/camel/blob/8471034c/camel-core/src/main/java/org/apache/camel/SSLContextParametersAware.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/SSLContextParametersAware.java b/camel-core/src/main/java/org/apache/camel/SSLContextParametersAware.java
new file mode 100644
index 0000000..b76c041
--- /dev/null
+++ b/camel-core/src/main/java/org/apache/camel/SSLContextParametersAware.java
@@ -0,0 +1,33 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel;
+
+import org.apache.camel.util.jsse.SSLContextParameters;
+
+/**
+ * Indicates that an object is able to use the global {@link SSLContextParameters} if configured.
+ */
+public interface SSLContextParametersAware extends CamelContextAware {
+
+ /**
+ * Returns the global {@link SSLContextParameters} if configured.
+ */
+ default SSLContextParameters getGlobalSSLContextParameters() {
+ return getCamelContext().getSSLContextParameters();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/camel/blob/8471034c/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
index bea497d..c85ce8c 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
@@ -186,6 +186,7 @@ import org.apache.camel.util.StringHelper;
import org.apache.camel.util.StringQuoteHelper;
import org.apache.camel.util.TimeUtils;
import org.apache.camel.util.URISupport;
+import org.apache.camel.util.jsse.SSLContextParameters;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.MDC;
@@ -301,6 +302,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
private ValidatorRegistry<ValidatorKey> validatorRegistry;
private ReloadStrategy reloadStrategy;
private final RuntimeCamelCatalog runtimeCamelCatalog = new DefaultRuntimeCamelCatalog(this, true);
+ private SSLContextParameters sslContextParameters;
/**
* Creates the {@link CamelContext} using {@link JndiRegistry} as registry,
@@ -4417,6 +4419,16 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
return runtimeCamelCatalog;
}
+ @Override
+ public void setSSLContextParameters(SSLContextParameters sslContextParameters) {
+ this.sslContextParameters = sslContextParameters;
+ }
+
+ @Override
+ public SSLContextParameters getSSLContextParameters() {
+ return this.sslContextParameters;
+ }
+
protected Map<String, RouteService> getRouteServices() {
return routeServices;
}
http://git-wip-us.apache.org/repos/asf/camel/blob/8471034c/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcComponent.java b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcComponent.java
index afb9308..bf2aec1 100644
--- a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcComponent.java
+++ b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcComponent.java
@@ -19,19 +19,16 @@ package org.apache.camel.component.ahc;
import java.net.URI;
import java.util.LinkedHashMap;
import java.util.Map;
-import java.util.Optional;
-import java.util.function.Supplier;
import org.apache.camel.Endpoint;
+import org.apache.camel.SSLContextParametersAware;
import org.apache.camel.impl.HeaderFilterStrategyComponent;
import org.apache.camel.spi.Metadata;
-import org.apache.camel.util.CamelContextHelper;
import org.apache.camel.util.IntrospectionSupport;
import org.apache.camel.util.ObjectHelper;
import org.apache.camel.util.URISupport;
import org.apache.camel.util.UnsafeUriCharactersEncoder;
import org.apache.camel.util.jsse.SSLContextParameters;
-import org.apache.camel.util.jsse.GlobalSSLContextParametersSupplier;
import org.asynchttpclient.AsyncHttpClient;
import org.asynchttpclient.AsyncHttpClientConfig;
import org.asynchttpclient.DefaultAsyncHttpClientConfig;
@@ -43,7 +40,7 @@ import org.slf4j.LoggerFactory;
/**
* To call external HTTP services using <a href="http://github.com/sonatype/async-http-client">Async Http Client</a>
*/
-public class AhcComponent extends HeaderFilterStrategyComponent {
+public class AhcComponent extends HeaderFilterStrategyComponent implements SSLContextParametersAware {
private static final Logger LOG = LoggerFactory.getLogger(AhcComponent.class);
@@ -71,7 +68,7 @@ public class AhcComponent extends HeaderFilterStrategyComponent {
SSLContextParameters ssl = getSslContextParameters();
if (ssl == null) {
- ssl = Optional.ofNullable(CamelContextHelper.findByType(getCamelContext(), GlobalSSLContextParametersSupplier.class)).map(Supplier::get).orElse(null);
+ ssl = getGlobalSSLContextParameters();
}
// Do not set the HTTP URI because we still have all of the Camel internal
http://git-wip-us.apache.org/repos/asf/camel/blob/8471034c/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcComponentClientConfigGlobalSslContextParametersTest.java
----------------------------------------------------------------------
diff --git a/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcComponentClientConfigGlobalSslContextParametersTest.java b/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcComponentClientConfigGlobalSslContextParametersTest.java
index 4dd2b23..3314fbf 100644
--- a/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcComponentClientConfigGlobalSslContextParametersTest.java
+++ b/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcComponentClientConfigGlobalSslContextParametersTest.java
@@ -16,9 +16,7 @@
*/
package org.apache.camel.component.ahc;
-import org.apache.camel.impl.JndiRegistry;
-import org.apache.camel.util.jsse.SSLContextParameters;
-import org.apache.camel.util.jsse.GlobalSSLContextParametersSupplier;
+import org.apache.camel.CamelContext;
/**
* Lookup from the registry should work when only one set of context parameters is present.
@@ -26,11 +24,10 @@ import org.apache.camel.util.jsse.GlobalSSLContextParametersSupplier;
public class AhcComponentClientConfigGlobalSslContextParametersTest extends AhcComponentClientConfigTest {
@Override
- protected JndiRegistry createRegistry() throws Exception {
- JndiRegistry registry = super.createRegistry();
- SSLContextParameters params = registry.lookup("sslContextParameters", SSLContextParameters.class);
- registry.bind("sslContextParametersSupplier", (GlobalSSLContextParametersSupplier) () -> params);
- return registry;
+ protected CamelContext createCamelContext() throws Exception {
+ CamelContext context = super.createCamelContext();
+ context.setSSLContextParameters(createSSLContextParameters());
+ return context;
}
@Override
http://git-wip-us.apache.org/repos/asf/camel/blob/8471034c/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/BaseAhcTest.java
----------------------------------------------------------------------
diff --git a/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/BaseAhcTest.java b/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/BaseAhcTest.java
index 6481b05..aa233c0 100644
--- a/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/BaseAhcTest.java
+++ b/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/BaseAhcTest.java
@@ -65,6 +65,10 @@ public abstract class BaseAhcTest extends CamelTestSupport {
}
protected void addSslContextParametersToRegistry(JndiRegistry registry) {
+ registry.bind("sslContextParameters", createSSLContextParameters());
+ }
+
+ protected SSLContextParameters createSSLContextParameters() {
KeyStoreParameters ksp = new KeyStoreParameters();
ksp.setResource(this.getClass().getClassLoader().getResource("jsse/localhost.ks").toString());
ksp.setPassword(KEY_STORE_PASSWORD);
@@ -89,7 +93,7 @@ public abstract class BaseAhcTest extends CamelTestSupport {
// Caused by: javax.net.ssl.SSLException: bad record MAC
sslContextParameters.setSecureSocketProtocol("SSLv3");
- registry.bind("sslContextParameters", sslContextParameters);
+ return sslContextParameters;
}
/**
http://git-wip-us.apache.org/repos/asf/camel/blob/8471034c/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdComponent.java b/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdComponent.java
index 134611c..f4b9f4c 100644
--- a/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdComponent.java
+++ b/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdComponent.java
@@ -22,17 +22,14 @@ import java.util.EnumSet;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
-import java.util.Optional;
-import java.util.function.Supplier;
import javax.net.ssl.SSLContext;
import javax.servlet.DispatcherType;
import org.apache.camel.Endpoint;
+import org.apache.camel.SSLContextParametersAware;
import org.apache.camel.impl.UriEndpointComponent;
import org.apache.camel.spi.Metadata;
-import org.apache.camel.util.CamelContextHelper;
import org.apache.camel.util.jsse.SSLContextParameters;
-import org.apache.camel.util.jsse.GlobalSSLContextParametersSupplier;
import org.cometd.bayeux.server.BayeuxServer;
import org.cometd.bayeux.server.SecurityPolicy;
import org.cometd.server.BayeuxServerImpl;
@@ -54,7 +51,7 @@ import org.slf4j.LoggerFactory;
/**
* Component for Jetty Cometd
*/
-public class CometdComponent extends UriEndpointComponent {
+public class CometdComponent extends UriEndpointComponent implements SSLContextParametersAware {
private static final Logger LOG = LoggerFactory.getLogger(CometdComponent.class);
private final Map<String, ConnectorRef> connectors = new LinkedHashMap<String, ConnectorRef>();
@@ -230,7 +227,7 @@ public class CometdComponent extends UriEndpointComponent {
ServerConnector sslSocketConnector = null;
SSLContextParameters sslParams = this.sslContextParameters;
if (sslParams == null) {
- sslParams = Optional.ofNullable(CamelContextHelper.findByType(getCamelContext(), GlobalSSLContextParametersSupplier.class)).map(Supplier::get).orElse(null);
+ sslParams = getGlobalSSLContextParameters();
}
if (sslParams != null) {
SslContextFactory sslContextFactory = new CometdComponentSslContextFactory();
http://git-wip-us.apache.org/repos/asf/camel/blob/8471034c/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/SslGlobalContextParametersCometdProducerConsumerTest.java
----------------------------------------------------------------------
diff --git a/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/SslGlobalContextParametersCometdProducerConsumerTest.java b/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/SslGlobalContextParametersCometdProducerConsumerTest.java
index 0c2a010..0291f23 100644
--- a/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/SslGlobalContextParametersCometdProducerConsumerTest.java
+++ b/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/SslGlobalContextParametersCometdProducerConsumerTest.java
@@ -18,16 +18,15 @@ package org.apache.camel.component.cometd;
import java.util.List;
+import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit4.CamelTestSupport;
import org.apache.camel.util.jsse.KeyManagersParameters;
import org.apache.camel.util.jsse.KeyStoreParameters;
import org.apache.camel.util.jsse.SSLContextParameters;
-import org.apache.camel.util.jsse.GlobalSSLContextParametersSupplier;
import org.apache.camel.util.jsse.TrustManagersParameters;
import org.junit.Before;
import org.junit.Test;
@@ -77,8 +76,8 @@ public class SslGlobalContextParametersCometdProducerConsumerTest extends CamelT
}
@Override
- protected JndiRegistry createRegistry() throws Exception {
- JndiRegistry registry = super.createRegistry();
+ protected CamelContext createCamelContext() throws Exception {
+ CamelContext context = super.createCamelContext();
KeyStoreParameters ksp = new KeyStoreParameters();
ksp.setResource("jsse/localhost.ks");
ksp.setPassword("changeit");
@@ -93,8 +92,8 @@ public class SslGlobalContextParametersCometdProducerConsumerTest extends CamelT
SSLContextParameters sslContextParameters = new SSLContextParameters();
sslContextParameters.setKeyManagers(kmp);
sslContextParameters.setTrustManagers(tmp);
- registry.bind("sslContextParametersSupplier", (GlobalSSLContextParametersSupplier) () -> sslContextParameters);
- return registry;
+ context.setSSLContextParameters(sslContextParameters);
+ return context;
}
public static class Person {
http://git-wip-us.apache.org/repos/asf/camel/blob/8471034c/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulComponent.java b/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulComponent.java
index c254f9d..77eb564 100644
--- a/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulComponent.java
+++ b/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulComponent.java
@@ -18,10 +18,10 @@ package org.apache.camel.component.consul;
import java.util.Map;
import java.util.Optional;
-import java.util.function.Supplier;
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
+import org.apache.camel.SSLContextParametersAware;
import org.apache.camel.component.consul.enpoint.ConsulAgentProducer;
import org.apache.camel.component.consul.enpoint.ConsulCatalogProducer;
import org.apache.camel.component.consul.enpoint.ConsulCoordinatesProducer;
@@ -35,14 +35,12 @@ import org.apache.camel.component.consul.enpoint.ConsulSessionProducer;
import org.apache.camel.component.consul.enpoint.ConsulStatusProducer;
import org.apache.camel.impl.DefaultComponent;
import org.apache.camel.spi.Metadata;
-import org.apache.camel.util.CamelContextHelper;
import org.apache.camel.util.jsse.SSLContextParameters;
-import org.apache.camel.util.jsse.GlobalSSLContextParametersSupplier;
/**
* Represents the component that manages {@link ConsulEndpoint}.
*/
-public class ConsulComponent extends DefaultComponent {
+public class ConsulComponent extends DefaultComponent implements SSLContextParametersAware {
@Metadata(label = "advanced")
private ConsulConfiguration configuration = new ConsulConfiguration();
@@ -151,7 +149,7 @@ public class ConsulComponent extends DefaultComponent {
// using global ssl context parameters if set
if (configuration.isUseGlobalSslContextParameters() && configuration.getSslContextParameters() == null) {
- configuration.setSslContextParameters(Optional.ofNullable(CamelContextHelper.findByType(getCamelContext(), GlobalSSLContextParametersSupplier.class)).map(Supplier::get).orElse(null));
+ configuration.setSslContextParameters(getGlobalSSLContextParameters());
}
setProperties(configuration, parameters);
http://git-wip-us.apache.org/repos/asf/camel/blob/8471034c/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java
index fee389a..1e64503 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java
@@ -17,17 +17,15 @@
package org.apache.camel.component.cxf;
import java.util.Map;
-import java.util.Optional;
-import java.util.function.Supplier;
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
+import org.apache.camel.SSLContextParametersAware;
import org.apache.camel.component.cxf.common.message.CxfConstants;
import org.apache.camel.impl.HeaderFilterStrategyComponent;
import org.apache.camel.spi.Metadata;
import org.apache.camel.util.CamelContextHelper;
import org.apache.camel.util.IntrospectionSupport;
-import org.apache.camel.util.jsse.GlobalSSLContextParametersSupplier;
import org.apache.cxf.message.Message;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -35,7 +33,7 @@ import org.slf4j.LoggerFactory;
/**
* Defines the <a href="http://camel.apache.org/cxf.html">CXF Component</a>
*/
-public class CxfComponent extends HeaderFilterStrategyComponent {
+public class CxfComponent extends HeaderFilterStrategyComponent implements SSLContextParametersAware {
private static final Logger LOG = LoggerFactory.getLogger(CxfComponent.class);
@@ -121,7 +119,7 @@ public class CxfComponent extends HeaderFilterStrategyComponent {
// use global ssl config if set
if (result.getSslContextParameters() == null) {
- result.setSslContextParameters(Optional.ofNullable(CamelContextHelper.findByType(getCamelContext(), GlobalSSLContextParametersSupplier.class)).map(Supplier::get).orElse(null));
+ result.setSslContextParameters(getGlobalSSLContextParameters());
}
return result;
http://git-wip-us.apache.org/repos/asf/camel/blob/8471034c/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsComponent.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsComponent.java
index 8a43055..f18c2ef 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsComponent.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsComponent.java
@@ -19,18 +19,16 @@ package org.apache.camel.component.cxf.jaxrs;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
-import java.util.Optional;
-import java.util.function.Supplier;
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
+import org.apache.camel.SSLContextParametersAware;
import org.apache.camel.component.cxf.blueprint.BlueprintSupport;
import org.apache.camel.component.cxf.common.message.CxfConstants;
import org.apache.camel.impl.HeaderFilterStrategyComponent;
import org.apache.camel.util.CamelContextHelper;
import org.apache.camel.util.CastUtils;
import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.jsse.GlobalSSLContextParametersSupplier;
import org.apache.cxf.jaxrs.AbstractJAXRSFactoryBean;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -38,7 +36,7 @@ import org.slf4j.LoggerFactory;
/**
* Defines the <a href="http://camel.apache.org/cxfrs.html">CXF RS Component</a>
*/
-public class CxfRsComponent extends HeaderFilterStrategyComponent {
+public class CxfRsComponent extends HeaderFilterStrategyComponent implements SSLContextParametersAware {
private static final Logger LOG = LoggerFactory.getLogger(CxfRsComponent.class);
@@ -117,7 +115,7 @@ public class CxfRsComponent extends HeaderFilterStrategyComponent {
// use global ssl config if set
if (answer.getSslContextParameters() == null) {
- answer.setSslContextParameters(Optional.ofNullable(CamelContextHelper.findByType(getCamelContext(), GlobalSSLContextParametersSupplier.class)).map(Supplier::get).orElse(null));
+ answer.setSslContextParameters(getGlobalSSLContextParameters());
}
return answer;
http://git-wip-us.apache.org/repos/asf/camel/blob/8471034c/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsGlobalSslProducerTest.java
----------------------------------------------------------------------
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsGlobalSslProducerTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsGlobalSslProducerTest.java
index 556dc07..c9d279e 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsGlobalSslProducerTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsGlobalSslProducerTest.java
@@ -16,6 +16,7 @@
*/
package org.apache.camel.component.cxf.jaxrs;
+import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
import org.apache.camel.ExchangePattern;
import org.apache.camel.Message;
@@ -24,6 +25,7 @@ import org.apache.camel.component.cxf.CXFTestSupport;
import org.apache.camel.component.cxf.common.message.CxfConstants;
import org.apache.camel.component.cxf.jaxrs.testbean.Customer;
import org.apache.camel.test.spring.CamelSpringTestSupport;
+import org.apache.camel.util.jsse.SSLContextParameters;
import org.junit.Test;
import org.springframework.context.support.AbstractXmlApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
@@ -47,6 +49,14 @@ public class CxfRsGlobalSslProducerTest extends CamelSpringTestSupport {
return new ClassPathXmlApplicationContext("org/apache/camel/component/cxf/jaxrs/CxfRsSpringGlobalSslProducer.xml");
}
+ @Override
+ protected CamelContext createCamelContext() throws Exception {
+ CamelContext context = super.createCamelContext();
+ SSLContextParameters parameters = context.getRegistry().lookupByNameAndType("mySslContext", SSLContextParameters.class);
+ context.setSSLContextParameters(parameters);
+ return context;
+ }
+
protected void setupDestinationURL(Message inMessage) {
// do nothing here
}
http://git-wip-us.apache.org/repos/asf/camel/blob/8471034c/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/ssl/SslGlobalTest.java
----------------------------------------------------------------------
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/ssl/SslGlobalTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/ssl/SslGlobalTest.java
index a7ead6d..7fe5e4f 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/ssl/SslGlobalTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/ssl/SslGlobalTest.java
@@ -19,13 +19,13 @@ package org.apache.camel.component.cxf.ssl;
import java.util.ArrayList;
import java.util.List;
+import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.component.cxf.CXFTestSupport;
import org.apache.camel.component.cxf.common.message.CxfConstants;
import org.apache.camel.test.spring.CamelSpringTestSupport;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
+import org.apache.camel.util.jsse.SSLContextParameters;
import org.junit.Test;
import org.springframework.context.support.AbstractXmlApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
@@ -44,16 +44,12 @@ public class SslGlobalTest extends CamelSpringTestSupport {
return true;
}
- @AfterClass
- public static void cleanUp() {
- //System.clearProperty("cxf.config.file");
- }
-
- @BeforeClass
- public static void startService() {
- //System.getProperties().put("cxf.config.file", "/org/apache/camel/component/cxf/CxfSslContext.xml");
- //Greeter implementor = new GreeterImpl();
- //Endpoint.publish(JAXWS_SERVER_ADDRESS, implementor);
+ @Override
+ protected CamelContext createCamelContext() throws Exception {
+ CamelContext context = super.createCamelContext();
+ SSLContextParameters parameters = context.getRegistry().lookupByNameAndType("mySslContext", SSLContextParameters.class);
+ context.setSSLContextParameters(parameters);
+ return context;
}
@Test
http://git-wip-us.apache.org/repos/asf/camel/blob/8471034c/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/util/CxfSSLContextParameterSupplier.java
----------------------------------------------------------------------
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/util/CxfSSLContextParameterSupplier.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/util/CxfSSLContextParameterSupplier.java
deleted file mode 100644
index a75f956..0000000
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/util/CxfSSLContextParameterSupplier.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright 2016 Red Hat, Inc.
- *
- * Red Hat licenses this file to you under the Apache License, version
- * 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- * implied. See the License for the specific language governing
- * permissions and limitations under the License.
- */
-package org.apache.camel.component.cxf.util;
-
-import org.apache.camel.util.jsse.SSLContextParameters;
-import org.apache.camel.util.jsse.GlobalSSLContextParametersSupplier;
-
-/**
- * Class for binding a SSSLContextParametersSupplier to the registry.
- */
-public class CxfSSLContextParameterSupplier implements GlobalSSLContextParametersSupplier {
-
- private SSLContextParameters sslContextParameters;
-
- public CxfSSLContextParameterSupplier() {
- }
-
- public SSLContextParameters getSslContextParameters() {
- return sslContextParameters;
- }
-
- public void setSslContextParameters(SSLContextParameters sslContextParameters) {
- this.sslContextParameters = sslContextParameters;
- }
-
- @Override
- public SSLContextParameters get() {
- return sslContextParameters;
- }
-}
http://git-wip-us.apache.org/repos/asf/camel/blob/8471034c/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/CxfGlobalSslContext.xml
----------------------------------------------------------------------
diff --git a/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/CxfGlobalSslContext.xml b/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/CxfGlobalSslContext.xml
index f1ac637..f859396 100644
--- a/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/CxfGlobalSslContext.xml
+++ b/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/CxfGlobalSslContext.xml
@@ -59,9 +59,6 @@
password="changeit"/>
</trustManagers>
</sslContextParameters>
- <bean id="sslContextParametersSupplier" class="org.apache.camel.component.cxf.util.CxfSSLContextParameterSupplier">
- <property name="sslContextParameters" ref="mySslContext" />
- </bean>
<bean id="defaultHostnameVerifier"
class="org.apache.cxf.transport.https.httpclient.DefaultHostnameVerifier"/>
http://git-wip-us.apache.org/repos/asf/camel/blob/8471034c/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/jaxrs/CxfRsSpringGlobalSslProducer.xml
----------------------------------------------------------------------
diff --git a/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/jaxrs/CxfRsSpringGlobalSslProducer.xml b/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/jaxrs/CxfRsSpringGlobalSslProducer.xml
index 8d3c11f..eb55653 100644
--- a/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/jaxrs/CxfRsSpringGlobalSslProducer.xml
+++ b/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/jaxrs/CxfRsSpringGlobalSslProducer.xml
@@ -68,9 +68,6 @@
password="changeit"/>
</trustManagers>
</sslContextParameters>
- <bean id="sslContextParametersSupplier" class="org.apache.camel.component.cxf.util.CxfSSLContextParameterSupplier">
- <property name="sslContextParameters" ref="mySslContext" />
- </bean>
<bean id="defaultHostnameVerifier"
class="org.apache.cxf.transport.https.httpclient.DefaultHostnameVerifier"/>
http://git-wip-us.apache.org/repos/asf/camel/blob/8471034c/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/EtcdComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/EtcdComponent.java b/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/EtcdComponent.java
index 2a91147..c6f54d0 100644
--- a/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/EtcdComponent.java
+++ b/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/EtcdComponent.java
@@ -18,21 +18,19 @@ package org.apache.camel.component.etcd;
import java.util.Map;
import java.util.Optional;
-import java.util.function.Supplier;
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
+import org.apache.camel.SSLContextParametersAware;
import org.apache.camel.impl.DefaultComponent;
import org.apache.camel.spi.Metadata;
-import org.apache.camel.util.CamelContextHelper;
import org.apache.camel.util.StringHelper;
import org.apache.camel.util.jsse.SSLContextParameters;
-import org.apache.camel.util.jsse.GlobalSSLContextParametersSupplier;
/**
* Represents the component that manages {@link AbstractEtcdEndpoint}.
*/
-public class EtcdComponent extends DefaultComponent {
+public class EtcdComponent extends DefaultComponent implements SSLContextParametersAware {
@Metadata(label = "advanced")
private EtcdConfiguration configuration = new EtcdConfiguration();
@@ -151,7 +149,7 @@ public class EtcdComponent extends DefaultComponent {
setProperties(configuration, parameters);
if (configuration.isUseGlobalSslContextParameters() && configuration.getSslContextParameters() == null) {
- configuration.setSslContextParameters(Optional.ofNullable(CamelContextHelper.findByType(getCamelContext(), GlobalSSLContextParametersSupplier.class)).map(Supplier::get).orElse(null));
+ configuration.setSslContextParameters(getGlobalSSLContextParameters());
}
return configuration;
http://git-wip-us.apache.org/repos/asf/camel/blob/8471034c/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpsComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpsComponent.java b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpsComponent.java
index 18db183..a981c9b 100644
--- a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpsComponent.java
+++ b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpsComponent.java
@@ -18,14 +18,11 @@ package org.apache.camel.component.file.remote;
import java.net.URI;
import java.util.Map;
-import java.util.Optional;
-import java.util.function.Supplier;
import org.apache.camel.CamelContext;
+import org.apache.camel.SSLContextParametersAware;
import org.apache.camel.component.file.GenericFileEndpoint;
-import org.apache.camel.util.CamelContextHelper;
import org.apache.camel.util.IntrospectionSupport;
-import org.apache.camel.util.jsse.GlobalSSLContextParametersSupplier;
import org.apache.commons.net.ftp.FTPFile;
/**
@@ -35,7 +32,7 @@ import org.apache.commons.net.ftp.FTPFile;
*
* @version
*/
-public class FtpsComponent extends FtpComponent {
+public class FtpsComponent extends FtpComponent implements SSLContextParametersAware {
public FtpsComponent() {
setEndpointClass(FtpsEndpoint.class);
@@ -63,7 +60,7 @@ public class FtpsComponent extends FtpComponent {
extractAndSetFtpClientParameters(parameters, endpoint);
if (endpoint.getSslContextParameters() == null) {
- endpoint.setSslContextParameters(Optional.ofNullable(CamelContextHelper.findByType(getCamelContext(), GlobalSSLContextParametersSupplier.class)).map(Supplier::get).orElse(null));
+ endpoint.setSslContextParameters(getGlobalSSLContextParameters());
}
return endpoint;
http://git-wip-us.apache.org/repos/asf/camel/blob/8471034c/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FileToFtpsExplicitSSLWithoutClientAuthAndGlobalSSLContextParametersTest.java
----------------------------------------------------------------------
diff --git a/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FileToFtpsExplicitSSLWithoutClientAuthAndGlobalSSLContextParametersTest.java b/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FileToFtpsExplicitSSLWithoutClientAuthAndGlobalSSLContextParametersTest.java
index 0fddab2..b9195d3 100644
--- a/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FileToFtpsExplicitSSLWithoutClientAuthAndGlobalSSLContextParametersTest.java
+++ b/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FileToFtpsExplicitSSLWithoutClientAuthAndGlobalSSLContextParametersTest.java
@@ -16,30 +16,28 @@
*/
package org.apache.camel.component.file.remote;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.CamelContext;
import org.apache.camel.util.jsse.KeyStoreParameters;
import org.apache.camel.util.jsse.SSLContextParameters;
-import org.apache.camel.util.jsse.GlobalSSLContextParametersSupplier;
import org.apache.camel.util.jsse.TrustManagersParameters;
public class FileToFtpsExplicitSSLWithoutClientAuthAndGlobalSSLContextParametersTest extends FileToFtpsExplicitSSLWithoutClientAuthTest {
@Override
- protected JndiRegistry createRegistry() throws Exception {
+ protected CamelContext createCamelContext() throws Exception {
+ CamelContext context = super.createCamelContext();
KeyStoreParameters ksp = new KeyStoreParameters();
ksp.setResource("server.jks");
ksp.setPassword("password");
-
+
TrustManagersParameters tmp = new TrustManagersParameters();
tmp.setKeyStore(ksp);
-
+
SSLContextParameters sslContextParameters = new SSLContextParameters();
sslContextParameters.setSecureSocketProtocol("SSL");
sslContextParameters.setTrustManagers(tmp);
-
- JndiRegistry registry = super.createRegistry();
- registry.bind("sslContextParametersSupplier", (GlobalSSLContextParametersSupplier) () -> sslContextParameters);
- return registry;
+ context.setSSLContextParameters(sslContextParameters);
+ return context;
}
protected String getFtpUrl() {
http://git-wip-us.apache.org/repos/asf/camel/blob/8471034c/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpComponent.java b/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpComponent.java
index 523031d..b9996d9 100644
--- a/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpComponent.java
+++ b/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpComponent.java
@@ -23,7 +23,6 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
import java.util.concurrent.TimeUnit;
-import java.util.function.Supplier;
import javax.net.ssl.HostnameVerifier;
import org.apache.camel.CamelContext;
@@ -31,6 +30,7 @@ import org.apache.camel.ComponentVerifier;
import org.apache.camel.Endpoint;
import org.apache.camel.Producer;
import org.apache.camel.ResolveEndpointFailedException;
+import org.apache.camel.SSLContextParametersAware;
import org.apache.camel.VerifiableComponent;
import org.apache.camel.http.common.HttpBinding;
import org.apache.camel.http.common.HttpCommonComponent;
@@ -40,7 +40,6 @@ import org.apache.camel.http.common.UrlRewrite;
import org.apache.camel.spi.HeaderFilterStrategy;
import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.RestProducerFactory;
-import org.apache.camel.util.CamelContextHelper;
import org.apache.camel.util.FileUtil;
import org.apache.camel.util.IntrospectionSupport;
import org.apache.camel.util.ObjectHelper;
@@ -48,7 +47,6 @@ import org.apache.camel.util.ServiceHelper;
import org.apache.camel.util.URISupport;
import org.apache.camel.util.UnsafeUriCharactersEncoder;
import org.apache.camel.util.jsse.SSLContextParameters;
-import org.apache.camel.util.jsse.GlobalSSLContextParametersSupplier;
import org.apache.http.client.CookieStore;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.config.Registry;
@@ -72,7 +70,7 @@ import org.slf4j.LoggerFactory;
* @version
*/
@Metadata(label = "verifiers", enums = "parameters,connectivity")
-public class HttpComponent extends HttpCommonComponent implements RestProducerFactory, VerifiableComponent {
+public class HttpComponent extends HttpCommonComponent implements RestProducerFactory, VerifiableComponent, SSLContextParametersAware {
private static final Logger LOG = LoggerFactory.getLogger(HttpComponent.class);
@@ -188,7 +186,7 @@ public class HttpComponent extends HttpCommonComponent implements RestProducerFa
sslContextParameters = getSslContextParameters();
}
if (sslContextParameters == null) {
- sslContextParameters = Optional.ofNullable(CamelContextHelper.findByType(getCamelContext(), GlobalSSLContextParametersSupplier.class)).map(Supplier::get).orElse(null);
+ sslContextParameters = getGlobalSSLContextParameters();
}
String httpMethodRestrict = getAndRemoveParameter(parameters, "httpMethodRestrict", String.class);
http://git-wip-us.apache.org/repos/asf/camel/blob/8471034c/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcComponent.java b/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcComponent.java
index cee3886..d7926aa 100644
--- a/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcComponent.java
+++ b/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcComponent.java
@@ -18,14 +18,11 @@ package org.apache.camel.component.irc;
import java.util.HashMap;
import java.util.Map;
-import java.util.Optional;
-import java.util.function.Supplier;
import org.apache.camel.RuntimeCamelException;
+import org.apache.camel.SSLContextParametersAware;
import org.apache.camel.impl.UriEndpointComponent;
-import org.apache.camel.util.CamelContextHelper;
import org.apache.camel.util.jsse.SSLContextParameters;
-import org.apache.camel.util.jsse.GlobalSSLContextParametersSupplier;
import org.schwering.irc.lib.IRCConnection;
import org.schwering.irc.lib.IRCEventListener;
import org.schwering.irc.lib.ssl.SSLIRCConnection;
@@ -37,7 +34,7 @@ import org.slf4j.LoggerFactory;
*
* @version
*/
-public class IrcComponent extends UriEndpointComponent {
+public class IrcComponent extends UriEndpointComponent implements SSLContextParametersAware {
private static final Logger LOG = LoggerFactory.getLogger(IrcComponent.class);
private final transient Map<String, IRCConnection> connectionCache = new HashMap<String, IRCConnection>();
@@ -82,7 +79,7 @@ public class IrcComponent extends UriEndpointComponent {
SSLContextParameters sslParams = configuration.getSslContextParameters();
if (sslParams == null) {
- sslParams = Optional.ofNullable(CamelContextHelper.findByType(getCamelContext(), GlobalSSLContextParametersSupplier.class)).map(Supplier::get).orElse(null);
+ sslParams = getGlobalSSLContextParameters();
}
if (sslParams != null) {
http://git-wip-us.apache.org/repos/asf/camel/blob/8471034c/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
index 3e16d04..ac4059f 100644
--- a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
+++ b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
@@ -29,8 +29,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
-import java.util.Optional;
-import java.util.function.Supplier;
import javax.management.MBeanServer;
import javax.servlet.Filter;
import javax.servlet.RequestDispatcher;
@@ -43,6 +41,7 @@ import org.apache.camel.Endpoint;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
import org.apache.camel.RuntimeCamelException;
+import org.apache.camel.SSLContextParametersAware;
import org.apache.camel.http.common.CamelServlet;
import org.apache.camel.http.common.HttpBinding;
import org.apache.camel.http.common.HttpCommonComponent;
@@ -60,7 +59,6 @@ import org.apache.camel.spi.RestApiConsumerFactory;
import org.apache.camel.spi.RestConfiguration;
import org.apache.camel.spi.RestConsumerFactory;
import org.apache.camel.spi.RestProducerFactory;
-import org.apache.camel.util.CamelContextHelper;
import org.apache.camel.util.FileUtil;
import org.apache.camel.util.HostUtils;
import org.apache.camel.util.IntrospectionSupport;
@@ -69,7 +67,6 @@ import org.apache.camel.util.ServiceHelper;
import org.apache.camel.util.URISupport;
import org.apache.camel.util.UnsafeUriCharactersEncoder;
import org.apache.camel.util.jsse.SSLContextParameters;
-import org.apache.camel.util.jsse.GlobalSSLContextParametersSupplier;
import org.eclipse.jetty.client.HttpClient;
import org.eclipse.jetty.client.HttpClientTransport;
import org.eclipse.jetty.client.http.HttpClientTransportOverHTTP;
@@ -102,13 +99,13 @@ import org.slf4j.LoggerFactory;
* An HttpComponent which starts an embedded Jetty for to handle consuming from
* the http endpoints.
*
- * @version
+ * @version
*/
-public abstract class JettyHttpComponent extends HttpCommonComponent implements RestConsumerFactory, RestApiConsumerFactory, RestProducerFactory {
+public abstract class JettyHttpComponent extends HttpCommonComponent implements RestConsumerFactory, RestApiConsumerFactory, RestProducerFactory, SSLContextParametersAware {
public static final String TMP_DIR = "CamelJettyTempDir";
-
+
protected static final HashMap<String, ConnectorRef> CONNECTORS = new HashMap<String, ConnectorRef>();
-
+
private static final Logger LOG = LoggerFactory.getLogger(JettyHttpComponent.class);
private static final String JETTY_SSL_KEYSTORE = "org.eclipse.jetty.ssl.keystore";
private static final String JETTY_SSL_KEYPASSWORD = "org.eclipse.jetty.ssl.keypassword";
@@ -166,7 +163,7 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
public int decrement() {
return --refCount;
}
-
+
public int getRefCount() {
return refCount;
}
@@ -189,7 +186,7 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
UrlRewrite urlRewrite = resolveAndRemoveReferenceParameter(parameters, "urlRewrite", UrlRewrite.class);
SSLContextParameters sslContextParameters = resolveAndRemoveReferenceParameter(parameters, "sslContextParameters", SSLContextParameters.class);
SSLContextParameters ssl = sslContextParameters != null ? sslContextParameters : this.sslContextParameters;
- ssl = ssl != null ? ssl : Optional.ofNullable(CamelContextHelper.findByType(getCamelContext(), GlobalSSLContextParametersSupplier.class)).map(Supplier::get).orElse(null);
+ ssl = ssl != null ? ssl : getGlobalSSLContextParameters();
String proxyHost = getAndRemoveParameter(parameters, "proxyHost", String.class, getProxyHost());
Integer proxyPort = getAndRemoveParameter(parameters, "proxyPort", Integer.class, getProxyPort());
Integer httpClientMinThreads = getAndRemoveParameter(parameters, "httpClientMinThreads", Integer.class, this.httpClientMinThreads);
@@ -238,7 +235,7 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
endpoint.setUrlRewrite(urlRewrite);
}
// setup the proxy host and proxy port
-
+
if (httpClientParameters != null && !httpClientParameters.isEmpty()) {
endpoint.setHttpClientParameters(httpClientParameters);
}
@@ -266,7 +263,7 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
}
if (enableJmx != null) {
endpoint.setEnableJmx(enableJmx);
- } else {
+ } else {
// set this option based on setting of JettyHttpComponent
endpoint.setEnableJmx(isEnableJmx());
}
@@ -344,11 +341,11 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
enableSessionSupport(connectorRef.server, connectorKey);
}
connectorRef.server.start();
-
+
CONNECTORS.put(connectorKey, connectorRef);
-
+
} else {
-
+
if (endpoint.getHandlers() != null && !endpoint.getHandlers().isEmpty()) {
// As the server is started, we need to stop the server for a while to add the new handler
connectorRef.server.stop();
@@ -362,11 +359,11 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
if (endpoint.isSessionSupport()) {
enableSessionSupport(connectorRef.server, connectorKey);
}
-
+
if (endpoint.isEnableMultipartFilter()) {
enableMultipartFilter(endpoint, connectorRef.server, connectorKey);
}
-
+
if (endpoint.getFilters() != null && endpoint.getFilters().size() > 0) {
setFilters(endpoint, connectorRef.server, connectorKey);
}
@@ -396,7 +393,7 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
}
}
}
-
+
private void setFilters(JettyHttpEndpoint endpoint, Server server, String connectorKey) {
ServletContextHandler context = server.getChildHandlerByClass(ServletContextHandler.class);
List<Filter> filters = endpoint.getFilters();
@@ -416,7 +413,7 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
addFilter(context, filterHolder, pathSpec);
}
}
-
+
private void addFilter(ServletContextHandler context, FilterHolder filterHolder, String pathSpec) {
context.getServletHandler().addFilterWithMapping(filterHolder, pathSpec, 0);
}
@@ -461,7 +458,7 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
// If the connector is not needed anymore then stop it
HttpCommonEndpoint endpoint = consumer.getEndpoint();
String connectorKey = getConnectorKey(endpoint);
-
+
synchronized (CONNECTORS) {
ConnectorRef connectorRef = CONNECTORS.get(connectorKey);
if (connectorRef != null) {
@@ -481,14 +478,14 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
}
}
}
-
+
private String getConnectorKey(HttpCommonEndpoint endpoint) {
return endpoint.getProtocol() + ":" + endpoint.getHttpUri().getHost() + ":" + endpoint.getPort();
}
// Properties
// -------------------------------------------------------------------------
-
+
public String getSslKeyPassword() {
return sslKeyPassword;
}
@@ -549,7 +546,7 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
connector = getSocketConnector(server, endpoint);
}
return connector;
- }
+ }
protected Connector getSocketConnector(Server server, JettyHttpEndpoint endpoint) {
Connector answer = null;
if (socketConnectors != null) {
@@ -571,18 +568,18 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
}
return answer;
}
-
+
protected Connector createConnector(Server server, JettyHttpEndpoint endpoint) {
// now we just use the SelectChannelConnector as the default connector
SslContextFactory sslcf = null;
-
+
// Note that this was set on the endpoint when it was constructed. It was
// either explicitly set at the component or on the endpoint, but either way,
// the value is already set. We therefore do not need to look at the component
// level SSLContextParameters again in this method.
- SSLContextParameters endpointSslContextParameters = endpoint.getSslContextParameters();
-
+ SSLContextParameters endpointSslContextParameters = endpoint.getSslContextParameters();
+
if (endpointSslContextParameters != null) {
try {
sslcf = createSslContextFactory(endpointSslContextParameters);
@@ -590,21 +587,21 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
throw new RuntimeCamelException(e);
}
} else if ("https".equals(endpoint.getProtocol())) {
- sslcf = new SslContextFactory();
+ sslcf = new SslContextFactory();
String keystoreProperty = System.getProperty(JETTY_SSL_KEYSTORE);
if (keystoreProperty != null) {
sslcf.setKeyStorePath(keystoreProperty);
} else if (sslKeystore != null) {
sslcf.setKeyStorePath(sslKeystore);
}
-
+
String keystorePassword = System.getProperty(JETTY_SSL_KEYPASSWORD);
if (keystorePassword != null) {
sslcf.setKeyManagerPassword(keystorePassword);
} else if (sslKeyPassword != null) {
sslcf.setKeyManagerPassword(sslKeyPassword);
}
-
+
String password = System.getProperty(JETTY_SSL_PASSWORD);
if (password != null) {
sslcf.setKeyStorePassword(password);
@@ -615,9 +612,9 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
return createConnectorJettyInternal(server, endpoint, sslcf);
}
-
+
protected abstract AbstractConnector createConnectorJettyInternal(Server server, JettyHttpEndpoint endpoint, SslContextFactory sslcf);
-
+
private SslContextFactory createSslContextFactory(SSLContextParameters ssl) throws GeneralSecurityException, IOException {
SslContextFactory answer = new SslContextFactory();
if (ssl != null) {
@@ -625,7 +622,7 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
}
return answer;
}
-
+
protected boolean checkSSLContextFactoryConfig(Object instance) {
try {
Method method = instance.getClass().getMethod("checkConfig");
@@ -675,10 +672,10 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
SslContextFactory sslContextFactory = createSslContextFactory(ssl);
HttpClientTransport transport = createHttpClientTransport(maxThreads);
CamelHttpClient httpClient = createCamelHttpClient(transport, sslContextFactory);
-
+
CamelContext context = endpoint.getCamelContext();
- if (context != null
+ if (context != null
&& ObjectHelper.isNotEmpty(context.getProperty("http.proxyHost"))
&& ObjectHelper.isNotEmpty(context.getProperty("http.proxyPort"))) {
String host = context.getProperty("http.proxyHost");
@@ -693,7 +690,7 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
LOG.debug("proxyHost and proxyPort options detected. Using http proxy host: {} port: {}", host, port);
httpClient.setProxy(host, port);
}
-
+
// must have both min and max
if (minThreads != null || maxThreads != null) {
@@ -712,7 +709,7 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
qtp.setName("CamelJettyClient(" + ObjectHelper.getIdentityHashCode(httpClient) + ")");
httpClient.setThreadPoolOrExecutor(qtp);
}
-
+
if (LOG.isDebugEnabled()) {
if (minThreads != null) {
LOG.debug("Created HttpClient with thread pool {}-{} -> {}", new Object[]{minThreads, maxThreads, httpClient});
@@ -720,7 +717,7 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
LOG.debug("Created HttpClient with default thread pool size -> {}", httpClient);
}
}
-
+
return httpClient;
}
@@ -846,13 +843,13 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
// If null, provide the default implementation.
if (mbContainer == null) {
MBeanServer mbs = null;
-
+
final ManagementStrategy mStrategy = this.getCamelContext().getManagementStrategy();
final ManagementAgent mAgent = mStrategy.getManagementAgent();
if (mAgent != null) {
mbs = mAgent.getMBeanServer();
}
-
+
if (mbs != null) {
mbContainer = new MBeanContainer(mbs);
startMbContainer();
@@ -860,7 +857,7 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
LOG.warn("JMX disabled in CamelContext. Jetty JMX extensions will remain disabled.");
}
}
-
+
return this.mbContainer;
}
@@ -939,7 +936,7 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
public void setUseContinuation(boolean useContinuation) {
this.useContinuation = useContinuation;
}
-
+
public SSLContextParameters getSslContextParameters() {
return sslContextParameters;
}
@@ -1157,7 +1154,7 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
if (!query.isEmpty()) {
url = url + "&" + query;
}
-
+
JettyHttpEndpoint endpoint = camelContext.getEndpoint(url, JettyHttpEndpoint.class);
setProperties(camelContext, endpoint, parameters);
@@ -1230,7 +1227,7 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
return camelServlet;
}
-
+
protected void addJettyHandlers(Server server, List<Handler> handlers) {
if (handlers != null && !handlers.isEmpty()) {
for (Handler handler : handlers) {
@@ -1251,7 +1248,7 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
}
protected boolean isHandlerInChain(Handler current, Handler handler) {
-
+
if (handler.equals(current)) {
//Found a match in the chain
return true;
@@ -1263,7 +1260,7 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
return false;
}
}
-
+
protected Server createServer() {
Server s = null;
ThreadPool tp = threadPool;
@@ -1286,7 +1283,7 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
try {
if (!Server.getVersion().startsWith("8")) {
s = Server.class.getConstructor(ThreadPool.class).newInstance(tp);
-
+
} else {
s = new Server();
if (isEnableJmx()) {
@@ -1319,8 +1316,8 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
//need an error handler that won't leak information about the exception
//back to the client.
ErrorHandler eh = new ErrorHandler() {
- public void handle(String target, Request baseRequest,
- HttpServletRequest request, HttpServletResponse response)
+ public void handle(String target, Request baseRequest,
+ HttpServletRequest request, HttpServletResponse response)
throws IOException {
String msg = HttpStatus.getMessage(response.getStatus());
request.setAttribute(RequestDispatcher.ERROR_MESSAGE, msg);
@@ -1340,8 +1337,8 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
}
return s;
}
-
-
+
+
/**
* Starts {@link #mbContainer} and registers the container with itself as a managed bean
* logging an error if there is a problem starting the container.
@@ -1407,12 +1404,12 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
mbContainer = null;
}
}
-
+
private void addServerMBean(Server server) {
if (mbContainer == null) {
return;
- }
-
+ }
+
try {
Object o = getContainer(server);
o.getClass().getMethod("addEventListener", Container.Listener.class).invoke(o, mbContainer);
@@ -1456,5 +1453,5 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
throw new RuntimeException(t);
}
}
-
+
}
http://git-wip-us.apache.org/repos/asf/camel/blob/8471034c/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaComponent.java b/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaComponent.java
index f525b72..eeb9b71 100644
--- a/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaComponent.java
+++ b/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaComponent.java
@@ -17,19 +17,16 @@
package org.apache.camel.component.kafka;
import java.util.Map;
-import java.util.Optional;
import java.util.concurrent.ExecutorService;
-import java.util.function.Supplier;
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
+import org.apache.camel.SSLContextParametersAware;
import org.apache.camel.impl.UriEndpointComponent;
import org.apache.camel.spi.Metadata;
-import org.apache.camel.util.CamelContextHelper;
import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.jsse.GlobalSSLContextParametersSupplier;
-public class KafkaComponent extends UriEndpointComponent {
+public class KafkaComponent extends UriEndpointComponent implements SSLContextParametersAware {
private KafkaConfiguration configuration;
@@ -67,7 +64,7 @@ public class KafkaComponent extends UriEndpointComponent {
setProperties(endpoint, params);
if (endpoint.getConfiguration().isUseGlobalSslContextParameters() && endpoint.getConfiguration().getSslContextParameters() == null) {
- endpoint.getConfiguration().setSslContextParameters(Optional.ofNullable(CamelContextHelper.findByType(getCamelContext(), GlobalSSLContextParametersSupplier.class)).map(Supplier::get).orElse(null));
+ endpoint.getConfiguration().setSslContextParameters(getGlobalSSLContextParameters());
}
return endpoint;
http://git-wip-us.apache.org/repos/asf/camel/blob/8471034c/components/camel-lumberjack/src/main/java/org/apache/camel/component/lumberjack/LumberjackComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-lumberjack/src/main/java/org/apache/camel/component/lumberjack/LumberjackComponent.java b/components/camel-lumberjack/src/main/java/org/apache/camel/component/lumberjack/LumberjackComponent.java
index e7c3257..3e58e29 100644
--- a/components/camel-lumberjack/src/main/java/org/apache/camel/component/lumberjack/LumberjackComponent.java
+++ b/components/camel-lumberjack/src/main/java/org/apache/camel/component/lumberjack/LumberjackComponent.java
@@ -17,20 +17,17 @@
package org.apache.camel.component.lumberjack;
import java.util.Map;
-import java.util.Optional;
-import java.util.function.Supplier;
import org.apache.camel.Endpoint;
+import org.apache.camel.SSLContextParametersAware;
import org.apache.camel.impl.UriEndpointComponent;
import org.apache.camel.spi.Metadata;
-import org.apache.camel.util.CamelContextHelper;
import org.apache.camel.util.jsse.SSLContextParameters;
-import org.apache.camel.util.jsse.GlobalSSLContextParametersSupplier;
/**
* The class is the Camel component for the Lumberjack server
*/
-public class LumberjackComponent extends UriEndpointComponent {
+public class LumberjackComponent extends UriEndpointComponent implements SSLContextParametersAware {
static final int DEFAULT_PORT = 5044;
@Metadata(label = "security")
@@ -66,7 +63,7 @@ public class LumberjackComponent extends UriEndpointComponent {
setProperties(answer, parameters);
if (isUseGlobalSslContextParameters() && answer.getSslContextParameters() == null) {
- answer.setSslContextParameters(Optional.ofNullable(CamelContextHelper.findByType(getCamelContext(), GlobalSSLContextParametersSupplier.class)).map(Supplier::get).orElse(null));
+ answer.setSslContextParameters(getGlobalSSLContextParameters());
}
return answer;
http://git-wip-us.apache.org/repos/asf/camel/blob/8471034c/components/camel-lumberjack/src/test/java/org/apache/camel/component/lumberjack/LumberjackComponentGlobalSSLTest.java
----------------------------------------------------------------------
diff --git a/components/camel-lumberjack/src/test/java/org/apache/camel/component/lumberjack/LumberjackComponentGlobalSSLTest.java b/components/camel-lumberjack/src/test/java/org/apache/camel/component/lumberjack/LumberjackComponentGlobalSSLTest.java
index 8709e86..6343735 100644
--- a/components/camel-lumberjack/src/test/java/org/apache/camel/component/lumberjack/LumberjackComponentGlobalSSLTest.java
+++ b/components/camel-lumberjack/src/test/java/org/apache/camel/component/lumberjack/LumberjackComponentGlobalSSLTest.java
@@ -20,15 +20,14 @@ import java.util.Arrays;
import java.util.List;
import java.util.Map;
+import org.apache.camel.CamelContext;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit4.CamelTestSupport;
import org.apache.camel.util.jsse.KeyManagersParameters;
import org.apache.camel.util.jsse.KeyStoreParameters;
import org.apache.camel.util.jsse.SSLContextParameters;
-import org.apache.camel.util.jsse.GlobalSSLContextParametersSupplier;
import org.apache.camel.util.jsse.TrustManagersParameters;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -42,10 +41,10 @@ public class LumberjackComponentGlobalSSLTest extends CamelTestSupport {
}
@Override
- protected JndiRegistry createRegistry() throws Exception {
- JndiRegistry registry = super.createRegistry();
- registry.bind("sslSupplier", (GlobalSSLContextParametersSupplier) () -> createServerSSLContextParameters());
- return registry;
+ protected CamelContext createCamelContext() throws Exception {
+ CamelContext context = super.createCamelContext();
+ context.setSSLContextParameters(createClientSSLContextParameters());
+ return context;
}
@Override
http://git-wip-us.apache.org/repos/asf/camel/blob/8471034c/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailComponent.java b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailComponent.java
index f08e68d..78a15f1 100644
--- a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailComponent.java
+++ b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailComponent.java
@@ -19,26 +19,23 @@ package org.apache.camel.component.mail;
import java.net.URI;
import java.util.HashSet;
import java.util.Map;
-import java.util.Optional;
import java.util.Set;
-import java.util.function.Supplier;
import javax.mail.search.SearchTerm;
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
+import org.apache.camel.SSLContextParametersAware;
import org.apache.camel.impl.UriEndpointComponent;
import org.apache.camel.spi.Metadata;
-import org.apache.camel.util.CamelContextHelper;
import org.apache.camel.util.IntrospectionSupport;
import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.jsse.GlobalSSLContextParametersSupplier;
/**
* Component for JavaMail.
*
* @version
*/
-public class MailComponent extends UriEndpointComponent {
+public class MailComponent extends UriEndpointComponent implements SSLContextParametersAware {
@Metadata(label = "advanced")
private MailConfiguration configuration;
@@ -104,7 +101,7 @@ public class MailComponent extends UriEndpointComponent {
// Use global ssl if present
if (endpoint.getConfiguration().getSslContextParameters() == null) {
- endpoint.getConfiguration().setSslContextParameters(Optional.ofNullable(CamelContextHelper.findByType(getCamelContext(), GlobalSSLContextParametersSupplier.class)).map(Supplier::get).orElse(null));
+ endpoint.getConfiguration().setSslContextParameters(getGlobalSSLContextParameters());
}
return endpoint;
http://git-wip-us.apache.org/repos/asf/camel/blob/8471034c/components/camel-mina2/src/main/java/org/apache/camel/component/mina2/Mina2Component.java
----------------------------------------------------------------------
diff --git a/components/camel-mina2/src/main/java/org/apache/camel/component/mina2/Mina2Component.java b/components/camel-mina2/src/main/java/org/apache/camel/component/mina2/Mina2Component.java
index 62319ac..fdd767b 100644
--- a/components/camel-mina2/src/main/java/org/apache/camel/component/mina2/Mina2Component.java
+++ b/components/camel-mina2/src/main/java/org/apache/camel/component/mina2/Mina2Component.java
@@ -18,17 +18,14 @@ package org.apache.camel.component.mina2;
import java.net.URI;
import java.util.Map;
-import java.util.Optional;
-import java.util.function.Supplier;
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
import org.apache.camel.ExchangePattern;
+import org.apache.camel.SSLContextParametersAware;
import org.apache.camel.impl.UriEndpointComponent;
import org.apache.camel.spi.Metadata;
-import org.apache.camel.util.CamelContextHelper;
import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.jsse.GlobalSSLContextParametersSupplier;
import org.apache.mina.core.filterchain.IoFilter;
/**
@@ -36,7 +33,7 @@ import org.apache.mina.core.filterchain.IoFilter;
*
* @version
*/
-public class Mina2Component extends UriEndpointComponent {
+public class Mina2Component extends UriEndpointComponent implements SSLContextParametersAware {
@Metadata(label = "advanced")
private Mina2Configuration configuration;
@@ -72,7 +69,7 @@ public class Mina2Component extends UriEndpointComponent {
setProperties(config, parameters);
if (config.isUseGlobalSslContextParameters() && config.getSslContextParameters() == null) {
- config.setSslContextParameters(Optional.ofNullable(CamelContextHelper.findByType(getCamelContext(), GlobalSSLContextParametersSupplier.class)).map(Supplier::get).orElse(null));
+ config.setSslContextParameters(getGlobalSSLContextParameters());
}
return createEndpoint(uri, config);
http://git-wip-us.apache.org/repos/asf/camel/blob/8471034c/components/camel-mina2/src/test/java/org/apache/camel/component/mina2/Mina2SslGlobalContextParametersTcpTest.java
----------------------------------------------------------------------
diff --git a/components/camel-mina2/src/test/java/org/apache/camel/component/mina2/Mina2SslGlobalContextParametersTcpTest.java b/components/camel-mina2/src/test/java/org/apache/camel/component/mina2/Mina2SslGlobalContextParametersTcpTest.java
index 8629637..7b865e1 100644
--- a/components/camel-mina2/src/test/java/org/apache/camel/component/mina2/Mina2SslGlobalContextParametersTcpTest.java
+++ b/components/camel-mina2/src/test/java/org/apache/camel/component/mina2/Mina2SslGlobalContextParametersTcpTest.java
@@ -16,11 +16,9 @@
*/
package org.apache.camel.component.mina2;
+import org.apache.camel.CamelContext;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
-import org.apache.camel.util.jsse.SSLContextParameters;
-import org.apache.camel.util.jsse.GlobalSSLContextParametersSupplier;
import org.junit.Test;
/**
@@ -29,14 +27,10 @@ import org.junit.Test;
public class Mina2SslGlobalContextParametersTcpTest extends BaseMina2Test {
@Override
- protected JndiRegistry createRegistry() throws Exception {
- JndiRegistry reg = super.createRegistry();
-
- if (isUseSslContext()) {
- SSLContextParameters parameters = createSslContextParameters();
- reg.bind("sslContextParametersSupplier", (GlobalSSLContextParametersSupplier) () -> parameters);
- }
- return reg;
+ protected CamelContext createCamelContext() throws Exception {
+ CamelContext context = super.createCamelContext();
+ context.setSSLContextParameters(createSslContextParameters());
+ return context;
}
@Test
http://git-wip-us.apache.org/repos/asf/camel/blob/8471034c/components/camel-nats/src/main/java/org/apache/camel/component/nats/NatsComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-nats/src/main/java/org/apache/camel/component/nats/NatsComponent.java b/components/camel-nats/src/main/java/org/apache/camel/component/nats/NatsComponent.java
index 8deb460..6c1cf32 100644
--- a/components/camel-nats/src/main/java/org/apache/camel/component/nats/NatsComponent.java
+++ b/components/camel-nats/src/main/java/org/apache/camel/component/nats/NatsComponent.java
@@ -17,15 +17,12 @@
package org.apache.camel.component.nats;
import java.util.Map;
-import java.util.Optional;
-import java.util.function.Supplier;
import org.apache.camel.Endpoint;
+import org.apache.camel.SSLContextParametersAware;
import org.apache.camel.impl.DefaultComponent;
-import org.apache.camel.util.CamelContextHelper;
-import org.apache.camel.util.jsse.GlobalSSLContextParametersSupplier;
-public class NatsComponent extends DefaultComponent {
+public class NatsComponent extends DefaultComponent implements SSLContextParametersAware {
@Override
protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
@@ -34,7 +31,7 @@ public class NatsComponent extends DefaultComponent {
config.setServers(remaining);
if (config.getSslContextParameters() == null) {
- config.setSslContextParameters(Optional.ofNullable(CamelContextHelper.findByType(getCamelContext(), GlobalSSLContextParametersSupplier.class)).map(Supplier::get).orElse(null));
+ config.setSslContextParameters(getGlobalSSLContextParameters());
}
NatsEndpoint endpoint = new NatsEndpoint(uri, this, config);
http://git-wip-us.apache.org/repos/asf/camel/blob/8471034c/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java b/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java
index e20ae6e..583e13a 100644
--- a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java
+++ b/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java
@@ -20,13 +20,12 @@ import java.net.URI;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
-import java.util.Optional;
-import java.util.function.Supplier;
import org.apache.camel.CamelContext;
import org.apache.camel.Consumer;
import org.apache.camel.Endpoint;
import org.apache.camel.Processor;
+import org.apache.camel.SSLContextParametersAware;
import org.apache.camel.component.netty.NettyComponent;
import org.apache.camel.component.netty.NettyConfiguration;
import org.apache.camel.component.netty.NettyServerBootstrapConfiguration;
@@ -37,7 +36,6 @@ import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.RestApiConsumerFactory;
import org.apache.camel.spi.RestConfiguration;
import org.apache.camel.spi.RestConsumerFactory;
-import org.apache.camel.util.CamelContextHelper;
import org.apache.camel.util.FileUtil;
import org.apache.camel.util.HostUtils;
import org.apache.camel.util.IntrospectionSupport;
@@ -45,14 +43,13 @@ import org.apache.camel.util.ObjectHelper;
import org.apache.camel.util.ServiceHelper;
import org.apache.camel.util.URISupport;
import org.apache.camel.util.UnsafeUriCharactersEncoder;
-import org.apache.camel.util.jsse.GlobalSSLContextParametersSupplier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Netty HTTP based component.
*/
-public class NettyHttpComponent extends NettyComponent implements HeaderFilterStrategyAware, RestConsumerFactory, RestApiConsumerFactory {
+public class NettyHttpComponent extends NettyComponent implements HeaderFilterStrategyAware, RestConsumerFactory, RestApiConsumerFactory, SSLContextParametersAware {
private static final Logger LOG = LoggerFactory.getLogger(NettyHttpComponent.class);
@@ -145,7 +142,7 @@ public class NettyHttpComponent extends NettyComponent implements HeaderFilterSt
setProperties(config, parameters);
if (config.getSslContextParameters() == null) {
- config.setSslContextParameters(Optional.ofNullable(CamelContextHelper.findByType(getCamelContext(), GlobalSSLContextParametersSupplier.class)).map(Supplier::get).orElse(null));
+ config.setSslContextParameters(getGlobalSSLContextParameters());
}
// validate config
http://git-wip-us.apache.org/repos/asf/camel/blob/8471034c/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/util/NettySSLContextParameterSupplier.java
----------------------------------------------------------------------
diff --git a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/util/NettySSLContextParameterSupplier.java b/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/util/NettySSLContextParameterSupplier.java
deleted file mode 100644
index 249ef68..0000000
--- a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/util/NettySSLContextParameterSupplier.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright 2016 Red Hat, Inc.
- *
- * Red Hat licenses this file to you under the Apache License, version
- * 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- * implied. See the License for the specific language governing
- * permissions and limitations under the License.
- */
-package org.apache.camel.component.netty.http.util;
-
-import org.apache.camel.util.jsse.SSLContextParameters;
-import org.apache.camel.util.jsse.GlobalSSLContextParametersSupplier;
-
-/**
- * Class for binding a SSSLContextParametersSupplier to the registry.
- */
-public class NettySSLContextParameterSupplier implements GlobalSSLContextParametersSupplier {
-
- private SSLContextParameters sslContextParameters;
-
- public NettySSLContextParameterSupplier() {
- }
-
- public SSLContextParameters getSslContextParameters() {
- return sslContextParameters;
- }
-
- public void setSslContextParameters(SSLContextParameters sslContextParameters) {
- this.sslContextParameters = sslContextParameters;
- }
-
- @Override
- public SSLContextParameters get() {
- return sslContextParameters;
- }
-}