You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2021/02/16 12:47:33 UTC

[camel] 01/02: camel-core - Fluent template to have withHeaders

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 0b2ebaed63a900fb239e892d0d355983ac8e9909
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Feb 16 13:37:43 2021 +0100

    camel-core - Fluent template to have withHeaders
---
 .../main/java/org/apache/camel/FluentProducerTemplate.java  |  8 ++++++++
 .../camel/impl/engine/DefaultFluentProducerTemplate.java    | 13 +++++++++++++
 2 files changed, 21 insertions(+)

diff --git a/core/camel-api/src/main/java/org/apache/camel/FluentProducerTemplate.java b/core/camel-api/src/main/java/org/apache/camel/FluentProducerTemplate.java
index 243dd2f..068573b 100644
--- a/core/camel-api/src/main/java/org/apache/camel/FluentProducerTemplate.java
+++ b/core/camel-api/src/main/java/org/apache/camel/FluentProducerTemplate.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel;
 
+import java.util.Map;
 import java.util.concurrent.Future;
 import java.util.function.Supplier;
 
@@ -146,6 +147,13 @@ public interface FluentProducerTemplate extends Service {
     FluentProducerTemplate clearAll();
 
     /**
+     * Set the headers
+     *
+     * @param headers the headers
+     */
+    FluentProducerTemplate withHeaders(Map<String, Object> headers);
+
+    /**
      * Set the header
      *
      * @param key   the key of the header
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
index 68aa64d..7d47e78 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
@@ -174,6 +174,19 @@ public class DefaultFluentProducerTemplate extends ServiceSupport implements Flu
     }
 
     @Override
+    public FluentProducerTemplate withHeaders(Map<String, Object> headers) {
+        DefaultFluentProducerTemplate clone = checkCloned();
+
+        Map<String, Object> map = clone.headers;
+        if (map == null) {
+            map = new LinkedHashMap<>();
+            clone.headers = map;
+        }
+        map.putAll(headers);
+        return clone;
+    }
+
+    @Override
     public FluentProducerTemplate withHeader(String key, Object value) {
         DefaultFluentProducerTemplate clone = checkCloned();