[
https://issues.apache.org/jira/browse/OFBIZ-12063?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jacques Le Roux reopened OFBIZ-12063:
-------------------------------------
> Replace java.io.File::renameTo by java.nio.file.Files::move
> -----------------------------------------------------------
>
> Key: OFBIZ-12063
> URL: https://issues.apache.org/jira/browse/OFBIZ-12063
> Project: OFBiz
> Issue Type: Bug
> Components: product/catalog
> Affects Versions: Trunk
> Reporter: Jacques Le Roux
> Assignee: Jacques Le Roux
> Priority: Major
> Fix For: 18.12.01, 17.12.05
>
>
> This is a bug because the behaviour is not assured on Windows for instance.
> So it's impossible to correctly develop and test.
> As explained at
> https://docs.oracle.com/javase/8/docs/api/java/io/File.html#renameTo-java.io.File-
> {quote}
> Renames the file denoted by this abstract pathname.
> Many aspects of the behavior of this method are inherently
> platform-dependent: The rename operation might not be able to move a file
> from one filesystem to another, it might not be atomic, and it might not
> succeed if a file with the destination abstract pathname already exists. The
> return value should always be checked to make sure that the rename operation
> was successful.
> Note that the Files class defines the move method to move or rename a file in
> a platform independent manner.
> {quote}
> So the expression
> {code:java}
> file.renameTo(file1)
> {code}
> used in 5 Application Product Groovy scripts, can be easily replaced by
> {code:java}
> Path source = file.toPath()
> Files.move(source, source.resolveSibling(filenameToUse))
> {code}
> that is working on all platforms as explained at
> https://docs.oracle.com/javase/8/docs/api/java/nio/file/Files.html#move-java.nio.file.Path-java.nio.file.Path-java.nio.file.CopyOption...-
--
This message was sent by Atlassian Jira
(v8.3.4#803005)