[ 
https://issues.apache.org/activemq/browse/CAMEL-3144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=61982#action_61982
 ] 

Raphaël Luta commented on CAMEL-3144:
-------------------------------------

You're right, the patch is buggy. I should have tested it with more use cases 
than my own before attaching, sorry about this.

Actually, I'm not even sure it is the correct fix because other components may 
depend on the FileUtil.onlyPath("/") == null behavior for correct operation.
I'm unsure of the expected semantics of the operation in root directory on a 
file system rather than remote file system.

An alternate fix with less potential side effects would be to directly fix 
FtpOperations to better handle a return null from onlyPath(), something like:

--- FtpOperations.java  2010-09-22 09:16:25.000000000 +0200
+++ FtpOperations.java.patched  2010-09-22 09:18:51.000000000 +0200
@@ -381,7 +381,7 @@
         // check whether a file already exists
         String directory = FileUtil.onlyPath(name);
         if (directory == null) {
-            return false;
+           directory = "/";
         }
 
         String onlyName = FileUtil.stripPath(name);


> camel-ftp: fileExist=Fail not honored when producer works in FTP root path
> --------------------------------------------------------------------------
>
>                 Key: CAMEL-3144
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-3144
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-core, camel-ftp
>    Affects Versions: 2.4.0
>         Environment: Camel on Linux; IIS FTP server 
>            Reporter: Raphaël Luta
>            Assignee: Hadrian Zbarcea
>             Fix For: 2.5.0
>
>         Attachments: FileUtil.patch
>
>
> when using a route with ftp producer such as :
>  <to uri="ftp://u...@host/?fileExist=Fail&fileName=test&password=mypass"; />
> The route will not correctly fail if the fileName already exists.
> It will work in any sub-directory:
>  <to uri="ftp://u...@host/mydir?fileExist=Fail&fileName=test&password=mypass"; 
> />
> The root cause of the bug is an incorrect test in 
> org.apache.camel.util.FileUtil.onlyPath() in component camel-core.
> This method returns null when the parameter string is "/". It should return 
> "/".
> The attached patch fixes the issue.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to