Repository: camel Updated Branches: refs/heads/master b8d056208 -> 5e08a9e8e
CAMEL-8829 CAMEL-8886 Fixed the test error in camel-cxf Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/5e08a9e8 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/5e08a9e8 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/5e08a9e8 Branch: refs/heads/master Commit: 5e08a9e8e93a2f117b5fbec9c6d54500d8e99a4d Parents: b8d0562 Author: Willem Jiang <willem.ji...@gmail.com> Authored: Fri Jun 19 23:15:10 2015 +0800 Committer: Willem Jiang <willem.ji...@gmail.com> Committed: Fri Jun 19 23:15:49 2015 +0800 ---------------------------------------------------------------------- .../src/main/java/org/apache/camel/Message.java | 7 +++++++ .../org/apache/camel/impl/DefaultExchange.java | 4 ++++ .../org/apache/camel/impl/MessageSupport.java | 20 ++++++++++++-------- 3 files changed, 23 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/5e08a9e8/camel-core/src/main/java/org/apache/camel/Message.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/Message.java b/camel-core/src/main/java/org/apache/camel/Message.java index 179871f..dd576a8 100644 --- a/camel-core/src/main/java/org/apache/camel/Message.java +++ b/camel-core/src/main/java/org/apache/camel/Message.java @@ -239,6 +239,13 @@ public interface Message { * @param message the other message */ void copyFrom(Message message); + + /** + * Copies the attachments of the other message into this message + * + * @param message the other message + */ + void copyAttachments(Message message); /** * Returns the attachment specified by the id http://git-wip-us.apache.org/repos/asf/camel/blob/5e08a9e8/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 6704cdf..b7cb402 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 @@ -99,12 +99,16 @@ public final class DefaultExchange implements Exchange { exchange.getIn().setBody(getIn().getBody()); if (getIn().hasHeaders()) { exchange.getIn().setHeaders(safeCopyHeaders(getIn().getHeaders())); + // just copy the attachments here + exchange.getIn().copyAttachments(getIn()); } if (hasOut()) { exchange.getOut().setBody(getOut().getBody()); if (getOut().hasHeaders()) { exchange.getOut().setHeaders(safeCopyHeaders(getOut().getHeaders())); } + // Just copy the attachments here + exchange.getOut().copyAttachments(getOut()); } } else { // old way of doing copy which is @deprecated http://git-wip-us.apache.org/repos/asf/camel/blob/5e08a9e8/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java b/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java index 613d6a0..369196c 100644 --- a/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java +++ b/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java @@ -152,6 +152,18 @@ public abstract class MessageSupport implements Message { } } + copyAttachments(that); + } + + public Exchange getExchange() { + return exchange; + } + + public void setExchange(Exchange exchange) { + this.exchange = exchange; + } + + public void copyAttachments(Message that) { // the attachments may be the same instance if the end user has made some mistake // and set the OUT message with the same attachment instance of the IN message etc boolean sameAttachments = false; @@ -170,14 +182,6 @@ public abstract class MessageSupport implements Message { } } - public Exchange getExchange() { - return exchange; - } - - public void setExchange(Exchange exchange) { - this.exchange = exchange; - } - /** * Returns a new instance */