Repository: camel
Updated Branches:
  refs/heads/master 9e574afcf -> 0b46b0820


CAMEL-10133 Allow to configure the SSL configuration of the lumberjack 
component at the component level


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

Branch: refs/heads/master
Commit: e60279cd723e9e63909c566a33fbf5c42031a1ef
Parents: 9e574af
Author: Antoine DESSAIGNE <antoine.dessai...@gmail.com>
Authored: Fri Jul 15 16:13:56 2016 +0200
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Fri Jul 15 17:04:27 2016 +0200

----------------------------------------------------------------------
 .../src/main/docs/lumberjack.adoc               | 14 +++++++++++-
 .../lumberjack/LumberjackComponent.java         | 15 ++++++++++++
 .../lumberjack/LumberjackEndpoint.java          | 24 ++++++++++++++++++--
 3 files changed, 50 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/e60279cd/components/camel-lumberjack/src/main/docs/lumberjack.adoc
----------------------------------------------------------------------
diff --git a/components/camel-lumberjack/src/main/docs/lumberjack.adoc 
b/components/camel-lumberjack/src/main/docs/lumberjack.adoc
index 7d560cb..3b0083a 100644
--- a/components/camel-lumberjack/src/main/docs/lumberjack.adoc
+++ b/components/camel-lumberjack/src/main/docs/lumberjack.adoc
@@ -40,14 +40,26 @@ Options
 ^^^^^^^
 
 
+
 // component options: START
-The Lumberjack component has no options.
+The Lumberjack component supports 1 options which are listed below.
+
+
+
+{% raw %}
+[width="100%",cols="2s,1m,8",options="header"]
+|=======================================================================
+| Name | Java Type | Description
+| sslContextParameters | SSLContextParameters | Sets the default SSL 
configuration to use for all the endpoints. You can also configure it directly 
at the endpoint level.
+|=======================================================================
+{% endraw %}
 // component options: END
 
 
 
 
 
+
 // endpoint options: START
 The Lumberjack component supports 7 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/e60279cd/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 096d10f..96fbb3d 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
@@ -20,6 +20,7 @@ import java.util.Map;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.impl.UriEndpointComponent;
+import org.apache.camel.util.jsse.SSLContextParameters;
 
 /**
  * The class is the Camel component for the Lumberjack server
@@ -27,6 +28,8 @@ import org.apache.camel.impl.UriEndpointComponent;
 public class LumberjackComponent extends UriEndpointComponent {
     static final int DEFAULT_PORT = 5044;
 
+    private SSLContextParameters sslContextParameters;
+
     public LumberjackComponent() {
         this(LumberjackEndpoint.class);
     }
@@ -54,4 +57,16 @@ public class LumberjackComponent extends 
UriEndpointComponent {
         setProperties(answer, parameters);
         return answer;
     }
+
+    public SSLContextParameters getSslContextParameters() {
+        return sslContextParameters;
+    }
+
+    /**
+     * Sets the default SSL configuration to use for all the endpoints. You 
can also configure it directly at
+     * the endpoint level.
+     */
+    public void setSslContextParameters(SSLContextParameters 
sslContextParameters) {
+        this.sslContextParameters = sslContextParameters;
+    }
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/e60279cd/components/camel-lumberjack/src/main/java/org/apache/camel/component/lumberjack/LumberjackEndpoint.java
----------------------------------------------------------------------
diff --git 
a/components/camel-lumberjack/src/main/java/org/apache/camel/component/lumberjack/LumberjackEndpoint.java
 
b/components/camel-lumberjack/src/main/java/org/apache/camel/component/lumberjack/LumberjackEndpoint.java
index a86fe14..8c9d23d 100644
--- 
a/components/camel-lumberjack/src/main/java/org/apache/camel/component/lumberjack/LumberjackEndpoint.java
+++ 
b/components/camel-lumberjack/src/main/java/org/apache/camel/component/lumberjack/LumberjackEndpoint.java
@@ -16,6 +16,8 @@
  */
 package org.apache.camel.component.lumberjack;
 
+import java.io.IOException;
+import java.security.GeneralSecurityException;
 import javax.net.ssl.SSLContext;
 
 import org.apache.camel.Processor;
@@ -45,14 +47,18 @@ public class LumberjackEndpoint extends DefaultEndpoint {
     }
 
     @Override
+    public LumberjackComponent getComponent() {
+        return (LumberjackComponent) super.getComponent();
+    }
+
+    @Override
     public Producer createProducer() throws Exception {
         throw new UnsupportedOperationException("The Lumberjack component 
cannot be used as a producer");
     }
 
     @Override
     public LumberjackConsumer createConsumer(Processor processor) throws 
Exception {
-        SSLContext sslContext = sslContextParameters != null ? 
sslContextParameters.createSSLContext(getCamelContext()) : null;
-        return new LumberjackConsumer(this, processor, host, port, sslContext);
+        return new LumberjackConsumer(this, processor, host, port, 
provideSSLContext());
     }
 
     @Override
@@ -60,7 +66,21 @@ public class LumberjackEndpoint extends DefaultEndpoint {
         return true;
     }
 
+    public SSLContextParameters getSslContextParameters() {
+        return sslContextParameters;
+    }
+
     public void setSslContextParameters(SSLContextParameters 
sslContextParameters) {
         this.sslContextParameters = sslContextParameters;
     }
+
+    private SSLContext provideSSLContext() throws GeneralSecurityException, 
IOException {
+        if (sslContextParameters != null) {
+            return sslContextParameters.createSSLContext(getCamelContext());
+        } else if (getComponent().getSslContextParameters() != null) {
+            return 
getComponent().getSslContextParameters().createSSLContext(getCamelContext());
+        } else {
+            return null;
+        }
+    }
 }

Reply via email to