Repository: camel Updated Branches: refs/heads/camel-2.16.x e67d08c2e -> ac83e1023 refs/heads/master 53600cfaf -> da0359526
CAMEL-9666: Propagate 'fault' property to soft copy Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/da035952 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/da035952 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/da035952 Branch: refs/heads/master Commit: da0359526d08fc5b40a202ba050b310f3c05c3a6 Parents: 53600cf Author: Martin Basovnik <mbaso...@redhat.com> Authored: Thu Mar 3 11:19:04 2016 +0100 Committer: Claus Ibsen <davscl...@apache.org> Committed: Fri Mar 4 09:03:57 2016 +0100 ---------------------------------------------------------------------- .../org/apache/camel/impl/DefaultExchange.java | 2 ++ .../apache/camel/impl/DefaultExchangeTest.java | 21 ++++++++++++++++++++ 2 files changed, 23 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/da035952/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java index e1f83f6..923c0d8 100644 --- a/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java +++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java @@ -98,6 +98,7 @@ public final class DefaultExchange implements Exchange { if (safeCopy) { exchange.getIn().setBody(getIn().getBody()); + exchange.getIn().setFault(getIn().isFault()); if (getIn().hasHeaders()) { exchange.getIn().setHeaders(safeCopyHeaders(getIn().getHeaders())); // just copy the attachments here @@ -105,6 +106,7 @@ public final class DefaultExchange implements Exchange { } if (hasOut()) { exchange.getOut().setBody(getOut().getBody()); + exchange.getOut().setFault(getOut().isFault()); if (getOut().hasHeaders()) { exchange.getOut().setHeaders(safeCopyHeaders(getOut().getHeaders())); } http://git-wip-us.apache.org/repos/asf/camel/blob/da035952/camel-core/src/test/java/org/apache/camel/impl/DefaultExchangeTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/impl/DefaultExchangeTest.java b/camel-core/src/test/java/org/apache/camel/impl/DefaultExchangeTest.java index c8395ac..43bd8ff 100644 --- a/camel-core/src/test/java/org/apache/camel/impl/DefaultExchangeTest.java +++ b/camel-core/src/test/java/org/apache/camel/impl/DefaultExchangeTest.java @@ -216,6 +216,27 @@ public class DefaultExchangeTest extends ExchangeTestSupport { sourceIn.getClass(), destIn.getClass()); } + public void testFaultCopy() { + testFaultCopy(false); + } + + public void testFaultSafeCopy() { + testFaultCopy(true); + } + + private void testFaultCopy(boolean safe) { + DefaultExchange sourceExchange = new DefaultExchange(context); + MyMessage source = new MyMessage(); + source.setFault(true); + sourceExchange.setIn(source); + sourceExchange.setOut(source); + Exchange destExchange = sourceExchange.copy(safe); + assertEquals("Fault property was not copied to IN message", + sourceExchange.getIn().isFault(), destExchange.getIn().isFault()); + assertEquals("Fault property was not copied to OUT message", + sourceExchange.getOut().isFault(), destExchange.getOut().isFault()); + } + public static class MyMessage extends DefaultMessage { @Override public MyMessage newInstance() {