You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2015/08/01 11:17:13 UTC

[6/6] camel git commit: CAMEL-9045 Camel-aws: Make it easier to configure http proxy, aws-cw component

CAMEL-9045 Camel-aws: Make it easier to configure http proxy, aws-cw component


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

Branch: refs/heads/master
Commit: 31792a22edc40f222c7eb8ea703c4986e75df668
Parents: 7b49e8d
Author: Andrea Cosentino <an...@gmail.com>
Authored: Sat Aug 1 11:10:20 2015 +0200
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Sat Aug 1 11:10:20 2015 +0200

----------------------------------------------------------------------
 .../camel/component/aws/cw/CwConfiguration.java | 30 ++++++++++++++++++++
 .../camel/component/aws/cw/CwEndpoint.java      | 12 +++++++-
 2 files changed, 41 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/31792a22/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwConfiguration.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwConfiguration.java
index bcee315..9261e61 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwConfiguration.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwConfiguration.java
@@ -19,6 +19,7 @@ package org.apache.camel.component.aws.cw;
 import java.util.Date;
 
 import com.amazonaws.services.cloudwatch.AmazonCloudWatch;
+
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -45,6 +46,10 @@ public class CwConfiguration implements Cloneable {
     private String unit;
     @UriParam
     private Date timestamp;
+    @UriParam
+    private String proxyHost;
+    @UriParam
+    private Integer proxyPort;
 
     /**
      * The region with which the AWS-CW client wants to work with.
@@ -144,6 +149,29 @@ public class CwConfiguration implements Cloneable {
     public void setAmazonCwClient(AmazonCloudWatch amazonCwClient) {
         this.amazonCwClient = amazonCwClient;
     }
+    
+    
+    /**
+     * To define a proxy host when instantiating the SQS client
+     */
+    public String getProxyHost() {
+        return proxyHost;
+    }
+
+    public void setProxyHost(String proxyHost) {
+        this.proxyHost = proxyHost;
+    }
+
+    /**
+     * To define a proxy port when instantiating the SQS client
+     */
+    public Integer getProxyPort() {
+        return proxyPort;
+    }
+
+    public void setProxyPort(Integer proxyPort) {
+        this.proxyPort = proxyPort;
+    }
 
     @Override
     public String toString() {
@@ -153,6 +181,8 @@ public class CwConfiguration implements Cloneable {
                 + ", secretKey=xxxxxxxxxxxxxxx"
                 + ", value=" + value
                 + ", unit=" + unit
+                + ", proxyHost=" + proxyHost
+                + ", proxyPort=" + proxyPort
                 + "]";
     }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/31792a22/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwEndpoint.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwEndpoint.java
index 6a75991..aa1ba61 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwEndpoint.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwEndpoint.java
@@ -16,10 +16,12 @@
  */
 package org.apache.camel.component.aws.cw;
 
+import com.amazonaws.ClientConfiguration;
 import com.amazonaws.auth.AWSCredentials;
 import com.amazonaws.auth.BasicAWSCredentials;
 import com.amazonaws.services.cloudwatch.AmazonCloudWatch;
 import com.amazonaws.services.cloudwatch.AmazonCloudWatchClient;
+
 import org.apache.camel.CamelContext;
 import org.apache.camel.Component;
 import org.apache.camel.Consumer;
@@ -92,8 +94,16 @@ public class CwEndpoint extends DefaultEndpoint {
     }
 
     AmazonCloudWatch createCloudWatchClient() {
+        AmazonCloudWatch client = null;
         AWSCredentials credentials = new BasicAWSCredentials(configuration.getAccessKey(), configuration.getSecretKey());
-        AmazonCloudWatch client = new AmazonCloudWatchClient(credentials);
+        if (ObjectHelper.isNotEmpty(configuration.getProxyHost()) && ObjectHelper.isNotEmpty(configuration.getProxyPort())) {
+            ClientConfiguration clientConfiguration = new ClientConfiguration();
+            clientConfiguration.setProxyHost(configuration.getProxyHost());
+            clientConfiguration.setProxyPort(configuration.getProxyPort());
+            client = new AmazonCloudWatchClient(credentials, clientConfiguration);
+        } else {
+            client = new AmazonCloudWatchClient(credentials);
+        }
         return client;
     }
 }
\ No newline at end of file