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();