Repository: camel Updated Branches: refs/heads/master 55a61ed20 -> d72696455
HeaderSelectorProducer to support suppliers for header key and default value Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/d7269645 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/d7269645 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/d7269645 Branch: refs/heads/master Commit: d7269645508cfd36b716547dab2f2da3ebe364ae Parents: 55a61ed Author: lburgazzoli <lburgazz...@gmail.com> Authored: Fri Apr 14 12:42:05 2017 +0200 Committer: lburgazzoli <lburgazz...@gmail.com> Committed: Fri Apr 14 12:42:33 2017 +0200 ---------------------------------------------------------------------- .../java/org/apache/camel/impl/HeaderSelectorProducer.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/d7269645/camel-core/src/main/java/org/apache/camel/impl/HeaderSelectorProducer.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/impl/HeaderSelectorProducer.java b/camel-core/src/main/java/org/apache/camel/impl/HeaderSelectorProducer.java index f91f032..7d4b11e 100644 --- a/camel-core/src/main/java/org/apache/camel/impl/HeaderSelectorProducer.java +++ b/camel-core/src/main/java/org/apache/camel/impl/HeaderSelectorProducer.java @@ -48,6 +48,7 @@ public class HeaderSelectorProducer extends BaseSelectorProducer { public HeaderSelectorProducer(Endpoint endpoint, Supplier<String> headerSupplier) { this(endpoint, headerSupplier, () -> null, null); } + public HeaderSelectorProducer(Endpoint endpoint, String header) { this(endpoint, () -> header, () -> null, null); } @@ -64,6 +65,10 @@ public class HeaderSelectorProducer extends BaseSelectorProducer { this(endpoint, () -> header, () -> defaultHeaderValue, null); } + public HeaderSelectorProducer(Endpoint endpoint, String header, Supplier<String> defaultHeaderValueSupplier) { + this(endpoint, () -> header, defaultHeaderValueSupplier, null); + } + public HeaderSelectorProducer(Endpoint endpoint, Supplier<String> headerSupplier, Supplier<String> defaultHeaderValueSupplier) { this(endpoint, headerSupplier, defaultHeaderValueSupplier, null); } @@ -102,7 +107,7 @@ public class HeaderSelectorProducer extends BaseSelectorProducer { @Override protected Processor getProcessor(Exchange exchange) throws Exception { String header = headerSupplier.get(); - String action = exchange.getIn().getHeader(headerSupplier.get(), String.class); + String action = exchange.getIn().getHeader(header, String.class); if (action == null) { action = defaultHeaderValueSupplier.get();