Make the CamelDataSetIndex header optional for producers
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/19785de1 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/19785de1 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/19785de1 Branch: refs/heads/master Commit: 19785de10915fc12c19293191815acb11040b32d Parents: acf06f7 Author: Quinn Stevenson <qu...@pronoia-solutions.com> Authored: Thu Mar 10 13:35:14 2016 -0700 Committer: Claus Ibsen <davscl...@apache.org> Committed: Mon Mar 14 19:23:15 2016 +0100 ---------------------------------------------------------------------- .../camel/component/dataset/DataSetEndpoint.java | 15 +++++++++++---- .../camel/component/dataset/DataSetProducerTest.java | 9 +++++++++ 2 files changed, 20 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/19785de1/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetEndpoint.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetEndpoint.java index 57559e8..008eb95 100644 --- a/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetEndpoint.java +++ b/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetEndpoint.java @@ -217,8 +217,13 @@ public class DataSetEndpoint extends MockEndpoint implements Service { // now let's assert that they are the same if (log.isDebugEnabled()) { - log.debug("Received message: {} (DataSet index={}) = {}", - new Object[]{index, copy.getIn().getHeader(Exchange.DATASET_INDEX, Integer.class), copy}); + if (null != copy.getIn().getHeader(Exchange.DATASET_INDEX)) { + log.debug("Received message: {} (DataSet index={}) = {}", + new Object[]{index, copy.getIn().getHeader(Exchange.DATASET_INDEX, Integer.class), copy}); + } else { + log.debug("Received message: {} = {}", + new Object[]{index, copy}); + } } assertMessageExpected(index, expected, copy); @@ -229,8 +234,10 @@ public class DataSetEndpoint extends MockEndpoint implements Service { } protected void assertMessageExpected(long index, Exchange expected, Exchange actual) throws Exception { - long actualCounter = ExchangeHelper.getMandatoryHeader(actual, Exchange.DATASET_INDEX, Long.class); - assertEquals("Header: " + Exchange.DATASET_INDEX, index, actualCounter, actual); + if ( null != actual.getIn().getHeader(Exchange.DATASET_INDEX)) { + long actualCounter = ExchangeHelper.getMandatoryHeader(actual, Exchange.DATASET_INDEX, Long.class); + assertEquals("Header: " + Exchange.DATASET_INDEX, index, actualCounter, actual); + } getDataSet().assertMessageExpected(this, expected, actual, index); } http://git-wip-us.apache.org/repos/asf/camel/blob/19785de1/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetProducerTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetProducerTest.java b/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetProducerTest.java index 5ae3a6f..de04767 100644 --- a/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetProducerTest.java +++ b/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetProducerTest.java @@ -48,4 +48,13 @@ public class DataSetProducerTest extends ContextTestSupport { assertMockEndpointsSatisfied(); } + public void testSendingMessagesExplicitlyToDataSetEndpointWithoutDataSetIndex() throws Exception { + long size = dataSet.getSize(); + for (long i = 0; i < size; i++) { + template.sendBody(dataSetUri, "<hello>world!</hello>"); + } + + assertMockEndpointsSatisfied(); + } + } \ No newline at end of file