This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch camel-4.0.x in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-4.0.x by this push: new c18f57fbe47 CAMEL-19737: Updates aws2-sns queueUrl to queueArn (#11101) (#11273) c18f57fbe47 is described below commit c18f57fbe47f2b826e24dbcefb657281cb259eeb Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Fri Sep 1 13:26:15 2023 +0200 CAMEL-19737: Updates aws2-sns queueUrl to queueArn (#11101) (#11273) Co-authored-by: Marco Carletti <mcarl...@redhat.com> --- .../org/apache/camel/catalog/components/aws2-sns.json | 4 ++-- .../camel/component/aws2/sns/Sns2ComponentConfigurer.java | 12 ++++++------ .../camel/component/aws2/sns/Sns2EndpointConfigurer.java | 12 ++++++------ .../camel/component/aws2/sns/Sns2EndpointUriFactory.java | 2 +- .../org/apache/camel/component/aws2/sns/aws2-sns.json | 4 ++-- .../apache/camel/component/aws2/sns/Sns2Configuration.java | 12 ++++++------ .../org/apache/camel/component/aws2/sns/Sns2Endpoint.java | 4 ++-- .../component/aws2/sns/SnsComponentConfigurationTest.java | 4 ++-- .../sns/integration/SnsTopicProducerWithSubscriptionIT.java | 11 +++++++---- .../component/dsl/Aws2SnsComponentBuilderFactory.java | 4 ++-- 10 files changed, 36 insertions(+), 33 deletions(-) diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws2-sns.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws2-sns.json index ee100f72760..0c1918b9c13 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws2-sns.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws2-sns.json @@ -31,7 +31,7 @@ "messageStructure": { "index": 6, "kind": "property", "displayName": "Message Structure", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The message structure to use such as json" }, "overrideEndpoint": { "index": 7, "kind": "property", "displayName": "Override Endpoint", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "Set the need for overidding the endpoint. This option needs to be used in combination wi [...] "policy": { "index": 8, "kind": "property", "displayName": "Policy", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "supportFileReference": true, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The policy for this topic. Is loaded by default from classpath, but you [...] - "queueUrl": { "index": 9, "kind": "property", "displayName": "Queue Url", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The queueUrl to subscribe to" }, + "queueArn": { "index": 9, "kind": "property", "displayName": "Queue Arn", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The ARN endpoint to subscribe to" }, "region": { "index": 10, "kind": "property", "displayName": "Region", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The region in which SNS client needs to work. When using this parameter, the configuration will expect the lowercase name o [...] "serverSideEncryptionEnabled": { "index": 11, "kind": "property", "displayName": "Server Side Encryption Enabled", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "Define if Server Side Encryption is enabled or not on the topic" }, "subject": { "index": 12, "kind": "property", "displayName": "Subject", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The subject which is used if the message header 'CamelAwsSnsSubject' is not present." }, @@ -66,7 +66,7 @@ "messageStructure": { "index": 6, "kind": "parameter", "displayName": "Message Structure", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The message structure to use such as json" }, "overrideEndpoint": { "index": 7, "kind": "parameter", "displayName": "Override Endpoint", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "Set the need for overidding the endpoint. This option needs to be used in combination w [...] "policy": { "index": 8, "kind": "parameter", "displayName": "Policy", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "supportFileReference": true, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The policy for this topic. Is loaded by default from classpath, but yo [...] - "queueUrl": { "index": 9, "kind": "parameter", "displayName": "Queue Url", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The queueUrl to subscribe to" }, + "queueArn": { "index": 9, "kind": "parameter", "displayName": "Queue Arn", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The ARN endpoint to subscribe to" }, "region": { "index": 10, "kind": "parameter", "displayName": "Region", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The region in which SNS client needs to work. When using this parameter, the configuration will expect the lowercase name [...] "serverSideEncryptionEnabled": { "index": 11, "kind": "parameter", "displayName": "Server Side Encryption Enabled", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "Define if Server Side Encryption is enabled or not on the topic" }, "subject": { "index": 12, "kind": "parameter", "displayName": "Subject", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The subject which is used if the message header 'CamelAwsSnsSubject' is not present." }, diff --git a/components/camel-aws/camel-aws2-sns/src/generated/java/org/apache/camel/component/aws2/sns/Sns2ComponentConfigurer.java b/components/camel-aws/camel-aws2-sns/src/generated/java/org/apache/camel/component/aws2/sns/Sns2ComponentConfigurer.java index a97c05f8b5d..0e27d28e3e5 100644 --- a/components/camel-aws/camel-aws2-sns/src/generated/java/org/apache/camel/component/aws2/sns/Sns2ComponentConfigurer.java +++ b/components/camel-aws/camel-aws2-sns/src/generated/java/org/apache/camel/component/aws2/sns/Sns2ComponentConfigurer.java @@ -62,8 +62,8 @@ public class Sns2ComponentConfigurer extends PropertyConfigurerSupport implement case "proxyPort": getOrCreateConfiguration(target).setProxyPort(property(camelContext, java.lang.Integer.class, value)); return true; case "proxyprotocol": case "proxyProtocol": getOrCreateConfiguration(target).setProxyProtocol(property(camelContext, software.amazon.awssdk.core.Protocol.class, value)); return true; - case "queueurl": - case "queueUrl": getOrCreateConfiguration(target).setQueueUrl(property(camelContext, java.lang.String.class, value)); return true; + case "queuearn": + case "queueArn": getOrCreateConfiguration(target).setQueueArn(property(camelContext, java.lang.String.class, value)); return true; case "region": getOrCreateConfiguration(target).setRegion(property(camelContext, java.lang.String.class, value)); return true; case "secretkey": case "secretKey": getOrCreateConfiguration(target).setSecretKey(property(camelContext, java.lang.String.class, value)); return true; @@ -126,8 +126,8 @@ public class Sns2ComponentConfigurer extends PropertyConfigurerSupport implement case "proxyPort": return java.lang.Integer.class; case "proxyprotocol": case "proxyProtocol": return software.amazon.awssdk.core.Protocol.class; - case "queueurl": - case "queueUrl": return java.lang.String.class; + case "queuearn": + case "queueArn": return java.lang.String.class; case "region": return java.lang.String.class; case "secretkey": case "secretKey": return java.lang.String.class; @@ -186,8 +186,8 @@ public class Sns2ComponentConfigurer extends PropertyConfigurerSupport implement case "proxyPort": return getOrCreateConfiguration(target).getProxyPort(); case "proxyprotocol": case "proxyProtocol": return getOrCreateConfiguration(target).getProxyProtocol(); - case "queueurl": - case "queueUrl": return getOrCreateConfiguration(target).getQueueUrl(); + case "queuearn": + case "queueArn": return getOrCreateConfiguration(target).getQueueArn(); case "region": return getOrCreateConfiguration(target).getRegion(); case "secretkey": case "secretKey": return getOrCreateConfiguration(target).getSecretKey(); diff --git a/components/camel-aws/camel-aws2-sns/src/generated/java/org/apache/camel/component/aws2/sns/Sns2EndpointConfigurer.java b/components/camel-aws/camel-aws2-sns/src/generated/java/org/apache/camel/component/aws2/sns/Sns2EndpointConfigurer.java index 8346020ba95..ad8b9a1dbd4 100644 --- a/components/camel-aws/camel-aws2-sns/src/generated/java/org/apache/camel/component/aws2/sns/Sns2EndpointConfigurer.java +++ b/components/camel-aws/camel-aws2-sns/src/generated/java/org/apache/camel/component/aws2/sns/Sns2EndpointConfigurer.java @@ -50,8 +50,8 @@ public class Sns2EndpointConfigurer extends PropertyConfigurerSupport implements case "proxyPort": target.getConfiguration().setProxyPort(property(camelContext, java.lang.Integer.class, value)); return true; case "proxyprotocol": case "proxyProtocol": target.getConfiguration().setProxyProtocol(property(camelContext, software.amazon.awssdk.core.Protocol.class, value)); return true; - case "queueurl": - case "queueUrl": target.getConfiguration().setQueueUrl(property(camelContext, java.lang.String.class, value)); return true; + case "queuearn": + case "queueArn": target.getConfiguration().setQueueArn(property(camelContext, java.lang.String.class, value)); return true; case "region": target.getConfiguration().setRegion(property(camelContext, java.lang.String.class, value)); return true; case "secretkey": case "secretKey": target.getConfiguration().setSecretKey(property(camelContext, java.lang.String.class, value)); return true; @@ -109,8 +109,8 @@ public class Sns2EndpointConfigurer extends PropertyConfigurerSupport implements case "proxyPort": return java.lang.Integer.class; case "proxyprotocol": case "proxyProtocol": return software.amazon.awssdk.core.Protocol.class; - case "queueurl": - case "queueUrl": return java.lang.String.class; + case "queuearn": + case "queueArn": return java.lang.String.class; case "region": return java.lang.String.class; case "secretkey": case "secretKey": return java.lang.String.class; @@ -164,8 +164,8 @@ public class Sns2EndpointConfigurer extends PropertyConfigurerSupport implements case "proxyPort": return target.getConfiguration().getProxyPort(); case "proxyprotocol": case "proxyProtocol": return target.getConfiguration().getProxyProtocol(); - case "queueurl": - case "queueUrl": return target.getConfiguration().getQueueUrl(); + case "queuearn": + case "queueArn": return target.getConfiguration().getQueueArn(); case "region": return target.getConfiguration().getRegion(); case "secretkey": case "secretKey": return target.getConfiguration().getSecretKey(); diff --git a/components/camel-aws/camel-aws2-sns/src/generated/java/org/apache/camel/component/aws2/sns/Sns2EndpointUriFactory.java b/components/camel-aws/camel-aws2-sns/src/generated/java/org/apache/camel/component/aws2/sns/Sns2EndpointUriFactory.java index a069b071bae..8e761cb6bfc 100644 --- a/components/camel-aws/camel-aws2-sns/src/generated/java/org/apache/camel/component/aws2/sns/Sns2EndpointUriFactory.java +++ b/components/camel-aws/camel-aws2-sns/src/generated/java/org/apache/camel/component/aws2/sns/Sns2EndpointUriFactory.java @@ -37,7 +37,7 @@ public class Sns2EndpointUriFactory extends org.apache.camel.support.component.E props.add("proxyHost"); props.add("proxyPort"); props.add("proxyProtocol"); - props.add("queueUrl"); + props.add("queueArn"); props.add("region"); props.add("secretKey"); props.add("serverSideEncryptionEnabled"); diff --git a/components/camel-aws/camel-aws2-sns/src/generated/resources/org/apache/camel/component/aws2/sns/aws2-sns.json b/components/camel-aws/camel-aws2-sns/src/generated/resources/org/apache/camel/component/aws2/sns/aws2-sns.json index ee100f72760..0c1918b9c13 100644 --- a/components/camel-aws/camel-aws2-sns/src/generated/resources/org/apache/camel/component/aws2/sns/aws2-sns.json +++ b/components/camel-aws/camel-aws2-sns/src/generated/resources/org/apache/camel/component/aws2/sns/aws2-sns.json @@ -31,7 +31,7 @@ "messageStructure": { "index": 6, "kind": "property", "displayName": "Message Structure", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The message structure to use such as json" }, "overrideEndpoint": { "index": 7, "kind": "property", "displayName": "Override Endpoint", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "Set the need for overidding the endpoint. This option needs to be used in combination wi [...] "policy": { "index": 8, "kind": "property", "displayName": "Policy", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "supportFileReference": true, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The policy for this topic. Is loaded by default from classpath, but you [...] - "queueUrl": { "index": 9, "kind": "property", "displayName": "Queue Url", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The queueUrl to subscribe to" }, + "queueArn": { "index": 9, "kind": "property", "displayName": "Queue Arn", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The ARN endpoint to subscribe to" }, "region": { "index": 10, "kind": "property", "displayName": "Region", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The region in which SNS client needs to work. When using this parameter, the configuration will expect the lowercase name o [...] "serverSideEncryptionEnabled": { "index": 11, "kind": "property", "displayName": "Server Side Encryption Enabled", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "Define if Server Side Encryption is enabled or not on the topic" }, "subject": { "index": 12, "kind": "property", "displayName": "Subject", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The subject which is used if the message header 'CamelAwsSnsSubject' is not present." }, @@ -66,7 +66,7 @@ "messageStructure": { "index": 6, "kind": "parameter", "displayName": "Message Structure", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The message structure to use such as json" }, "overrideEndpoint": { "index": 7, "kind": "parameter", "displayName": "Override Endpoint", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "Set the need for overidding the endpoint. This option needs to be used in combination w [...] "policy": { "index": 8, "kind": "parameter", "displayName": "Policy", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "supportFileReference": true, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The policy for this topic. Is loaded by default from classpath, but yo [...] - "queueUrl": { "index": 9, "kind": "parameter", "displayName": "Queue Url", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The queueUrl to subscribe to" }, + "queueArn": { "index": 9, "kind": "parameter", "displayName": "Queue Arn", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The ARN endpoint to subscribe to" }, "region": { "index": 10, "kind": "parameter", "displayName": "Region", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The region in which SNS client needs to work. When using this parameter, the configuration will expect the lowercase name [...] "serverSideEncryptionEnabled": { "index": 11, "kind": "parameter", "displayName": "Server Side Encryption Enabled", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "Define if Server Side Encryption is enabled or not on the topic" }, "subject": { "index": 12, "kind": "parameter", "displayName": "Subject", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The subject which is used if the message header 'CamelAwsSnsSubject' is not present." }, diff --git a/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Configuration.java b/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Configuration.java index 2b2a07f8dd2..30062770ee0 100644 --- a/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Configuration.java +++ b/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Configuration.java @@ -45,7 +45,7 @@ public class Sns2Configuration implements Cloneable { @UriParam(label = "proxy") private Integer proxyPort; @UriParam - private String queueUrl; + private String queueArn; @UriParam private boolean subscribeSNStoSQS; @UriParam @@ -217,15 +217,15 @@ public class Sns2Configuration implements Cloneable { this.region = region; } - public String getQueueUrl() { - return queueUrl; + public String getQueueArn() { + return queueArn; } /** - * The queueUrl to subscribe to + * The ARN endpoint to subscribe to */ - public void setQueueUrl(String queueUrl) { - this.queueUrl = queueUrl; + public void setQueueArn(String queueArn) { + this.queueArn = queueArn; } public boolean isSubscribeSNStoSQS() { diff --git a/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Endpoint.java b/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Endpoint.java index ec1c674d8f9..d2ec93a3f1a 100644 --- a/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Endpoint.java +++ b/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Endpoint.java @@ -178,9 +178,9 @@ public class Sns2Endpoint extends DefaultEndpoint implements HeaderFilterStrateg } if (configuration.isSubscribeSNStoSQS()) { - if (ObjectHelper.isNotEmpty(ObjectHelper.isNotEmpty(configuration.getQueueUrl()))) { + if (ObjectHelper.isNotEmpty(ObjectHelper.isNotEmpty(configuration.getQueueArn()))) { SubscribeResponse resp = snsClient.subscribe(SubscribeRequest.builder().topicArn(configuration.getTopicArn()) - .protocol("sqs").endpoint(configuration.getQueueUrl()) + .protocol("sqs").endpoint(configuration.getQueueArn()) .returnSubscriptionArn(true).build()); LOG.trace("Subscription of SQS Queue to SNS Topic done with Amazon resource name: {}", resp.subscriptionArn()); } else { diff --git a/components/camel-aws/camel-aws2-sns/src/test/java/org/apache/camel/component/aws2/sns/SnsComponentConfigurationTest.java b/components/camel-aws/camel-aws2-sns/src/test/java/org/apache/camel/component/aws2/sns/SnsComponentConfigurationTest.java index b98097a557a..e910c4478e7 100644 --- a/components/camel-aws/camel-aws2-sns/src/test/java/org/apache/camel/component/aws2/sns/SnsComponentConfigurationTest.java +++ b/components/camel-aws/camel-aws2-sns/src/test/java/org/apache/camel/component/aws2/sns/SnsComponentConfigurationTest.java @@ -132,12 +132,12 @@ public class SnsComponentConfigurationTest extends CamelTestSupport { context.getRegistry().bind("amazonSNSClient", mock); Sns2Component component = context.getComponent("aws2-sns", Sns2Component.class); Sns2Endpoint endpoint = (Sns2Endpoint) component.createEndpoint("aws2-sns://MyTopic?amazonSNSClient=#amazonSNSClient&" - + "accessKey=xxx&secretKey=yyy&queueUrl=arn:aws:sqs:us-east-1:541925086079:MyQueue&subscribeSNStoSQS=true"); + + "accessKey=xxx&secretKey=yyy&queueArn=arn:aws:sqs:us-east-1:541925086079:MyQueue&subscribeSNStoSQS=true"); assertEquals("MyTopic", endpoint.getConfiguration().getTopicName()); assertEquals("xxx", endpoint.getConfiguration().getAccessKey()); assertEquals("yyy", endpoint.getConfiguration().getSecretKey()); - assertEquals("arn:aws:sqs:us-east-1:541925086079:MyQueue", endpoint.getConfiguration().getQueueUrl()); + assertEquals("arn:aws:sqs:us-east-1:541925086079:MyQueue", endpoint.getConfiguration().getQueueArn()); assertNotNull(endpoint.getConfiguration().getAmazonSNSClient()); assertNull(endpoint.getConfiguration().getTopicArn()); assertNull(endpoint.getConfiguration().getSubject()); diff --git a/components/camel-aws/camel-aws2-sns/src/test/java/org/apache/camel/component/aws2/sns/integration/SnsTopicProducerWithSubscriptionIT.java b/components/camel-aws/camel-aws2-sns/src/test/java/org/apache/camel/component/aws2/sns/integration/SnsTopicProducerWithSubscriptionIT.java index 397ebe82929..372b7328528 100644 --- a/components/camel-aws/camel-aws2-sns/src/test/java/org/apache/camel/component/aws2/sns/integration/SnsTopicProducerWithSubscriptionIT.java +++ b/components/camel-aws/camel-aws2-sns/src/test/java/org/apache/camel/component/aws2/sns/integration/SnsTopicProducerWithSubscriptionIT.java @@ -26,7 +26,6 @@ import org.apache.camel.component.aws2.sns.Sns2Constants; import org.apache.camel.test.infra.aws2.clients.AWSSDKClientUtils; import org.apache.camel.test.infra.common.SharedNameGenerator; import org.apache.camel.test.infra.common.TestEntityNameGenerator; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; import org.slf4j.Logger; @@ -36,6 +35,7 @@ import software.amazon.awssdk.services.sqs.model.CreateQueueRequest; import software.amazon.awssdk.services.sqs.model.GetQueueUrlRequest; import software.amazon.awssdk.services.sqs.model.GetQueueUrlResponse; import software.amazon.awssdk.services.sqs.model.Message; +import software.amazon.awssdk.services.sqs.model.QueueAttributeName; import software.amazon.awssdk.services.sqs.model.QueueDoesNotExistException; import software.amazon.awssdk.services.sqs.model.ReceiveMessageRequest; import software.amazon.awssdk.services.sqs.model.ReceiveMessageResponse; @@ -43,7 +43,6 @@ import software.amazon.awssdk.services.sqs.model.ReceiveMessageResponse; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; -@Disabled("Need to review this later for localstack 2.x upgrade") public class SnsTopicProducerWithSubscriptionIT extends Aws2SNSBase { @RegisterExtension public static SharedNameGenerator sharedNameGenerator = new TestEntityNameGenerator(); @@ -51,6 +50,7 @@ public class SnsTopicProducerWithSubscriptionIT extends Aws2SNSBase { private static final Logger LOG = LoggerFactory.getLogger(SnsTopicProducerWithSubscriptionIT.class); private String sqsQueueUrl; + private String sqsQueueArn; private SqsClient client; public List<Message> receive() { @@ -102,6 +102,9 @@ public class SnsTopicProducerWithSubscriptionIT extends Aws2SNSBase { sqsQueueUrl = client.createQueue(createQueueRequest).queueUrl(); } + sqsQueueArn = client.getQueueAttributes(b -> b.queueUrl(sqsQueueUrl) + .attributeNames(QueueAttributeName.QUEUE_ARN)) + .attributes().get(QueueAttributeName.QUEUE_ARN); } @Test @@ -128,8 +131,8 @@ public class SnsTopicProducerWithSubscriptionIT extends Aws2SNSBase { @Override public void configure() { from("direct:start") - .toF("aws2-sns://%s?subject=The+subject+message&autoCreateTopic=true&subscribeSNStoSQS=true&queueUrl=%s", - sharedNameGenerator.getName(), sqsQueueUrl); + .toF("aws2-sns://%s?subject=The+subject+message&autoCreateTopic=true&subscribeSNStoSQS=true&queueArn=%s", + sharedNameGenerator.getName(), sqsQueueArn); } }; } diff --git a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2SnsComponentBuilderFactory.java b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2SnsComponentBuilderFactory.java index 10c71825d74..44e32b2b7d5 100644 --- a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2SnsComponentBuilderFactory.java +++ b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2SnsComponentBuilderFactory.java @@ -549,7 +549,7 @@ public interface Aws2SnsComponentBuilderFactory { case "messageStructure": getOrCreateConfiguration((Sns2Component) component).setMessageStructure((java.lang.String) value); return true; case "overrideEndpoint": getOrCreateConfiguration((Sns2Component) component).setOverrideEndpoint((boolean) value); return true; case "policy": getOrCreateConfiguration((Sns2Component) component).setPolicy((java.lang.String) value); return true; - case "queueUrl": getOrCreateConfiguration((Sns2Component) component).setQueueUrl((java.lang.String) value); return true; + case "queueArn": getOrCreateConfiguration((Sns2Component) component).setQueueArn((java.lang.String) value); return true; case "region": getOrCreateConfiguration((Sns2Component) component).setRegion((java.lang.String) value); return true; case "serverSideEncryptionEnabled": getOrCreateConfiguration((Sns2Component) component).setServerSideEncryptionEnabled((boolean) value); return true; case "subject": getOrCreateConfiguration((Sns2Component) component).setSubject((java.lang.String) value); return true; @@ -572,4 +572,4 @@ public interface Aws2SnsComponentBuilderFactory { } } } -} \ No newline at end of file +}