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 2009/01/28 08:30:03 UTC

svn commit: r738386 - 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/

Author: davsclaus
Date: Wed Jan 28 07:30:02 2009
New Revision: 738386

URL: http://svn.apache.org/viewvc?rev=738386&view=rev
Log:
CAMEL-1241: A little cleanup in the camel-ftp component.

Removed:
    camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileExclusiveReadLockStrategy.java
    camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileMessage.java
Modified:
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileExchange.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileMessage.java
    camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
    camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpRemoteFileComponent.java
    camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpRemoteFileOperations.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/RemoteFileComponent.java
    camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileConsumer.java
    camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java
    camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileExchange.java
    camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileOperations.java
    camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileProducer.java
    camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
    camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpRemoteFileComponent.java
    camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpRemoteFileEndpoint.java
    camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpRemoteFileOperations.java

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java?rev=738386&r1=738385&r2=738386&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java Wed Jan 28 07:30:02 2009
@@ -47,7 +47,7 @@
     protected final transient Log log = LogFactory.getLog(getClass());
 
     protected GenericFileProcessStrategy processStrategy;
-    protected GenericFileOperations operations;
+    protected GenericFileOperations<T> operations;
     protected GenericFileConfiguration configuration;
 
     // TODO: Consider remove setNames
@@ -404,11 +404,11 @@
         this.autoCreate = autoCreate;
     }
 
-    public GenericFileOperations getOperations() {
+    public GenericFileOperations<T> getOperations() {
         return operations;
     }
 
-    public void setOperations(GenericFileOperations operations) {
+    public void setOperations(GenericFileOperations<T> operations) {
         this.operations = operations;
     }
 

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=738386&r1=738385&r2=738386&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 Wed Jan 28 07:30:02 2009
@@ -28,8 +28,6 @@
 
     private GenericFile<T> genericFile;
 
-    // TODO: Consider removing some of he constructors
-
     public GenericFileExchange(CamelContext context) {
         super(context);
     }
@@ -92,7 +90,7 @@
     }
 
     public Exchange newInstance() {
-        return new GenericFileExchange(this, genericFile);
+        return new GenericFileExchange<T>(this, genericFile);
     }
 
 }

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileMessage.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileMessage.java?rev=738386&r1=738385&r2=738386&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileMessage.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileMessage.java Wed Jan 28 07:30:02 2009
@@ -22,12 +22,12 @@
  * Remote file message
  */
 public class GenericFileMessage<T> extends DefaultMessage {
-    private GenericFile genericFile;
+    private GenericFile<T> genericFile;
 
     public GenericFileMessage() {
     }
 
-    public GenericFileMessage(GenericFile genericFile) {
+    public GenericFileMessage(GenericFile<T> genericFile) {
         this.genericFile = genericFile;
     }
 
@@ -45,7 +45,7 @@
         return genericFile;
     }
 
-    public void setRemoteFile(GenericFile genericFile) {
+    public void setRemoteFile(GenericFile<T> genericFile) {
         this.genericFile = genericFile;
     }
 

Modified: camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java?rev=738386&r1=738385&r2=738386&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java (original)
+++ camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java Wed Jan 28 07:30:02 2009
@@ -28,7 +28,7 @@
  */
 public class FtpConsumer extends RemoteFileConsumer<FTPFile> {
 
-    public FtpConsumer(RemoteFileEndpoint endpoint, Processor processor, RemoteFileOperations fileOperations) {
+    public FtpConsumer(RemoteFileEndpoint<FTPFile> endpoint, Processor processor, RemoteFileOperations<FTPFile> fileOperations) {
         super(endpoint, processor, fileOperations);
     }
 

Modified: camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpRemoteFileComponent.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpRemoteFileComponent.java?rev=738386&r1=738385&r2=738386&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpRemoteFileComponent.java (original)
+++ camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpRemoteFileComponent.java Wed Jan 28 07:30:02 2009
@@ -54,5 +54,9 @@
         return new FtpRemoteFileEndpoint(uri, this, operations, config);
     }
 
+    protected void afterPropertiesSet(GenericFileEndpoint<FTPFile> endpoint) throws Exception {
+        // noop
+    }
+
 }
 

Modified: camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpRemoteFileOperations.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpRemoteFileOperations.java?rev=738386&r1=738385&r2=738386&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpRemoteFileOperations.java (original)
+++ camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpRemoteFileOperations.java Wed Jan 28 07:30:02 2009
@@ -22,6 +22,7 @@
 import java.io.OutputStream;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Arrays;
 
 import org.apache.camel.component.file.GenericFile;
 import org.apache.camel.component.file.GenericFileExchange;
@@ -143,9 +144,7 @@
                     }
                     success = client.makeDirectory(directory);
                     if (!success) {
-                        // we are here if the server side doesn't create
-                        // intermediate folders
-                        // so create the folder one by one
+                        // we are here if the server side doesn't create intermediate folders so create the folder one by one
                         buildDirectoryChunks(directory);
                     }
                 }
