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 <[email protected]> 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();
