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/06/27 04:16:18 UTC

svn commit: r788917 - in /camel/trunk: camel-core/src/main/java/org/apache/camel/component/file/ components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/ components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/

Author: hadrian
Date: Sat Jun 27 02:16:17 2009
New Revision: 788917

URL: http://svn.apache.org/viewvc?rev=788917&view=rev
Log:
CAMEL-1078.  Moved RemoteFileExchange to oblivion.

Removed:
    camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileExchange.java
Modified:
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileConsumer.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileExchange.java
    camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultRemoteFileSorter.java
    camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFile.java
    camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java
    camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerMultipleDirectoriesTest.java
    camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerWithNoFileOptionTest.java

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java?rev=788917&r1=788916&r2=788917&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java Sat Jun 27 02:16:17 2009
@@ -18,7 +18,9 @@
 
 import java.io.File;
 import java.io.Serializable;
+import java.util.Date;
 
+import org.apache.camel.Exchange;
 import org.apache.camel.util.FileUtil;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.commons.logging.Log;
@@ -79,6 +81,38 @@
         result.setBinding(source.getBinding());
         return result;
     }
+
+    /**
+     * Populates the {@link GenericFileMessage} relevant headers
+     *
+     * @param message the message to populate with headers
+     */
+    public void populateHeaders(GenericFileMessage<T> message) {
+        if (message != null) {
+            message.setHeader(Exchange.FILE_NAME_ONLY, getFileNameOnly());
+            message.setHeader(Exchange.FILE_NAME, getFileName());
+            message.setHeader("CamelFileAbsolute", isAbsolute());
+            message.setHeader("CamelFileAbsolutePath", getAbsoluteFilePath());
+    
+            if (isAbsolute()) {
+                message.setHeader(Exchange.FILE_PATH, getAbsoluteFilePath());
+            } else {
+                // we must normalize path according to protocol if we build our own paths
+                String path = normalizePathToProtocol(getEndpointPath() + File.separator + getRelativeFilePath());
+                message.setHeader(Exchange.FILE_PATH, path);
+            }
+    
+            message.setHeader("CamelFileRelativePath", getRelativeFilePath());
+            message.setHeader(Exchange.FILE_PARENT, getParent());
+    
+            if (getFileLength() > 0) {
+                message.setHeader("CamelFileLength", getFileLength());
+            }
+            if (getLastModified() > 0) {
+                message.setHeader("CamelFileLastModified", new Date(getLastModified()));
+            }
+        }
+    }
     
     protected boolean isAbsolute(String name) {
         File file = new File(name);

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileConsumer.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileConsumer.java?rev=788917&r1=788916&r2=788917&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileConsumer.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileConsumer.java Sat Jun 27 02:16:17 2009
@@ -73,7 +73,7 @@
         }
 
         // sort using build in sorters that is expression based
