You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ch...@apache.org on 2007/04/19 23:00:41 UTC

svn commit: r530545 - /activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java

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);
     }