You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2020/07/01 12:15:47 UTC

[camel] 01/03: CAMEL-15264 - Camel-AWS2-Kinesis: Add more operations support

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 4eced49893236f3095444a2144bfd94ffe26d204
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Wed Jul 1 14:10:35 2020 +0200

    CAMEL-15264 - Camel-AWS2-Kinesis: Add more operations support
---
 .../aws2/firehose/KinesisFirehose2Operations.java        |  2 +-
 .../aws2/firehose/KinesisFirehose2Producer.java          | 16 ++++++++++++++++
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/components/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Operations.java b/components/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Operations.java
index 93ec644..fcc9bbf 100644
--- a/components/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Operations.java
+++ b/components/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Operations.java
@@ -18,5 +18,5 @@ package org.apache.camel.component.aws2.firehose;
 
 public enum KinesisFirehose2Operations {
 
-    sendBatchRecord, createDeliveryStream, deleteDeliveryStream
+    sendBatchRecord, createDeliveryStream, deleteDeliveryStream, updateDestination
 }
diff --git a/components/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Producer.java b/components/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Producer.java
index 95aff68..a6ae72d 100644
--- a/components/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Producer.java
+++ b/components/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Producer.java
@@ -36,6 +36,8 @@ import software.amazon.awssdk.services.firehose.model.PutRecordBatchResponse;
 import software.amazon.awssdk.services.firehose.model.PutRecordRequest;
 import software.amazon.awssdk.services.firehose.model.PutRecordResponse;
 import software.amazon.awssdk.services.firehose.model.Record;
+import software.amazon.awssdk.services.firehose.model.UpdateDestinationRequest;
+import software.amazon.awssdk.services.firehose.model.UpdateDestinationResponse;
 
 public class KinesisFirehose2Producer extends DefaultProducer {
 
@@ -66,6 +68,9 @@ public class KinesisFirehose2Producer extends DefaultProducer {
                 case deleteDeliveryStream:
                     deleteDeliveryStream(getClient(), exchange);
                     break;
+                case updateDestination:
+                    updateDestination(getClient(), exchange);
+                    break;
                 default:
                     throw new IllegalArgumentException("Unsupported operation");
             }
@@ -100,6 +105,17 @@ public class KinesisFirehose2Producer extends DefaultProducer {
             }
         }    
     }
+    
+    private void updateDestination(FirehoseClient client, Exchange exchange) {
+        if (exchange.getIn().getBody() instanceof CreateDeliveryStreamRequest) {
+            UpdateDestinationRequest req = exchange.getIn().getBody(UpdateDestinationRequest.class);
+            UpdateDestinationResponse result = client.updateDestination(req);
+            Message message = getMessageForResponse(exchange);
+            message.setBody(result);
+        } else {
+            throw new IllegalArgumentException("The updateDestination operation expects an UpdateDestinationRequest instance as body");
+        }    
+    }
 
     private void sendBatchRecord(FirehoseClient client, Exchange exchange) {
         if (exchange.getIn().getBody() instanceof Iterable) {