This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit d2f53a6c21b76ff54d0a6e5113c38fb63e8f8f1f
Author: Jon McEwen <[email protected]>
AuthorDate: Tue Oct 24 16:34:39 2017 +0100

    addressed review comments
---
 .../aws/sqs/ConstantMessageGroupIdStrategy.java    |  4 ++--
 ... ExchangeIdMessageDeduplicationIdStrategy.java} |  6 +++---
 ....java => ExchangeIdMessageGroupIdStrategy.java} |  4 ++--
 ...gy.java => MessageDeduplicationIdStrategy.java} |  5 ++---
 ...geStrategy.java => MessageGroupIdStrategy.java} |  7 +++----
 ...ava => NullMessageDeduplicationIdStrategy.java} |  6 +++---
 .../camel/component/aws/sqs/NullStrategy.java      | 12 -----------
 ...va => PropertyValueMessageGroupIdStrategy.java} |  6 +++---
 .../camel/component/aws/sqs/SqsComponent.java      |  3 ++-
 .../camel/component/aws/sqs/SqsConfiguration.java  | 24 +++++++++++-----------
 .../camel/component/aws/sqs/SqsConstants.java      |  2 +-
 .../camel/component/aws/sqs/SqsProducer.java       |  8 ++++----
 .../camel/component/aws/sqs/SqsProducerTest.java   |  4 ++--
 13 files changed, 39 insertions(+), 52 deletions(-)

diff --git 
a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/ConstantMessageGroupIdStrategy.java
 
b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/ConstantMessageGroupIdStrategy.java
index 44caf36..be5be47 100644
--- 
a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/ConstantMessageGroupIdStrategy.java
+++ 
b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/ConstantMessageGroupIdStrategy.java
@@ -18,10 +18,10 @@ package org.apache.camel.component.aws.sqs;
 
 import org.apache.camel.Exchange;
 
