You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2011/08/24 10:49:02 UTC

svn commit: r1161014 - in /camel/branches/camel-2.8.x: ./ camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java camel-core/src/test/java/org/apache/camel/component/file/FromFileMoveDoneCustomHeaderTest.java

Author: davsclaus
Date: Wed Aug 24 08:49:01 2011
New Revision: 1161014

URL: http://svn.apache.org/viewvc?rev=1161014&view=rev
Log:
Merged revisions 1161010 via svnmerge from 
https://svn.apache.org/repos/asf/camel/trunk


Added:
    camel/branches/camel-2.8.x/camel-core/src/test/java/org/apache/camel/component/file/FromFileMoveDoneCustomHeaderTest.java
      - copied unchanged from r1161010, camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FromFileMoveDoneCustomHeaderTest.java
Modified:
    camel/branches/camel-2.8.x/   (props changed)
    camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java

Propchange: camel/branches/camel-2.8.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Aug 24 08:49:01 2011
@@ -1 +1 @@
-/camel/trunk:1155230,1156108,1156260,1156524,1157348,1157798,1157831,1157878,1158153,1159171,1159174,1159457,1159460,1159606,1159867,1160547
+/camel/trunk:1155230,1156108,1156260,1156524,1157348,1157798,1157831,1157878,1158153,1159171,1159174,1159457,1159460,1159606,1159867,1160547,1161010

Propchange: camel/branches/camel-2.8.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java?rev=1161014&r1=1161013&r2=1161014&view=diff
==============================================================================
--- camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java (original)
+++ camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java Wed Aug 24 08:49:01 2011
@@ -18,6 +18,7 @@ package org.apache.camel.component.file;
 
 import java.io.File;
 import java.util.Date;
+import java.util.Map;
 
 import org.apache.camel.Exchange;
 import org.apache.camel.util.FileUtil;
@@ -93,10 +94,25 @@ public class GenericFile<T>  {
      * Bind this GenericFile to an Exchange
      */
     public void bindToExchange(Exchange exchange) {
+        Map<String, Object> headers;
+
         exchange.setProperty(FileComponent.FILE_EXCHANGE_FILE, this);
-        GenericFileMessage<T> in = new GenericFileMessage<T>(this);
-        exchange.setIn(in);
-        populateHeaders(in);
+        GenericFileMessage<T> msg = new GenericFileMessage<T>(this);
+        if (exchange.hasOut()) {
+            headers = exchange.getOut().hasHeaders() ? exchange.getOut().getHeaders() : null;
+            exchange.setOut(msg);
+        } else {
+            headers = exchange.getIn().hasHeaders() ? exchange.getIn().getHeaders() : null;
+            exchange.setIn(msg);
+        }
+
+        // preserve any existing (non file) headers, before we re-populate headers
+        if (headers != null) {
+            msg.setHeaders(headers);
+            // remove any file related headers, as we will re-populate file headers
+            msg.removeHeaders("CamelFile*");
+        }
+        populateHeaders(msg);
     }
 
     /**