Repository: camel
Updated Branches:
  refs/heads/master 0128dea55 -> d57c1db10


CAMEL-6555 Support to send ExchangeHolder through UDP


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

Branch: refs/heads/master
Commit: d57c1db10b9568c39e7d11299d92bc90d770628b
Parents: 0128dea
Author: Willem Jiang <[email protected]>
Authored: Thu Jul 24 17:14:59 2014 +0800
Committer: Willem Jiang <[email protected]>
Committed: Thu Jul 24 17:15:28 2014 +0800

----------------------------------------------------------------------
 .../component/netty4/NettyPayloadHelper.java    | 21 +++++++++++++++-----
 1 file changed, 16 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/d57c1db1/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyPayloadHelper.java
----------------------------------------------------------------------
diff --git 
a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyPayloadHelper.java
 
b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyPayloadHelper.java
index f7deb21..714957b 100644
--- 
a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyPayloadHelper.java
+++ 
b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyPayloadHelper.java
@@ -64,8 +64,13 @@ public final class NettyPayloadHelper {
         } else if (payload instanceof AddressedEnvelope) {
             @SuppressWarnings("unchecked")
             AddressedEnvelope<Object, InetSocketAddress> dp = 
(AddressedEnvelope<Object, InetSocketAddress>)payload; 
-            // need to take out the payload here
-            exchange.getIn().setBody(dp.content());
+            // need to check if the content is ExchangeHolder
+            if (dp.content() instanceof DefaultExchangeHolder) {
+                DefaultExchangeHolder.unmarshal(exchange, 
(DefaultExchangeHolder) dp.content());    
+            } else {
+                // need to take out the payload here 
+                exchange.getIn().setBody(dp.content());
+            }
             // setup the sender address here for sending the response message 
back
             exchange.setProperty(NettyConstants.NETTY_REMOTE_ADDRESS, 
dp.sender());
         } else {
@@ -79,9 +84,14 @@ public final class NettyPayloadHelper {
             DefaultExchangeHolder.unmarshal(exchange, (DefaultExchangeHolder) 
payload);
         } else if (payload instanceof AddressedEnvelope) {
             @SuppressWarnings("unchecked")
-            AddressedEnvelope<Object, InetSocketAddress> dp = 
(AddressedEnvelope<Object, InetSocketAddress>)payload; 
-            // need to take out the payload here 
-            exchange.getOut().setBody(dp.content());
+            AddressedEnvelope<Object, InetSocketAddress> dp = 
(AddressedEnvelope<Object, InetSocketAddress>)payload;
+            // need to check if the content is ExchangeHolder
+            if (dp.content() instanceof DefaultExchangeHolder) {
+                DefaultExchangeHolder.unmarshal(exchange, 
(DefaultExchangeHolder) dp.content());    
+            } else {
+                // need to take out the payload here 
+                exchange.getOut().setBody(dp.content());
+            }
             // setup the sender address here for sending the response message 
back
             exchange.setProperty(NettyConstants.NETTY_REMOTE_ADDRESS, 
dp.sender());
         } else {
@@ -90,5 +100,6 @@ public final class NettyPayloadHelper {
             exchange.getOut().setBody(payload);
         }
     }
+    
 
 }

Reply via email to