You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2014/03/12 09:22:27 UTC
[2/4] git commit: CAMEL-7286 fixed the same issue of other aws clients
CAMEL-7286 fixed the same issue of other aws clients
Conflicts:
components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/e170feb3
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/e170feb3
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/e170feb3
Branch: refs/heads/camel-2.12.x
Commit: e170feb3ac8b203af2e82a893713de618f7f9e4f
Parents: 5ac5249
Author: Willem Jiang <wi...@gmail.com>
Authored: Wed Mar 12 15:46:44 2014 +0800
Committer: Willem Jiang <wi...@gmail.com>
Committed: Wed Mar 12 16:04:29 2014 +0800
----------------------------------------------------------------------
.../camel/component/aws/cw/CwEndpoint.java | 15 ++++++------
.../camel/component/aws/ddb/DdbEndpoint.java | 17 ++++++++------
.../camel/component/aws/s3/S3Endpoint.java | 24 ++++++++++----------
.../camel/component/aws/sdb/SdbEndpoint.java | 14 +++++++-----
.../camel/component/aws/ses/SesEndpoint.java | 23 +++++++++++++------
.../camel/component/aws/sqs/SqsEndpoint.java | 9 +++++---
6 files changed, 60 insertions(+), 42 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/e170feb3/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 72a54b3..43deaf9 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
@@ -27,6 +27,7 @@ import org.apache.camel.Consumer;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
import org.apache.camel.impl.DefaultEndpoint;
+import org.apache.camel.util.ObjectHelper;
/**
* Defines the <a href="http://aws.amazon.com/cloudwatch/">AWS CloudWatch Endpoint</a>
@@ -62,6 +63,13 @@ public class CwEndpoint extends DefaultEndpoint {
@Override
public void doStart() throws Exception {
super.doStart();
+
+ cloudWatchClient = configuration.getAmazonCwClient() != null
+ ? configuration.getAmazonCwClient() : createCloudWatchClient();
+
+ if (ObjectHelper.isNotEmpty(configuration.getAmazonCwEndpoint())) {
+ cloudWatchClient.setEndpoint(configuration.getAmazonCwEndpoint());
+ }
}
public CwConfiguration getConfiguration() {
@@ -77,19 +85,12 @@ public class CwEndpoint extends DefaultEndpoint {
}
public AmazonCloudWatch getCloudWatchClient() {
- if (cloudWatchClient == null) {
- cloudWatchClient = configuration.getAmazonCwClient() != null
- ? configuration.getAmazonCwClient() : createCloudWatchClient();
- }
return cloudWatchClient;
}
AmazonCloudWatch createCloudWatchClient() {
AWSCredentials credentials = new BasicAWSCredentials(configuration.getAccessKey(), configuration.getSecretKey());
AmazonCloudWatch client = new AmazonCloudWatchClient(credentials);
- if (configuration.getAmazonCwEndpoint() != null) {
- client.setEndpoint(configuration.getAmazonCwEndpoint());
- }
return client;
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/camel/blob/e170feb3/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbEndpoint.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbEndpoint.java
index 443cef5..6f7e9c7 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbEndpoint.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbEndpoint.java
@@ -36,6 +36,7 @@ import org.apache.camel.Consumer;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
import org.apache.camel.impl.ScheduledPollEndpoint;
+import org.apache.camel.util.ObjectHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -46,6 +47,7 @@ public class DdbEndpoint extends ScheduledPollEndpoint {
private static final Logger LOG = LoggerFactory.getLogger(DdbEndpoint.class);
private DdbConfiguration configuration;
+ private AmazonDynamoDB ddbClient;
@Deprecated
public DdbEndpoint(String uri, CamelContext context, DdbConfiguration configuration) {
@@ -74,7 +76,13 @@ public class DdbEndpoint extends ScheduledPollEndpoint {
public void doStart() throws Exception {
super.doStart();
- AmazonDynamoDB ddbClient = getDdbClient();
+ ddbClient = configuration.getAmazonDDBClient() != null ? configuration.getAmazonDDBClient()
+ : createDdbClient();
+
+ if (ObjectHelper.isNotEmpty(configuration.getAmazonDdbEndpoint())) {
+ ddbClient.setEndpoint(configuration.getAmazonDdbEndpoint());
+ }
+
String tableName = getConfiguration().getTableName();
LOG.trace("Querying whether table [{}] already exists...", tableName);
@@ -116,18 +124,13 @@ public class DdbEndpoint extends ScheduledPollEndpoint {
}
public AmazonDynamoDB getDdbClient() {
- return configuration.getAmazonDDBClient() != null ? configuration.getAmazonDDBClient()
- : createDdbClient();
+ return ddbClient;
}
AmazonDynamoDB createDdbClient() {
AWSCredentials credentials = new BasicAWSCredentials(configuration.getAccessKey(),
configuration.getSecretKey());
AmazonDynamoDB client = new AmazonDynamoDBClient(credentials);
- if (configuration.getAmazonDdbEndpoint() != null) {
- client.setEndpoint(configuration.getAmazonDdbEndpoint());
- }
- configuration.setAmazonDDBClient(client);
return client;
}
http://git-wip-us.apache.org/repos/asf/camel/blob/e170feb3/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java
index 64f9315..242b20c 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java
@@ -36,6 +36,7 @@ import org.apache.camel.Processor;
import org.apache.camel.Producer;
import org.apache.camel.impl.DefaultExchange;
import org.apache.camel.impl.ScheduledPollEndpoint;
+import org.apache.camel.util.ObjectHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -79,12 +80,19 @@ public class S3Endpoint extends ScheduledPollEndpoint {
@Override
public void doStart() throws Exception {
super.doStart();
+
+ s3Client = configuration.getAmazonS3Client() != null
+ ? configuration.getAmazonS3Client() : createS3Client();
+ if (ObjectHelper.isNotEmpty(configuration.getAmazonS3Endpoint())) {
+ s3Client.setEndpoint(configuration.getAmazonS3Endpoint());
+ }
+
String bucketName = getConfiguration().getBucketName();
LOG.trace("Quering whether bucket [{}] already exists...", bucketName);
try {
- getS3Client().listObjects(new ListObjectsRequest(bucketName, null, null, null, 0));
+ s3Client.listObjects(new ListObjectsRequest(bucketName, null, null, null, 0));
LOG.trace("Bucket [{}] already exists", bucketName);
return;
} catch (AmazonServiceException ase) {
@@ -104,14 +112,14 @@ public class S3Endpoint extends ScheduledPollEndpoint {
LOG.trace("Creating bucket [{}] in region [{}] with request [{}]...", new Object[]{configuration.getBucketName(), configuration.getRegion(), createBucketRequest});
- getS3Client().createBucket(createBucketRequest);
+ s3Client.createBucket(createBucketRequest);
LOG.trace("Bucket created");
if (configuration.getPolicy() != null) {
LOG.trace("Updating bucket [{}] with policy [{}]", bucketName, configuration.getPolicy());
- getS3Client().setBucketPolicy(bucketName, configuration.getPolicy());
+ s3Client.setBucketPolicy(bucketName, configuration.getPolicy());
LOG.trace("Bucket policy updated");
}
@@ -159,11 +167,6 @@ public class S3Endpoint extends ScheduledPollEndpoint {
}
public AmazonS3 getS3Client() {
- if (s3Client == null) {
- s3Client = configuration.getAmazonS3Client() != null
- ? configuration.getAmazonS3Client() : createS3Client();
- }
-
return s3Client;
}
@@ -175,9 +178,6 @@ public class S3Endpoint extends ScheduledPollEndpoint {
AmazonS3 createS3Client() {
AWSCredentials credentials = new BasicAWSCredentials(configuration.getAccessKey(), configuration.getSecretKey());
AmazonS3 client = new AmazonS3Client(credentials);
- if (configuration.getAmazonS3Endpoint() != null) {
- client.setEndpoint(configuration.getAmazonS3Endpoint());
- }
return client;
}
@@ -188,4 +188,4 @@ public class S3Endpoint extends ScheduledPollEndpoint {
public void setMaxMessagesPerPoll(int maxMessagesPerPoll) {
this.maxMessagesPerPoll = maxMessagesPerPoll;
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/camel/blob/e170feb3/components/camel-aws/src/main/java/org/apache/camel/component/aws/sdb/SdbEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sdb/SdbEndpoint.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sdb/SdbEndpoint.java
index f46f89c..0a781a6 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sdb/SdbEndpoint.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sdb/SdbEndpoint.java
@@ -30,6 +30,7 @@ import org.apache.camel.Processor;
import org.apache.camel.Producer;
import org.apache.camel.component.aws.s3.S3Endpoint;
import org.apache.camel.impl.ScheduledPollEndpoint;
+import org.apache.camel.util.ObjectHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -41,6 +42,7 @@ public class SdbEndpoint extends ScheduledPollEndpoint {
private static final Logger LOG = LoggerFactory.getLogger(S3Endpoint.class);
private SdbConfiguration configuration;
+ private AmazonSimpleDB sdbClient;
@Deprecated
public SdbEndpoint(String uri, CamelContext context, SdbConfiguration configuration) {
@@ -68,7 +70,11 @@ public class SdbEndpoint extends ScheduledPollEndpoint {
public void doStart() throws Exception {
super.doStart();
- AmazonSimpleDB sdbClient = getSdbClient();
+ sdbClient = configuration.getAmazonSDBClient() != null ? configuration.getAmazonSDBClient() : createSdbClient();
+ if (ObjectHelper.isNotEmpty(configuration.getAmazonSdbEndpoint())) {
+ sdbClient.setEndpoint(configuration.getAmazonSdbEndpoint());
+ }
+
String domainName = getConfiguration().getDomainName();
LOG.trace("Querying whether domain [{}] already exists...", domainName);
@@ -89,16 +95,12 @@ public class SdbEndpoint extends ScheduledPollEndpoint {
}
public AmazonSimpleDB getSdbClient() {
- return configuration.getAmazonSDBClient() != null ? configuration.getAmazonSDBClient() : createSdbClient();
+ return sdbClient;
}
AmazonSimpleDB createSdbClient() {
AWSCredentials credentials = new BasicAWSCredentials(configuration.getAccessKey(), configuration.getSecretKey());
AmazonSimpleDB client = new AmazonSimpleDBClient(credentials);
- if (configuration.getAmazonSdbEndpoint() != null) {
- client.setEndpoint(configuration.getAmazonSdbEndpoint());
- }
- configuration.setAmazonSDBClient(client);
return client;
}
}
http://git-wip-us.apache.org/repos/asf/camel/blob/e170feb3/components/camel-aws/src/main/java/org/apache/camel/component/aws/ses/SesEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ses/SesEndpoint.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ses/SesEndpoint.java
index 750b715..0cd952b 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ses/SesEndpoint.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ses/SesEndpoint.java
@@ -26,6 +26,7 @@ import org.apache.camel.Consumer;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
import org.apache.camel.impl.DefaultEndpoint;
+import org.apache.camel.util.ObjectHelper;
/**
* Defines the <a href="http://camel.apache.org/aws.html">AWS SES Endpoint</a>.
@@ -34,6 +35,8 @@ import org.apache.camel.impl.DefaultEndpoint;
public class SesEndpoint extends DefaultEndpoint {
private SesConfiguration configuration;
+
+ private AmazonSimpleEmailService sesClient;
@Deprecated
public SesEndpoint(String uri, CamelContext context, SesConfiguration configuration) {
@@ -44,6 +47,18 @@ public class SesEndpoint extends DefaultEndpoint {
super(uri, component);
this.configuration = configuration;
}
+
+ @Override
+ public void doStart() throws Exception {
+ super.doStart();
+ sesClient = configuration.getAmazonSESClient() != null
+ ? configuration.getAmazonSESClient()
+ : createSESClient();
+
+ if (ObjectHelper.isNotEmpty(configuration.getAmazonSESEndpoint())) {
+ sesClient.setEndpoint(configuration.getAmazonSESEndpoint());
+ }
+ }
public Consumer createConsumer(Processor processor) throws Exception {
throw new UnsupportedOperationException("You cannot receive messages from this endpoint");
@@ -62,18 +77,12 @@ public class SesEndpoint extends DefaultEndpoint {
}
public AmazonSimpleEmailService getSESClient() {
- return configuration.getAmazonSESClient() != null
- ? configuration.getAmazonSESClient()
- : createSESClient();
+ return sesClient;
}
private AmazonSimpleEmailService createSESClient() {
AWSCredentials credentials = new BasicAWSCredentials(configuration.getAccessKey(), configuration.getSecretKey());
AmazonSimpleEmailService client = new AmazonSimpleEmailServiceClient(credentials);
- if (configuration.getAmazonSESEndpoint() != null) {
- client.setEndpoint(configuration.getAmazonSESEndpoint());
- }
- configuration.setAmazonSESClient(client);
return client;
}
}
http://git-wip-us.apache.org/repos/asf/camel/blob/e170feb3/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java
index aa01c72..caf3c56 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java
@@ -38,6 +38,7 @@ import org.apache.camel.Processor;
import org.apache.camel.Producer;
import org.apache.camel.impl.DefaultExchange;
import org.apache.camel.impl.ScheduledPollEndpoint;
+import org.apache.camel.util.ObjectHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -79,6 +80,11 @@ public class SqsEndpoint extends ScheduledPollEndpoint {
protected void doStart() throws Exception {
client = getConfiguration().getAmazonSQSClient() != null
? getConfiguration().getAmazonSQSClient() : getClient();
+
+ // Override the endpoint location
+ if (ObjectHelper.isNotEmpty(getConfiguration().getAmazonSQSEndpoint())) {
+ client.setEndpoint(getConfiguration().getAmazonSQSEndpoint());
+ }
// If both region and Account ID is provided the queue URL can be built manually.
// This allows accessing queues where you don't have permission to list queues or query queues
@@ -211,9 +217,6 @@ public class SqsEndpoint extends ScheduledPollEndpoint {
AmazonSQS createClient() {
AWSCredentials credentials = new BasicAWSCredentials(configuration.getAccessKey(), configuration.getSecretKey());
AmazonSQS client = new AmazonSQSClient(credentials);
- if (configuration.getAmazonSQSEndpoint() != null) {
- client.setEndpoint(configuration.getAmazonSQSEndpoint());
- }
return client;
}