[ 
https://issues.apache.org/jira/browse/CAMEL-3595?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12988579#action_12988579
 ] 

Claus Ibsen commented on CAMEL-3595:
------------------------------------

Can you try with Camel 2.6 when its released. There has been many improvements 
and fixes since Camel 2.4.

What FTP server do you use, and which OS does it run?
The API of {{listNames}} ought to *only* return the filename, without any path 
indication. Hence a plain {{equals}} ought to be sufficient.



> FTP rename fails
> ----------------
>
>                 Key: CAMEL-3595
>                 URL: https://issues.apache.org/jira/browse/CAMEL-3595
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-ftp
>    Affects Versions: 2.4.0
>            Reporter: Mikael Jørgensen
>            Assignee: Claus Ibsen
>             Fix For: 2.7.0
>
>         Attachments: camel-ftp-patch.txt
>
>
> (This is related to the user group discussion 
> http://camel.465427.n5.nabble.com/Problem-renaming-existing-file-in-FTP-td3307670.html)
> When using a tmpPrefix when uploading, the rename from the tmp-file to the 
> destination file fails, if the destination file is already present, even 
> though the option fileExist=Override is used.
> We have the problem on just a few destination servers which all seems to be 
> windows machines(?).
> I have fetched the 2.4 branch of camel-ftp to find out why it does not work, 
> since the unit test you refer to in your previous post do excercise the 
> problem.
> It appears that the cause of the problem is, that the 
> FtpOperations.existsFile fails to return true, which then causes the code not 
> to enter the part where it deletes the exisiting file.
> The reason for the FtpOperations.existsFile to return false, is, that the 
> list of existing files has the directoryname prepended, e.g. I'm trying to 
> upload Test.REN to folder test/rename, and in the code 
> "if (existing.equals(onlyName))" 
> existing=test/rename\Test.REN and onlyName=Test.REN - which returns false - 
> but causes the later rename to fail as the target folder did contain the 
> Test.REN. 
> My guess is that it is server dependent whether the returned list of names in 
> the directory include the directory name or not?
> To fix this I have added the following line of code before the if-statement
> existing = FileUtil.stripPath(FileUtil.normalizePath(existing));
> So it will strip the path part of the file name before comparing it to 
> onlyName.

-- 
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