-public class ConstantMessageGroupIdStrategy implements 
StringValueFromExchangeStrategy {
+public class ConstantMessageGroupIdStrategy implements MessageGroupIdStrategy {
 
     @Override
-    public String value(Exchange exchange) {
+    public String getMessageGroupId(Exchange exchange) {
         return "CamelSingleMessageGroup";
     }
 
diff --git 
a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/HeaderValueStrategy.java
 
b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/ExchangeIdMessageDeduplicationIdStrategy.java
similarity index 80%
rename from 
components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/HeaderValueStrategy.java
rename to 
components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/ExchangeIdMessageDeduplicationIdStrategy.java
index 0bef8c2..6a50ffc 100644
--- 
a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/HeaderValueStrategy.java
+++ 
b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/ExchangeIdMessageDeduplicationIdStrategy.java
@@ -18,11 +18,11 @@ package org.apache.camel.component.aws.sqs;
 
 import org.apache.camel.Exchange;
 
-public class HeaderValueStrategy implements StringValueFromExchangeStrategy {
+public class ExchangeIdMessageDeduplicationIdStrategy implements 
MessageDeduplicationIdStrategy {
 
     @Override
-    public String value(Exchange exchange) {
-        return 
exchange.getIn().getHeader(SqsConstants.MESSAGE_GROUP_ID_HEADER, String.class);
+    public String getMessageDeduplicationId(Exchange exchange) {
+        return exchange.getExchangeId();
     }
 
 }
diff --git 
a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/ExchangeIdStrategy.java
 
b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/ExchangeIdMessageGroupIdStrategy.java
similarity index 87%
rename from 
components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/ExchangeIdStrategy.java
rename to 
components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/ExchangeIdMessageGroupIdStrategy.java
index 6b0dac1..af38e10 100644
--- 
a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/ExchangeIdStrategy.java
+++ 
b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/ExchangeIdMessageGroupIdStrategy.java
@@ -18,10 +18,10 @@ package org.apache.camel.component.aws.sqs;
 
 import org.apache.camel.Exchange;
 
-public class ExchangeIdStrategy implements StringValueFromExchangeStrategy {
+public class ExchangeIdMessageGroupIdStrategy implements 
MessageGroupIdStrategy {
 
     @Override
-    public String value(Exchange exchange) {
+    public String getMessageGroupId(Exchange exchange) {
         return exchange.getExchangeId();
     }
 
diff --git 
a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/StringValueFromExchangeStrategy.java
 
b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/MessageDeduplicationIdStrategy.java
similarity index 89%
copy from 
components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/StringValueFromExchangeStrategy.java
copy to 
components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/MessageDeduplicationIdStrategy.java
index 31eafb6..7f79ddf 100644
--- 
a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/StringValueFromExchangeStrategy.java
+++ 
b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/MessageDeduplicationIdStrategy.java
@@ -18,9 +18,8 @@ package org.apache.camel.component.aws.sqs;
 
 import org.apache.camel.Exchange;
 
-@FunctionalInterface
-public interface StringValueFromExchangeStrategy {
+public interface MessageDeduplicationIdStrategy {
     
-    String value(Exchange exchange);
+    String getMessageDeduplicationId(Exchange exchange);
 
 }
diff --git 
a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/StringValueFromExchangeStrategy.java
 
b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/MessageGroupIdStrategy.java
similarity index 88%
rename from 
components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/StringValueFromExchangeStrategy.java
rename to 
components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/MessageGroupIdStrategy.java
index 31eafb6..23cb325 100644
--- 
a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/StringValueFromExchangeStrategy.java
+++ 
b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/MessageGroupIdStrategy.java
@@ -18,9 +18,8 @@ package org.apache.camel.component.aws.sqs;
 
 import org.apache.camel.Exchange;
 
-@FunctionalInterface
-public interface StringValueFromExchangeStrategy {
-    
-    String value(Exchange exchange);
+public interface MessageGroupIdStrategy {
+
+    String getMessageGroupId(Exchange exchange);
 
 }
diff --git 
a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/ConstantMessageGroupIdStrategy.java
 
b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/NullMessageDeduplicationIdStrategy.java
similarity index 83%
copy from 
components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/ConstantMessageGroupIdStrategy.java
copy to 
components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/NullMessageDeduplicationIdStrategy.java
index 44caf36..6ab4ad4 100644
--- 
a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/ConstantMessageGroupIdStrategy.java
+++ 
b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/NullMessageDeduplicationIdStrategy.java
@@ -18,11 +18,11 @@ package org.apache.camel.component.aws.sqs;
 
 import org.apache.camel.Exchange;
 
-public class ConstantMessageGroupIdStrategy implements 
StringValueFromExchangeStrategy {
+public class NullMessageDeduplicationIdStrategy implements 
MessageDeduplicationIdStrategy {
 
     @Override
-    public String value(Exchange exchange) {
-        return "CamelSingleMessageGroup";
+    public String getMessageDeduplicationId(Exchange exchange) {
+        return null;
     }
 
 }
diff --git 
a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/NullStrategy.java
 
b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/NullStrategy.java
deleted file mode 100644
index bbb5ab3..0000000
--- 
a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/NullStrategy.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.apache.camel.component.aws.sqs;
-
-import org.apache.camel.Exchange;
-
-public class NullStrategy implements StringValueFromExchangeStrategy {
-
-    @Override
-    public String value(Exchange exchange) {
-        return null;
-    }
-
-}
diff --git 
a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/ConstantMessageGroupIdStrategy.java
 
b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/PropertyValueMessageGroupIdStrategy.java
similarity index 79%
copy from 
components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/ConstantMessageGroupIdStrategy.java
copy to 
components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/PropertyValueMessageGroupIdStrategy.java
index 44caf36..5a51ff7 100644
--- 
a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/ConstantMessageGroupIdStrategy.java
+++ 
b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/PropertyValueMessageGroupIdStrategy.java
@@ -18,11 +18,11 @@ package org.apache.camel.component.aws.sqs;
 
 import org.apache.camel.Exchange;
 
-public class ConstantMessageGroupIdStrategy implements 
StringValueFromExchangeStrategy {
+public class PropertyValueMessageGroupIdStrategy implements 
MessageGroupIdStrategy {
 
     @Override
-    public String value(Exchange exchange) {
-        return "CamelSingleMessageGroup";
+    public String getMessageGroupId(Exchange exchange) {
+        return exchange.getProperty(SqsConstants.MESSAGE_GROUP_ID_PROPERTY, 
String.class);
     }
 
 }
diff --git 
a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsComponent.java
 
b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsComponent.java
index 653b956..75fabdc 100644
--- 
a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsComponent.java
+++ 
b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsComponent.java
@@ -21,6 +21,7 @@ import java.util.Map;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.impl.UriEndpointComponent;
+import org.apache.camel.util.ObjectHelper;
 
 public class SqsComponent extends UriEndpointComponent {
     
@@ -62,7 +63,7 @@ public class SqsComponent extends UriEndpointComponent {
             throw new IllegalArgumentException("Extending message visibility 
(extendMessageVisibility) requires visibilityTimeout to be set on the 
Endpoint.");
         }
         
-        if (configuration.isFifoQueue() && 
configuration.getMessageGroupIdStrategy() == null) {
+        if (configuration.isFifoQueue() && 
ObjectHelper.isEmpty(configuration.getMessageGroupIdStrategy())) {
             throw new IllegalArgumentException("messageGroupIdStrategy must be 
set for FIFO queues.");
         }
         
diff --git 
a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConfiguration.java
 
b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConfiguration.java
index dbab657f..24816e3 100644
--- 
a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConfiguration.java
+++ 
b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConfiguration.java
@@ -68,9 +68,9 @@ public class SqsConfiguration {
     @UriParam(label = "producer")
     private Integer delaySeconds;
     @UriParam(label = "producer")
-    private StringValueFromExchangeStrategy messageGroupIdStrategy;
+    private MessageGroupIdStrategy messageGroupIdStrategy;
     @UriParam(label = "producer", defaultValue = "useExchangeId")
-    private StringValueFromExchangeStrategy messageDeduplicationIdStrategy = 
new ExchangeIdStrategy();
+    private MessageDeduplicationIdStrategy messageDeduplicationIdStrategy = 
new ExchangeIdMessageDeduplicationIdStrategy();
 
     // queue properties
     @UriParam(label = "queue")
@@ -89,7 +89,7 @@ public class SqsConfiguration {
     /**
      *  Whether or not the queue is a FIFO queue
      */
-    public boolean isFifoQueue() {
+    boolean isFifoQueue() {
         // AWS docs suggest this is valid derivation.
         // FIFO queue names must end with .fifo, and standard queues cannot
         if (queueName.endsWith(".fifo")) {
@@ -383,26 +383,26 @@ public class SqsConfiguration {
 
     /**
      * Since *Camel 2.20*. Only for FIFO queues. Strategy for setting the 
messageGroupId on the message.
-     * Can be one of the following options: *useConstant*, *useExchangeId*, 
*useHeaderValue*.
-     * For the *useHeaderValue* option, the value of header 
"CamelAwsMessageGroupId" will be used.
+     * Can be one of the following options: *useConstant*, *useExchangeId*, 
*usePropertyValue*.
+     * For the *usePropertyValue* option, the value of property 
"CamelAwsMessageGroupId" will be used.
      */
     public void setMessageGroupIdStrategy(String strategy) {
         if ("useConstant".equalsIgnoreCase(strategy)) {
             messageGroupIdStrategy = new ConstantMessageGroupIdStrategy();
         } else if ("useExchangeId".equalsIgnoreCase(strategy)) {
-            messageGroupIdStrategy = new ExchangeIdStrategy();
-        } else if ("useHeaderValue".equalsIgnoreCase(strategy)) {
-            messageGroupIdStrategy = new HeaderValueStrategy();
+            messageGroupIdStrategy = new ExchangeIdMessageGroupIdStrategy();
+        } else if ("usePropertyValue".equalsIgnoreCase(strategy)) {
+            messageGroupIdStrategy = new PropertyValueMessageGroupIdStrategy();
         } else {
             throw new IllegalArgumentException("Unrecognised 
MessageGroupIdStrategy: " + strategy);
         }
     }
 
-    public StringValueFromExchangeStrategy getMessageGroupIdStrategy() {
+    public MessageGroupIdStrategy getMessageGroupIdStrategy() {
         return messageGroupIdStrategy;
     }
 
-    public StringValueFromExchangeStrategy getMessageDeduplicationIdStrategy() 
{
+    public MessageDeduplicationIdStrategy getMessageDeduplicationIdStrategy() {
         return messageDeduplicationIdStrategy;
     }
 
@@ -413,9 +413,9 @@ public class SqsConfiguration {
      */
     public void setMessageDeduplicationIdStrategy(String strategy) {
         if ("useExchangeId".equalsIgnoreCase(strategy)) {
-            messageDeduplicationIdStrategy = new ExchangeIdStrategy();
+            messageDeduplicationIdStrategy = new 
ExchangeIdMessageDeduplicationIdStrategy();
         } else if ("useContentBasedDeduplication".equalsIgnoreCase(strategy)) {
-            messageDeduplicationIdStrategy = new NullStrategy();
+            messageDeduplicationIdStrategy = new 
NullMessageDeduplicationIdStrategy();
         } else {
             throw new IllegalArgumentException("Unrecognised 
MessageDeduplicationIdStrategy: " + strategy);
         }
diff --git 
a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConstants.java
 
b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConstants.java
index 5fc53c6..3c2dec1 100644
--- 
a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConstants.java
+++ 
b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConstants.java
@@ -28,5 +28,5 @@ public interface SqsConstants {
     String MESSAGE_ID = "CamelAwsSqsMessageId";
     String RECEIPT_HANDLE = "CamelAwsSqsReceiptHandle";
     String DELAY_HEADER = "CamelAwsSqsDelaySeconds";
-    String MESSAGE_GROUP_ID_HEADER = "CamelAwsMessageGroupId";
+    String MESSAGE_GROUP_ID_PROPERTY = "CamelAwsMessageGroupId";
 }
\ No newline at end of file
diff --git 
a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsProducer.java
 
b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsProducer.java
index e3d2f00..dfc2279 100644
--- 
a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsProducer.java
+++ 
b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsProducer.java
@@ -72,12 +72,12 @@ public class SqsProducer extends DefaultProducer {
     private void configureFifoAttributes(SendMessageRequest request, Exchange 
exchange) {
         if (getEndpoint().getConfiguration().isFifoQueue()) {
             // use strategies
-            StringValueFromExchangeStrategy messageGroupIdStrategy = 
getEndpoint().getConfiguration().getMessageGroupIdStrategy();
-            String messageGroupId = messageGroupIdStrategy.value(exchange);
+            MessageGroupIdStrategy messageGroupIdStrategy = 
getEndpoint().getConfiguration().getMessageGroupIdStrategy();
+            String messageGroupId = 
messageGroupIdStrategy.getMessageGroupId(exchange);
             request.setMessageGroupId(messageGroupId);
 
-            StringValueFromExchangeStrategy messageDeduplicationIdStrategy = 
getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy();
-            String messageDeduplicationId = 
messageDeduplicationIdStrategy.value(exchange);
+            MessageDeduplicationIdStrategy messageDeduplicationIdStrategy = 
getEndpoint().getConfiguration().getMessageDeduplicationIdStrategy();
+            String messageDeduplicationId = 
messageDeduplicationIdStrategy.getMessageDeduplicationId(exchange);
             request.setMessageDeduplicationId(messageDeduplicationId);
 
         }
diff --git 
a/components/camel-aws/src/test/java/org/apache/camel/component/aws/sqs/SqsProducerTest.java
 
b/components/camel-aws/src/test/java/org/apache/camel/component/aws/sqs/SqsProducerTest.java
index c1d24f1..e1e511d 100644
--- 
a/components/camel-aws/src/test/java/org/apache/camel/component/aws/sqs/SqsProducerTest.java
+++ 
b/components/camel-aws/src/test/java/org/apache/camel/component/aws/sqs/SqsProducerTest.java
@@ -229,8 +229,8 @@ public class SqsProducerTest {
     @Test
     public void itSetsMessageGroupIdUsingHeaderValueStrategy() throws 
Exception {
         sqsConfiguration.setQueueName("queueName.fifo");
-        sqsConfiguration.setMessageGroupIdStrategy("useHeaderValue");
-        when(inMessage.getHeader(SqsConstants.MESSAGE_GROUP_ID_HEADER, 
String.class)).thenReturn("my-group-id");
+        sqsConfiguration.setMessageGroupIdStrategy("usePropertyValue");
+        when(exchange.getProperty(SqsConstants.MESSAGE_GROUP_ID_PROPERTY, 
String.class)).thenReturn("my-group-id");
 
         underTest.process(exchange);
 

-- 
To stop receiving notification emails like this one, please contact
"[email protected]" <[email protected]>.

Reply via email to