@@ -195,22 +194,20 @@
         }
     }
 
-    public List listFiles() throws GenericFileOperationFailedException {
+    public List<FTPFile> listFiles() throws GenericFileOperationFailedException {
         return listFiles(".");
     }
 
-    public List listFiles(String path) throws GenericFileOperationFailedException {
+    public List<FTPFile> listFiles(String path) throws GenericFileOperationFailedException {
         // use current directory if path not given
         if (ObjectHelper.isEmpty(path)) {
             path = ".";
         }
 
         try {
-            final List list = new ArrayList();
+            final List<FTPFile> list = new ArrayList<FTPFile>();
             FTPFile[] files = client.listFiles(path);
-            for (FTPFile file : files) {
-                list.add(file);
-            }
+            list.addAll(Arrays.asList(files));
             return list;
         } catch (IOException e) {
             throw new RemoteFileOperationFailedException(client.getReplyCode(), client.getReplyString(), e.getMessage(), e);

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=738386&r1=738385&r2=738386&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 Wed Jan 28 07:30:02 2009
@@ -20,8 +20,10 @@
 
 /**
  * Represents a remote file of some sort of backing object
+ *
+ * @param <T> the type of file that these remote endpoints provide
  */
-public class RemoteFile<F> extends GenericFile<F> implements Cloneable {
+public class RemoteFile<T> extends GenericFile<T> implements Cloneable {
 
     private String hostname;
 
@@ -33,8 +35,8 @@
         this.hostname = hostname;
     }
 
-    public RemoteFile<F> copyFrom(RemoteFile<F> source) {
-        RemoteFile<F> result = (RemoteFile<F>) source.clone();
+    public RemoteFile<T> copyFrom(RemoteFile<T> source) {
+        RemoteFile<T> result = (RemoteFile<T>) source.clone();
         result.setAbsoluteFileName(source.getAbsoluteFileName());
         result.setRelativeFileName(source.getRelativeFileName());
         result.setFileName(source.getFileName());

Modified: camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileComponent.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileComponent.java?rev=738386&r1=738385&r2=738386&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileComponent.java (original)
+++ camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileComponent.java Wed Jan 28 07:30:02 2009
@@ -18,7 +18,6 @@
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.component.file.GenericFileComponent;
-import org.apache.camel.component.file.GenericFileEndpoint;
 
 /**
  * Base class for remote file components. Polling and consuming files from
@@ -36,9 +35,4 @@
         super(context);
     }
 
-    @Override
-    protected void afterPropertiesSet(GenericFileEndpoint<T> endpoint) throws Exception {
-        // noop
-    }
-
 }

Modified: camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileConsumer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileConsumer.java?rev=738386&r1=738385&r2=738386&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileConsumer.java (original)
+++ camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileConsumer.java Wed Jan 28 07:30:02 2009
@@ -21,8 +21,6 @@
 import org.apache.camel.Processor;
 import org.apache.camel.component.file.GenericFileConsumer;
 import org.apache.camel.component.file.GenericFileOperationFailedException;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 
 /**
  * Base class for remote file consumers.

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=738386&r1=738385&r2=738386&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 Wed Jan 28 07:30:02 2009
@@ -23,16 +23,12 @@
 import org.apache.camel.component.file.GenericFileProducer;
 import org.apache.camel.processor.idempotent.MemoryIdempotentRepository;
 import org.apache.camel.util.ObjectHelper;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 
 /**
  * Remote file endpoint.
  */
 public abstract class RemoteFileEndpoint<T> extends GenericFileEndpoint<T> {
 
-    protected final transient Log log = LogFactory.getLog(getClass());
-
     public RemoteFileEndpoint() {
         // no args constructor for spring bean endpoint configuration
     }
@@ -50,8 +46,8 @@
     }
 
     @Override
-    public GenericFileExchange createExchange(GenericFile<T> file) {
-        return new RemoteFileExchange(this, getExchangePattern(), (RemoteFile<T>) file);
+    public GenericFileExchange<T> createExchange(GenericFile<T> file) {
+        return new RemoteFileExchange<T>(this, getExchangePattern(), (RemoteFile<T>) file);
     }
 
     @Override
@@ -60,11 +56,11 @@
     }
 
     @Override
-    public RemoteFileConsumer createConsumer(Processor processor) throws Exception {
+    public RemoteFileConsumer<T> createConsumer(Processor processor) throws Exception {
         String protocol = ((RemoteFileConfiguration) getConfiguration()).getProtocol();
         ObjectHelper.notEmpty(protocol, "protocol");
 
-        RemoteFileConsumer consumer = buildConsumer(processor, (RemoteFileOperations<T>) operations);
+        RemoteFileConsumer<T> consumer = buildConsumer(processor, (RemoteFileOperations<T>) operations);
 
         if (isDelete() && (getMoveNamePrefix() != null || getMoveNamePostfix() != null || getExpression() != null)) {
             throw new IllegalArgumentException("You cannot set delete=true and a moveNamePrefix, moveNamePostfix or expression option");
@@ -92,7 +88,7 @@
      * @param operations the operations
      * @return the created consumer
      */
-    protected abstract RemoteFileConsumer buildConsumer(Processor processor, RemoteFileOperations<T> operations);
+    protected abstract RemoteFileConsumer<T> buildConsumer(Processor processor, RemoteFileOperations<T> operations);
 
     /**
      * Returns human readable server information for logging purpose

Modified: camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileExchange.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileExchange.java?rev=738386&r1=738385&r2=738386&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileExchange.java (original)
+++ camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileExchange.java Wed Jan 28 07:30:02 2009
@@ -58,7 +58,7 @@
     protected void populateHeaders(GenericFile<T> remoteFile) {
         super.populateHeaders(remoteFile);
         if (remoteFile != null) {
-            getIn().setHeader("file.remote.host", ((RemoteFile<T>) remoteFile).getHostname());
+            getIn().setHeader("CamelFileHost", ((RemoteFile<T>) remoteFile).getHostname());
         }
     }
 

Modified: camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileOperations.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileOperations.java?rev=738386&r1=738385&r2=738386&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileOperations.java (original)
+++ camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileOperations.java Wed Jan 28 07:30:02 2009
@@ -30,8 +30,7 @@
      *
      * @param configuration configuraiton
      * @return true if connected
-     * @throws GenericFileOperationFailedException
-     *          can be thrown
+     * @throws GenericFileOperationFailedException can be thrown
      */
     boolean connect(RemoteFileConfiguration configuration) throws GenericFileOperationFailedException;
 
@@ -39,16 +38,14 @@
      * Returns whether we are connected to the remote server or not
      *
      * @return true if connected, false if not
-     * @throws GenericFileOperationFailedException
-     *          can be thrown
+     * @throws GenericFileOperationFailedException can be thrown
      */
     boolean isConnected() throws GenericFileOperationFailedException;
 
     /**
      * Discconects from the remote server
      *
-     * @throws GenericFileOperationFailedException
-     *          can be thrown
+     * @throws GenericFileOperationFailedException can be thrown
      */
     void disconnect() throws GenericFileOperationFailedException;
 

Modified: camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileProducer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileProducer.java?rev=738386&r1=738385&r2=738386&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileProducer.java (original)
+++ camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileProducer.java Wed Jan 28 07:30:02 2009
@@ -28,11 +28,11 @@
  * Remote file producer. Handles connecting and disconnecting if we are not.
  * Generic type F is the remote system implementation of a file.
  */
-public class RemoteFileProducer<F> extends GenericFileProducer<F> {
+public class RemoteFileProducer<T> extends GenericFileProducer<T> {
 
     private boolean loggedIn;
 
-    protected RemoteFileProducer(RemoteFileEndpoint<F> endpoint, RemoteFileOperations<F> operations) {
+    protected RemoteFileProducer(RemoteFileEndpoint<T> endpoint, RemoteFileOperations<T> operations) {
         super(endpoint, operations);
     }
 
@@ -45,7 +45,7 @@
     /**
      * The file could not be written. We need to disconnect from the remote server.
      */
-    protected void handleFailedWrite(GenericFileExchange exchange, Exception exception) throws Exception {
+    protected void handleFailedWrite(GenericFileExchange<T> exchange, Exception exception) throws Exception {
         loggedIn = false;
         if (isStopping() || isStopped()) {
             // if we are stopping then ignore any exception during a poll

Modified: camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java?rev=738386&r1=738385&r2=738386&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java (original)
+++ camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java Wed Jan 28 07:30:02 2009
@@ -28,7 +28,7 @@
  */
 public class SftpConsumer extends RemoteFileConsumer<ChannelSftp.LsEntry> {
 
-    public SftpConsumer(RemoteFileEndpoint endpoint, Processor processor, RemoteFileOperations operations) {
+    public SftpConsumer(RemoteFileEndpoint<ChannelSftp.LsEntry> endpoint, Processor processor, RemoteFileOperations<ChannelSftp.LsEntry> operations) {
         super(endpoint, processor, operations);
     }
 
@@ -81,7 +81,7 @@
         List<ChannelSftp.LsEntry> list = operations.listFiles(fileName);
         ChannelSftp.LsEntry file = list.get(0);
         if (file != null) {
-            RemoteFile remoteFile = asRemoteFile(directory, file);
+            RemoteFile<ChannelSftp.LsEntry> remoteFile = asRemoteFile(directory, file);
             if (isValidFile(remoteFile, false)) {
                 // matched file so add
                 fileList.add(remoteFile);

Modified: camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpRemoteFileComponent.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpRemoteFileComponent.java?rev=738386&r1=738385&r2=738386&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpRemoteFileComponent.java (original)
+++ camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpRemoteFileComponent.java Wed Jan 28 07:30:02 2009
@@ -38,7 +38,6 @@
 
     @Override
     protected GenericFileEndpoint<ChannelSftp.LsEntry> buildFileEndpoint(String uri, String remaining, Map parameters) throws Exception {
-
         // get the uri part before the options as they can be non URI valid such
         // as the expression using $ chars
         if (uri.indexOf("?") != -1) {
@@ -52,5 +51,10 @@
         SftpRemoteFileOperations operations = new SftpRemoteFileOperations();
         return new SftpRemoteFileEndpoint(uri, this, operations, config);
     }
+
+    protected void afterPropertiesSet(GenericFileEndpoint<ChannelSftp.LsEntry> endpoint) throws Exception {
+        // noop
+    }
+
 }
 

Modified: camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpRemoteFileEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpRemoteFileEndpoint.java?rev=738386&r1=738385&r2=738386&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpRemoteFileEndpoint.java (original)
+++ camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpRemoteFileEndpoint.java Wed Jan 28 07:30:02 2009
@@ -31,7 +31,7 @@
     }
 
     @Override
-    protected RemoteFileConsumer buildConsumer(Processor processor, RemoteFileOperations operations) {
+    protected RemoteFileConsumer<ChannelSftp.LsEntry> buildConsumer(Processor processor, RemoteFileOperations<ChannelSftp.LsEntry> operations) {
         return new SftpConsumer(this, processor, operations);
     }
 

Modified: camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpRemoteFileOperations.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpRemoteFileOperations.java?rev=738386&r1=738385&r2=738386&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpRemoteFileOperations.java (original)
+++ camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpRemoteFileOperations.java Wed Jan 28 07:30:02 2009
@@ -34,15 +34,17 @@
 import org.apache.camel.component.file.GenericFileExchange;
 import org.apache.camel.component.file.GenericFileOperationFailedException;
 import org.apache.camel.util.ObjectHelper;
+import org.apache.camel.util.ExchangeHelper;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import static org.apache.camel.util.ObjectHelper.isNotEmpty;
+import org.apache.camel.InvalidPayloadException;
 
 /**
  * SFTP remote file operations
  */
 public class SftpRemoteFileOperations implements RemoteFileOperations<ChannelSftp.LsEntry> {
-    private static final Log LOG = LogFactory.getLog(SftpRemoteFileOperations.class);
+    private static final transient Log LOG = LogFactory.getLog(SftpRemoteFileOperations.class);
     private ChannelSftp channel;
     private Session session;
 
@@ -237,21 +239,21 @@
         }
     }
 
-    public List listFiles() throws GenericFileOperationFailedException {
+    public List<ChannelSftp.LsEntry> listFiles() throws GenericFileOperationFailedException {
         return listFiles(".");
     }
 
-    public List listFiles(String path) throws GenericFileOperationFailedException {
+    public List<ChannelSftp.LsEntry> listFiles(String path) throws GenericFileOperationFailedException {
         if (ObjectHelper.isEmpty(path)) {
             // list current dirctory if file path is not given
             path = ".";
         }
 
         try {
-            final List list = new ArrayList();
+            final List<ChannelSftp.LsEntry> list = new ArrayList<ChannelSftp.LsEntry>();
             Vector files = channel.ls(path);
             for (Object file : files) {
-                list.add(file);
+                list.add((ChannelSftp.LsEntry)file);
             }
             return list;
         } catch (SftpException e) {
@@ -273,10 +275,13 @@
 
     public boolean storeFile(String name, GenericFileExchange<ChannelSftp.LsEntry> exchange) throws GenericFileOperationFailedException {
         try {
-            channel.put((InputStream) exchange.getIn().getBody(InputStream.class), name);
+            InputStream in = ExchangeHelper.getMandatoryInBody(exchange, InputStream.class);
+            channel.put(in, name);
             return true;
         } catch (SftpException e) {
             throw new RemoteFileOperationFailedException("Could not write the file [" + name + "]", e);
+        } catch (InvalidPayloadException e) {
+            throw new RemoteFileOperationFailedException("Could not write the file [" + name + "]", e);
         }
     }