[ 
https://issues.apache.org/jira/browse/CAMEL-3595?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mikael Jørgensen updated CAMEL-3595:
------------------------------------

    Attachment:     (was: camel-ftp-patch.txt)

> 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