This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
commit 993817b5f0f2c2287bd41947d3be06e82fd3cca7 Author: Andrea Cosentino <anco...@gmail.com> AuthorDate: Wed Aug 21 16:51:39 2019 +0200 Camel-AWS-SQS: Moving the logic of doStart for endpoint in doInit --- .../camel/component/aws/sqs/SqsEndpoint.java | 75 +++++++++++----------- .../aws/sqs/SqsEndpointExplicitQueueUrlTest.java | 2 +- .../camel/component/aws/sqs/SqsEndpointTest.java | 4 +- 3 files changed, 41 insertions(+), 40 deletions(-) diff --git a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java b/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java index 0007c32..ff8ac4e 100644 --- a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java +++ b/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java @@ -106,52 +106,53 @@ public class SqsEndpoint extends ScheduledPollEndpoint implements HeaderFilterSt sqsConsumer.setScheduler(scheduler); return sqsConsumer; } - + @Override - protected void doStart() throws Exception { + protected void doInit() throws Exception { + super.doInit(); client = getConfiguration().getAmazonSQSClient() != null - ? getConfiguration().getAmazonSQSClient() : getClient(); + ? getConfiguration().getAmazonSQSClient() : getClient(); - // check the setting the headerFilterStrategy - if (headerFilterStrategy == null) { - headerFilterStrategy = new SqsHeaderFilterStrategy(); - } + // check the setting the headerFilterStrategy + if (headerFilterStrategy == null) { + headerFilterStrategy = new SqsHeaderFilterStrategy(); + } - if (configuration.getQueueUrl() != null) { - queueUrl = configuration.getQueueUrl(); - } else { - // 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 - if (configuration.getRegion() != null && configuration.getQueueOwnerAWSAccountId() != null) { - String host = configuration.getAmazonAWSHost(); - host = FileUtil.stripTrailingSeparator(host); - queueUrl = "https://sqs." + Regions.valueOf(configuration.getRegion()).getName() + "." + host + "/" - + configuration.getQueueOwnerAWSAccountId() + "/" + configuration.getQueueName(); - } else if (configuration.getQueueOwnerAWSAccountId() != null) { - GetQueueUrlRequest getQueueUrlRequest = new GetQueueUrlRequest(); - getQueueUrlRequest.setQueueName(configuration.getQueueName()); - getQueueUrlRequest.setQueueOwnerAWSAccountId(configuration.getQueueOwnerAWSAccountId()); - GetQueueUrlResult getQueueUrlResult = client.getQueueUrl(getQueueUrlRequest); - queueUrl = getQueueUrlResult.getQueueUrl(); + if (configuration.getQueueUrl() != null) { + queueUrl = configuration.getQueueUrl(); } else { - // check whether the queue already exists - ListQueuesResult listQueuesResult = client.listQueues(); - for (String url : listQueuesResult.getQueueUrls()) { - if (url.endsWith("/" + configuration.getQueueName())) { - queueUrl = url; - log.trace("Queue available at '{}'.", queueUrl); - break; + // 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 + if (configuration.getRegion() != null && configuration.getQueueOwnerAWSAccountId() != null) { + String host = configuration.getAmazonAWSHost(); + host = FileUtil.stripTrailingSeparator(host); + queueUrl = "https://sqs." + Regions.valueOf(configuration.getRegion()).getName() + "." + host + "/" + + configuration.getQueueOwnerAWSAccountId() + "/" + configuration.getQueueName(); + } else if (configuration.getQueueOwnerAWSAccountId() != null) { + GetQueueUrlRequest getQueueUrlRequest = new GetQueueUrlRequest(); + getQueueUrlRequest.setQueueName(configuration.getQueueName()); + getQueueUrlRequest.setQueueOwnerAWSAccountId(configuration.getQueueOwnerAWSAccountId()); + GetQueueUrlResult getQueueUrlResult = client.getQueueUrl(getQueueUrlRequest); + queueUrl = getQueueUrlResult.getQueueUrl(); + } else { + // check whether the queue already exists + ListQueuesResult listQueuesResult = client.listQueues(); + for (String url : listQueuesResult.getQueueUrls()) { + if (url.endsWith("/" + configuration.getQueueName())) { + queueUrl = url; + log.trace("Queue available at '{}'.", queueUrl); + break; + } } } } - } - if (queueUrl == null && configuration.isAutoCreateQueue()) { - createQueue(client); - } else { - log.debug("Using Amazon SQS queue url: {}", queueUrl); - updateQueueAttributes(client); - } + if (queueUrl == null && configuration.isAutoCreateQueue()) { + createQueue(client); + } else { + log.debug("Using Amazon SQS queue url: {}", queueUrl); + updateQueueAttributes(client); + } } protected void createQueue(AmazonSQS client) { diff --git a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsEndpointExplicitQueueUrlTest.java b/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsEndpointExplicitQueueUrlTest.java index 5755296..d3db13c 100644 --- a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsEndpointExplicitQueueUrlTest.java +++ b/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsEndpointExplicitQueueUrlTest.java @@ -43,7 +43,7 @@ public class SqsEndpointExplicitQueueUrlTest extends Assert { @Test public void doStartWithExplicitQueueUrlInConfigShouldNotCallSqsClientListQueues() throws Exception { - endpoint.doStart(); + endpoint.doInit(); assertEquals(endpoint.getQueueUrl(), QUEUE_URL); } diff --git a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsEndpointTest.java b/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsEndpointTest.java index 930b251..c35d53d 100644 --- a/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsEndpointTest.java +++ b/components/camel-aws-sqs/src/test/java/org/apache/camel/component/aws/sqs/SqsEndpointTest.java @@ -55,7 +55,7 @@ public class SqsEndpointTest { Mockito.when(amazonSQSClient.listQueues()) .thenReturn(new ListQueuesResult().withQueueUrls("https://sqs.us-east-1.amazonaws.com/ID/dummy-queue", "https://sqs.us-east-1.amazonaws.com/ID/test-queue")); - endpoint.doStart(); + endpoint.doInit(); Mockito.verify(amazonSQSClient).listQueues(); } @@ -70,7 +70,7 @@ public class SqsEndpointTest { .withQueueUrl("https://sqs.us-east-1.amazonaws.com/111222333/test-queue")); endpoint.getConfiguration().setQueueOwnerAWSAccountId("111222333"); - endpoint.doStart(); + endpoint.doInit(); Mockito.verify(amazonSQSClient).getQueueUrl(expectedGetQueueUrlRequest);