Author: chirino
Date: Thu Apr 19 14:00:40 2007
New Revision: 530545

URL: http://svn.apache.org/viewvc?view=rev&rev=530545
Log:
Fixed bug reported at: 
http://www.nabble.com/-camel--Splitter-problem-tf3609288s2354.html#a10085314


Modified:
    
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java

Modified: 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java
URL: 
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java?view=diff&rev=530545&r1=530544&r2=530545
==============================================================================
--- 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java
 (original)
+++ 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java
 Thu Apr 19 14:00:40 2007
@@ -53,14 +53,26 @@
     }
 
     public void copyFrom(Exchange exchange) {
-        setHeaders(new HashMap<String, Object>(exchange.getProperties()));
-        setIn(exchange.getIn().copy());
-        setOut(exchange.getOut().copy());
-        setFault(exchange.getFault().copy());
+        setHeaders(safeCopy(exchange.getProperties()));
+        setIn(safeCopy(exchange.getIn()));
+        setOut(safeCopy(exchange.getOut()));
+               setFault(safeCopy(exchange.getFault()));        
         setException(exchange.getException());
     }
 
-    public Exchange newInstance() {
+    static private Map<String, Object> safeCopy(Map<String, Object> 
properties) {
+               if(properties == null)
+                       return null;
+               return new HashMap<String, Object>(properties);
+       }
+
+       static private Message safeCopy(Message message) {
+       if( message == null)
+               return null;
+       return message.copy();
+       }
+
+       public Exchange newInstance() {
         return new DefaultExchange(context);
     }
 


Reply via email to