-        // first we need to convert to RemoteFileExchange objects so we can sort
+        // first we need to convert to GenericFileExchange objects so we can sort
         // using expressions
         LinkedList<GenericFileExchange> exchanges = new LinkedList<GenericFileExchange>();
         for (GenericFile<T> file : files) {

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileExchange.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileExchange.java?rev=788917&r1=788916&r2=788917&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileExchange.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileExchange.java Sat Jun 27 02:16:17 2009
@@ -22,6 +22,7 @@
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.Exchange;
+import org.apache.camel.Message;
 import org.apache.camel.PollingConsumerAware;
 import org.apache.camel.RuntimeExchangeException;
 import org.apache.camel.impl.DefaultExchange;
@@ -40,29 +41,9 @@
     }
 
     protected void populateHeaders(GenericFile<T> file) {
-        if (file != null) {
-            getIn().setHeader(Exchange.FILE_NAME_ONLY, file.getFileNameOnly());
-            getIn().setHeader(Exchange.FILE_NAME, file.getFileName());
-            getIn().setHeader("CamelFileAbsolute", file.isAbsolute());
-            getIn().setHeader("CamelFileAbsolutePath", file.getAbsoluteFilePath());
-
-            if (file.isAbsolute()) {
-                getIn().setHeader(Exchange.FILE_PATH, file.getAbsoluteFilePath());
-            } else {
-                // we must normalize path according to protocol if we build our own paths
-                String path = file.normalizePathToProtocol(file.getEndpointPath() + File.separator + file.getRelativeFilePath());
-                getIn().setHeader(Exchange.FILE_PATH, path);
-            }
-
-            getIn().setHeader("CamelFileRelativePath", file.getRelativeFilePath());
-            getIn().setHeader(Exchange.FILE_PARENT, file.getParent());
-
-            if (file.getFileLength() > 0) {
-                getIn().setHeader("CamelFileLength", file.getFileLength());
-            }
-            if (file.getLastModified() > 0) {
-                getIn().setHeader("CamelFileLastModified", new Date(file.getLastModified()));
-            }
+        Message message = getIn();
+        if (file != null && message instanceof GenericFileMessage) {
+            file.populateHeaders((GenericFileMessage<T>)message);
         }
     }
 

Modified: camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultRemoteFileSorter.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultRemoteFileSorter.java?rev=788917&r1=788916&r2=788917&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultRemoteFileSorter.java (original)
+++ camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/DefaultRemoteFileSorter.java Sat Jun 27 02:16:17 2009
@@ -19,6 +19,7 @@
 import java.util.Comparator;
 
 import org.apache.camel.Expression;
+import org.apache.camel.component.file.GenericFileExchange;
 import org.apache.camel.language.simple.FileLanguage;
 import org.apache.camel.util.ObjectHelper;
 
@@ -93,7 +94,7 @@
      * @param reverse    true to reverse order
      * @return the comparator
      */
-    public static Comparator<RemoteFileExchange> sortByFileLanguage(final String expression, final boolean reverse) {
+    public static Comparator<GenericFileExchange> sortByFileLanguage(final String expression, final boolean reverse) {
         return sortByFileLanguage(expression, reverse, false, null);
     }
 
@@ -105,7 +106,7 @@
      * @param ignoreCase ignore case if comparing strings
      * @return the comparator
      */
-    public static Comparator<RemoteFileExchange> sortByFileLanguage(final String expression, final boolean reverse,
+    public static Comparator<GenericFileExchange> sortByFileLanguage(final String expression, final boolean reverse,
                                                                     final boolean ignoreCase) {
         return sortByFileLanguage(expression, reverse, ignoreCase, null);
     }
@@ -119,10 +120,12 @@
      * @param nested     nested comparator for sub group sorting, can be null
      * @return the comparator
      */
-    public static Comparator<RemoteFileExchange> sortByFileLanguage(final String expression, final boolean reverse,
-                                                                    final boolean ignoreCase, final Comparator<RemoteFileExchange> nested) {
-        return new Comparator<RemoteFileExchange>() {
-            public int compare(RemoteFileExchange o1, RemoteFileExchange o2) {
+    public static Comparator<GenericFileExchange> sortByFileLanguage(
+        final String expression, final boolean reverse,
+        final boolean ignoreCase, final Comparator<GenericFileExchange> nested) {
+        
+        return new Comparator<GenericFileExchange>() {
+            public int compare(GenericFileExchange o1, GenericFileExchange o2) {
                 final Expression exp = FileLanguage.file(expression);
                 Object result1 = exp.evaluate(o1, Object.class);
                 Object result2 = exp.evaluate(o2, Object.class);
@@ -139,5 +142,4 @@
             }
         };
     }
-
 }

Modified: camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFile.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFile.java?rev=788917&r1=788916&r2=788917&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFile.java (original)
+++ camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFile.java Sat Jun 27 02:16:17 2009
@@ -17,6 +17,7 @@
 package org.apache.camel.component.file.remote;
 
 import org.apache.camel.component.file.GenericFile;
+import org.apache.camel.component.file.GenericFileMessage;
 import org.apache.camel.util.FileUtil;
 import org.apache.camel.util.ObjectHelper;
 
@@ -29,6 +30,18 @@
 
     private String hostname;
 
+    /**
+     * Populates the {@link GenericFileMessage} relevant headers
+     *
+     * @param message the message to populate with headers
+     */
+    public void populateHeaders(GenericFileMessage<T> message) {
+        if (message != null) {
+            super.populateHeaders(message);
+            message.setHeader("CamelFileHost", getHostname());
+        }
+    }
+
     public String getHostname() {
         return hostname;
     }
@@ -84,5 +97,4 @@
         // strip leading / for FTP protocol to avoid files with absolute paths
         return FileUtil.stripLeadingSeparator(path);
     }
-
 }

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=788917&r1=788916&r2=788917&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 Jun 27 02:16:17 2009
@@ -39,14 +39,14 @@
     }
 
     @Override
-    public GenericFileExchange createExchange() {
-        return new RemoteFileExchange(this);
+    public GenericFileExchange<T> createExchange() {
+        return new GenericFileExchange<T>(this);
     }
 
     @Override
     @SuppressWarnings("unchecked")
     public GenericFileExchange<T> createExchange(GenericFile<T> file) {
-        RemoteFileExchange answer = new RemoteFileExchange<T>(this);
+        GenericFileExchange<T> answer = new GenericFileExchange<T>(this);
         answer.setGenericFile(file);
         return answer;
     }

Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerMultipleDirectoriesTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerMultipleDirectoriesTest.java?rev=788917&r1=788916&r2=788917&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerMultipleDirectoriesTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerMultipleDirectoriesTest.java Sat Jun 27 02:16:17 2009
@@ -17,6 +17,7 @@
 package org.apache.camel.component.file.remote;
 
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.file.GenericFileExchange;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.junit.Before;
 import org.junit.Test;
@@ -51,19 +52,19 @@
 
         assertMockEndpointsSatisfied();
 
-        RemoteFileExchange exchange = (RemoteFileExchange) mock.getExchanges().get(0);
+        GenericFileExchange exchange = (GenericFileExchange) mock.getExchanges().get(0);
         RemoteFile file = (RemoteFile) exchange.getGenericFile();
         assertDirectoryEquals("multidir/bye.txt", file.getAbsoluteFilePath());
         assertDirectoryEquals("bye.txt", file.getRelativeFilePath());
         assertEquals("bye.txt", file.getFileName());
 
-        exchange = (RemoteFileExchange) mock.getExchanges().get(1);
+        exchange = (GenericFileExchange) mock.getExchanges().get(1);
         file = (RemoteFile) exchange.getGenericFile();
         assertDirectoryEquals("multidir/sub/hello.txt", file.getAbsoluteFilePath());
         assertDirectoryEquals("sub/hello.txt", file.getRelativeFilePath());
         assertEquals("hello.txt", file.getFileName());
 
-        exchange = (RemoteFileExchange) mock.getExchanges().get(2);
+        exchange = (GenericFileExchange) mock.getExchanges().get(2);
         file = (RemoteFile) exchange.getGenericFile();
         assertDirectoryEquals("multidir/sub/sub2/godday.txt", file.getAbsoluteFilePath());
         assertDirectoryEquals("sub/sub2/godday.txt", file.getRelativeFilePath());
@@ -77,5 +78,4 @@
             }
         };
     }
-
 }
\ No newline at end of file

Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerWithNoFileOptionTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerWithNoFileOptionTest.java?rev=788917&r1=788916&r2=788917&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerWithNoFileOptionTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerWithNoFileOptionTest.java Sat Jun 27 02:16:17 2009
@@ -17,6 +17,7 @@
 package org.apache.camel.component.file.remote;
 
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.file.GenericFileExchange;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.junit.Before;
 import org.junit.Test;
@@ -52,7 +53,7 @@
 
         assertMockEndpointsSatisfied();
 
-        RemoteFileExchange exchange = (RemoteFileExchange) mock.getExchanges().get(0);
+        GenericFileExchange exchange = (GenericFileExchange) mock.getExchanges().get(0);
         RemoteFile file = (RemoteFile) exchange.getGenericFile();
         assertEquals("hello.txt", file.getAbsoluteFilePath());
         assertEquals("hello.txt", file.getRelativeFilePath());
@@ -66,5 +67,4 @@
             }
         };
     }
-
 }
\ No newline at end of file