You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ha...@apache.org on 2009/08/01 15:56:17 UTC

svn commit: r799863 - in /camel/trunk: camel-core/src/main/java/org/apache/camel/ camel-core/src/main/java/org/apache/camel/impl/ components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/ components/camel-spring-integration/src/main/ja...

Author: hadrian
Date: Sat Aug  1 13:56:17 2009
New Revision: 799863

URL: http://svn.apache.org/viewvc?rev=799863&view=rev
Log:
CAMEL-1822. Consolidated copy() and copyFrom() in the Exchange api

Modified:
    camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java
    camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java
    camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationEndpoint.java

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java?rev=799863&r1=799862&r2=799863&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java Sat Aug  1 13:56:17 2009
@@ -278,13 +278,6 @@
     Exchange copy(boolean handoverOnCompletion);
 
     /**
-     * Copies the data into this exchange from the given exchange
-     *
-     * @param source is the source from which headers and messages will be copied
-     */
-    void copyFrom(Exchange source);
-
-    /**
      * Returns the endpoint which originated this message exchange if a consumer on an endpoint created the message exchange
      * otherwise this property will be null
      */

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java?rev=799863&r1=799862&r2=799863&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java Sat Aug  1 13:56:17 2009
@@ -158,9 +158,7 @@
                 return exchangeType.cast(exchange);
             }
         }
-        Exchange answer = createExchange();
-        answer.copyFrom(exchange);
-        return answer;
+        return exchange.copy();
     }
 
     /**

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java?rev=799863&r1=799862&r2=799863&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java Sat Aug  1 13:56:17 2009
@@ -63,8 +63,8 @@
 
     public DefaultExchange(Exchange parent) {
         this(parent.getContext(), parent.getPattern());
-        this.unitOfWork = parent.getUnitOfWork();
         this.fromEndpoint = parent.getFromEndpoint();
+        this.unitOfWork = parent.getUnitOfWork();
     }
 
     public DefaultExchange(Endpoint fromEndpoint) {
@@ -72,9 +72,8 @@
     }
     
     public DefaultExchange(Endpoint fromEndpoint, ExchangePattern pattern) {
-        this.context = fromEndpoint.getCamelContext();
+        this(fromEndpoint.getCamelContext(), pattern);
         this.fromEndpoint = fromEndpoint;
-        this.pattern = pattern;
     }
 
     @Override
@@ -83,8 +82,14 @@
     }
 
     public Exchange copy() {
-        Exchange exchange = new DefaultExchange(this);
-        exchange.copyFrom(this);
+        DefaultExchange exchange = new DefaultExchange(this);
+
+        exchange.setProperties(safeCopy(getProperties()));
+        safeCopy(exchange.getIn(), getIn());
+        if (hasOut()) {
+            safeCopy(exchange.getOut(), getOut());
+        }
+        exchange.setException(getException());
         return exchange;
     }
 
@@ -92,7 +97,7 @@
         Exchange copy = copy();
         // do not share the unit of work
         copy.setUnitOfWork(null);
-        // handover on completeion to the copy if we got any
+        // hand over on completion to the copy if we got any
         if (handoverOnCompletion && unitOfWork != null) {
             unitOfWork.handoverSynchronization(copy);
         }
@@ -101,24 +106,6 @@
         return copy;
     }
 
-    public void copyFrom(Exchange exchange) {
-        if (exchange == this) {
-            return;
-        }
-        setProperties(safeCopy(exchange.getProperties()));
-
-        // this can cause strangeness if we copy, say, a FileMessage onto an FtpExchange with overloaded getExchange() methods etc.
-        safeCopy(getIn(), exchange.getIn());
-        if (exchange.hasOut()) {
-            safeCopy(getOut(), exchange.getOut());
-        }
-        setException(exchange.getException());
-
-        unitOfWork = exchange.getUnitOfWork();
-        pattern = exchange.getPattern();
-        setFromEndpoint(exchange.getFromEndpoint());
-    }
-
     private static void safeCopy(Message message, Message that) {
         if (message != null) {
             message.copyFrom(that);

Modified: camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java?rev=799863&r1=799862&r2=799863&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java (original)
+++ camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java Sat Aug  1 13:56:17 2009
@@ -43,11 +43,6 @@
     }
 
     @Override
-    public Exchange createExchange() {
-        return new DefaultExchange(this);
-    }
-
-    @Override
     @SuppressWarnings("unchecked")
     public Exchange createExchange(GenericFile<T> file) {
         Exchange answer = new DefaultExchange(this);

Modified: camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationEndpoint.java?rev=799863&r1=799862&r2=799863&view=diff
==============================================================================
--- camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationEndpoint.java (original)
+++ camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationEndpoint.java Sat Aug  1 13:56:17 2009
@@ -65,14 +65,6 @@
         return new SpringIntegrationConsumer(this, processor);
     }
 
-    public Exchange createExchange() {
-        return createExchange(getExchangePattern());
-    }
-
-    public Exchange createExchange(ExchangePattern pattern) {
-        return new DefaultExchange(this, pattern);
-    }
-
     public void setInputChannel(String input) {
         inputChannel = input;
     }