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 2010/09/19 09:10:02 UTC
svn commit: r998603 - in
/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote:
FtpOperations.java SftpOperations.java
Author: davsclaus
Date: Sun Sep 19 07:10:02 2010
New Revision: 998603
URL: http://svn.apache.org/viewvc?rev=998603&view=rev
Log:
CAMEL-3134: Delete in progress file if failed to completely download from ftp server to a local work dir.
Modified:
camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpOperations.java
camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpOperations.java
Modified: camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpOperations.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpOperations.java?rev=998603&r1=998602&r2=998603&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpOperations.java (original)
+++ camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpOperations.java Sun Sep 19 07:10:02 2010
@@ -385,6 +385,16 @@ public class FtpOperations implements Re
changeCurrentDirectory(currentDir);
} catch (IOException e) {
+ if (log.isTraceEnabled()) {
+ log.trace("Error occurred during retrieving file: " + name + " to local directory. Deleting local work file: " + temp);
+ }
+ // failed to retrieve the file so we need to close streams and delete in progress file
+ // must close stream before deleting file
+ IOHelper.close(os, "retrieve: " + name, log);
+ boolean deleted = FileUtil.deleteFile(temp);
+ if (!deleted) {
+ log.warn("Error occurred during retrieving file: " + name + " to local directory. Cannot delete local work file: " + temp);
+ }
throw new GenericFileOperationFailedException(client.getReplyCode(), client.getReplyString(), e.getMessage(), e);
} finally {
// need to close the stream before rename it
Modified: camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpOperations.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpOperations.java?rev=998603&r1=998602&r2=998603&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpOperations.java (original)
+++ camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpOperations.java Sun Sep 19 07:10:02 2010
@@ -456,6 +456,16 @@ public class SftpOperations implements R
file.setBody(local);
channel.get(name, os);
} catch (SftpException e) {
+ if (LOG.isTraceEnabled()) {
+ LOG.trace("Error occurred during retrieving file: " + name + " to local directory. Deleting local work file: " + temp);
+ }
+ // failed to retrieve the file so we need to close streams and delete in progress file
+ // must close stream before deleting file
+ IOHelper.close(os, "retrieve: " + name, LOG);
+ boolean deleted = FileUtil.deleteFile(temp);
+ if (!deleted) {
+ LOG.warn("Error occurred during retrieving file: " + name + " to local directory. Cannot delete local work file: " + temp);
+ }
throw new GenericFileOperationFailedException("Cannot retrieve file: " + name, e);
} finally {
IOHelper.close(os, "retrieve: " + name, LOG);