Author: cschneider
Date: Mon Aug 29 11:42:15 2011
New Revision: 1162753

URL: http://svn.apache.org/viewvc?rev=1162753&view=rev
Log:
CAMEL-4385 Fix and test for bug

Modified:
    
camel/trunk/camel-core/src/main/java/org/apache/camel/util/ExchangeHelper.java
    
camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultExchangeTest.java

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/util/ExchangeHelper.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/util/ExchangeHelper.java?rev=1162753&r1=1162752&r2=1162753&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/util/ExchangeHelper.java 
(original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/util/ExchangeHelper.java 
Mon Aug 29 11:42:15 2011
@@ -37,7 +37,6 @@ import org.apache.camel.NoSuchHeaderExce
 import org.apache.camel.NoSuchPropertyException;
 import org.apache.camel.NoTypeConversionAvailableException;
 import org.apache.camel.TypeConverter;
-import org.apache.camel.impl.DefaultExchange;
 import org.apache.camel.spi.UnitOfWork;
 
 /**
@@ -194,16 +193,11 @@ public final class ExchangeHelper {
      * @return the copy
      */
     public static Exchange createCopy(Exchange exchange, boolean 
preserveExchangeId) {
-        Exchange copy = new DefaultExchange(exchange);
+        Exchange copy = exchange.copy();
         if (preserveExchangeId) {
             // must preserve exchange id
             copy.setExchangeId(exchange.getExchangeId());
         }
-        copy.getProperties().putAll(exchange.getProperties());
-        copy.setIn(exchange.getIn().copy());
-        if (exchange.hasOut()) {
-            copy.setOut(exchange.getOut().copy());
-        }
         return copy;
     }
 
@@ -636,7 +630,9 @@ public final class ExchangeHelper {
     }
 
     /**
-     * @deprecated use 
org.apache.camel.CamelExchangeException.createExceptionMessage instead
+     * @deprecated use
+     *             
org.apache.camel.CamelExchangeException.createExceptionMessage
+     *             instead
      * @param message
      * @param exchange
      * @param cause
@@ -644,7 +640,7 @@ public final class ExchangeHelper {
      */
     @Deprecated
     public static String createExceptionMessage(String message, Exchange 
exchange, Throwable cause) {
-       return CamelExchangeException.createExceptionMessage(message, exchange, 
cause);
+        return CamelExchangeException.createExceptionMessage(message, 
exchange, cause);
     }
 
     /**

Modified: 
camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultExchangeTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultExchangeTest.java?rev=1162753&r1=1162752&r2=1162753&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultExchangeTest.java
 (original)
+++ 
camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultExchangeTest.java
 Mon Aug 29 11:42:15 2011
@@ -130,18 +130,21 @@ public class DefaultExchangeTest extends
     }
 
     public void testCopy() {
-       DefaultExchange sourceExchange =  new DefaultExchange(context);
-       MyMessage sourceIn = new MyMessage();
-       sourceExchange.setIn(sourceIn);
-       Exchange destExchange = sourceExchange.copy();
-       Message destIn = destExchange.getIn();
+        DefaultExchange sourceExchange = new DefaultExchange(context);
+        MyMessage sourceIn = new MyMessage();
+        sourceExchange.setIn(sourceIn);
+        Exchange destExchange = sourceExchange.copy();
+        Message destIn = destExchange.getIn();
 
-        // TODO: fix me
-       // assertEquals("dest message should be of the same type as source 
message", sourceIn.getClass(), destIn.getClass());
+        assertEquals("Dest message should be of the same type as source 
message",
+                     sourceIn.getClass(), destIn.getClass());
     }
-    
-    public static class MyMessage extends DefaultMessage {
 
+    public static class MyMessage extends DefaultMessage {
+        @Override
+        public MyMessage newInstance() {
+            return new MyMessage();
+        }
     }
 
 }


Reply via email to