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
      */

Reply via email to