Hi

Please oblige and review the webrev at

http://cr.openjdk.java.net/~sherman/8002390/webrev/

which addresses the issue raised in  JDK-8002390

Description: While working with the new ZipFileSystem to modify the contents of a zip file, encountered some issues. The issue occurs when a file within a zip file is moved to a different location within the same zip and a FileVisitor is invoked by Files.walkFileTree the original (no longer existing file) will attempted to be visited by ZipFileSystemProvider and throw a NoSuchFileException.


This is an issue with the ZipFileSystem demonstration code, which
provides a concrete example of the java.nio.file FileSystem and associated functionality. The issue arises when the file system is created, closed, then re-opened followed by
a file move operation within the ZipFileSystem.

This arises from the fact that the internal data structures representing the ZipFileSystem, when it is initially created are slightly different to those when the file system is re-opened after a close. The ZipFileSystem.copyFile() processing flow, which is the end result of the Files.move(), needed to be amended to allow for this subtle difference. This is represented in the changes in the update() and removeFromTree() methods. Additionally, the logic for handling a rename, earlier in the processing
flow was amended, also.

relevant tests have been updated.


regards
Mark

Reply via email to