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

aldettinger pushed a commit to branch camel-2.21.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 1c935ac98c01480f902a4d40c43736cfd6475942
Author: Craig Andrews <candr...@integralblue.com>
AuthorDate: Fri May 11 17:00:23 2018 -0400

    CAMEL-12507: SQS Producer support for number custom types
    
    If a header of type `Number` is provided, set the dataType to "Number." + 
an appropriate identifier
    
    These dataType values match those used by amazon-sqs-java-messaging-lib: 
https://github.com/awslabs/amazon-sqs-java-messaging-lib/blob/1.0.4/src/main/java/com/amazon/sqs/javamessaging/SQSMessagingClientConstants.java#L39
    
    See 
https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-attributes.html
    
    (cherry picked from commit f7263397a0968e8ad0a6ec79adf43027c8d19bde)
---
 .../apache/camel/component/aws/sqs/SqsProducer.java    | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

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 231f9b6..5257f6e 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
@@ -137,7 +137,23 @@ public class SqsProducer extends DefaultProducer {
                     result.put(entry.getKey(), mav);
                 } else if (value instanceof Number) {
                     MessageAttributeValue mav = new MessageAttributeValue();
-                    mav.setDataType("Number");
+                    final String dataType;
+                    if(value instanceof Integer) {
+                        dataType = "Number.int";
+                    } else if (value instanceof Byte) {
+                        dataType = "Number.byte";
+                    } else if (value instanceof Double) {
+                        dataType = "Number.double";
+                    } else if (value instanceof Float) {
+                        dataType = "Number.float";
+                    } else if (value instanceof Long) {
+                        dataType = "Number.long";
+                    } else if (value instanceof Short) {
+                        dataType = "Number.short";
+                    } else {
+                        dataType = "Number";
+                    }
+                    mav.setDataType(dataType);
                     mav.withStringValue(((Number)value).toString());
                     result.put(entry.getKey(), mav);
                 } else {

-- 
To stop receiving notification emails like this one, please contact
aldettin...@apache.org.

Reply via email to