You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2017/02/20 09:07:39 UTC

camel git commit: CAMEL-10851: Original Message should preserve exchange from where it belongs.

Repository: camel
Updated Branches:
  refs/heads/master d02be6fb3 -> 052fcc601


CAMEL-10851: Original Message should preserve exchange from where it belongs.


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/052fcc60
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/052fcc60
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/052fcc60

Branch: refs/heads/master
Commit: 052fcc601c672ff169152103558ab761a1071f89
Parents: d02be6f
Author: Claus Ibsen <da...@apache.org>
Authored: Mon Feb 20 10:07:41 2017 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Mon Feb 20 10:07:41 2017 +0100

----------------------------------------------------------------------
 .../src/main/java/org/apache/camel/impl/DefaultUnitOfWork.java   | 4 ++++
 .../impl/DefaultCamelContextAllowUseOriginalMessageTrueTest.java | 1 +
 .../java/org/apache/camel/impl/OriginalMessageProcessor.java     | 1 +
 3 files changed, 6 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/052fcc60/camel-core/src/main/java/org/apache/camel/impl/DefaultUnitOfWork.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultUnitOfWork.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultUnitOfWork.java
index ae46435..75a798e 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultUnitOfWork.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultUnitOfWork.java
@@ -90,6 +90,10 @@ public class DefaultUnitOfWork implements UnitOfWork, Service {
             } else {
                 this.originalInMessage = exchange.getIn().copy();
             }
+            // must preserve exchange on the original in message
+            if (this.originalInMessage instanceof MessageSupport) {
+                ((MessageSupport) this.originalInMessage).setExchange(exchange);
+            }
         }
 
         // mark the creation time when this Exchange was created

http://git-wip-us.apache.org/repos/asf/camel/blob/052fcc60/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextAllowUseOriginalMessageTrueTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextAllowUseOriginalMessageTrueTest.java b/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextAllowUseOriginalMessageTrueTest.java
index f1adf4a..ff0ab36 100644
--- a/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextAllowUseOriginalMessageTrueTest.java
+++ b/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextAllowUseOriginalMessageTrueTest.java
@@ -33,6 +33,7 @@ public class DefaultCamelContextAllowUseOriginalMessageTrueTest extends ContextT
         getMockEndpoint("mock:result").expectedBodiesReceived("Bye World");
         getMockEndpoint("mock:result").expectedHeaderReceived("HasOriginal", "true");
         getMockEndpoint("mock:result").expectedHeaderReceived("OriginalBody", "World");
+        getMockEndpoint("mock:result").message(0).header("OriginalExchangeId").isNotNull();
 
         template.sendBody("direct:start", "World");
 

http://git-wip-us.apache.org/repos/asf/camel/blob/052fcc60/camel-core/src/test/java/org/apache/camel/impl/OriginalMessageProcessor.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/impl/OriginalMessageProcessor.java b/camel-core/src/test/java/org/apache/camel/impl/OriginalMessageProcessor.java
index 3b7ffd5..4e3ddbf 100644
--- a/camel-core/src/test/java/org/apache/camel/impl/OriginalMessageProcessor.java
+++ b/camel-core/src/test/java/org/apache/camel/impl/OriginalMessageProcessor.java
@@ -33,6 +33,7 @@ public class OriginalMessageProcessor implements Processor {
         } else {
             exchange.getIn().setHeader("HasOriginal", "true");
             exchange.getIn().setHeader("OriginalBody", original.getBody());
+            exchange.getIn().setHeader("OriginalExchangeId", original.getExchange().getExchangeId());
         }
     }