RFR: 8271079: JavaFileObject#toUri and multi-release jars [v2]

Alan Bateman alanb at openjdk.java.net
Thu Dec 9 18:40:20 UTC 2021

On Thu, 9 Dec 2021 07:58:33 GMT, Christian Stein <cstein at openjdk.org> wrote:

>> Prior to this PR, `toUri()` of class `ZipPath` in module `jdk.zipfs` and class `PathFileObject` in module `jdk.compiler` were always composed by base path names. Even for versioned entries of a multi-release JAR file.
>> Now, a `URI` for an entry is composed of its real path names using an existing lookup function in the associated zip file system object.
>> This PR also removes a superseded work around for [JDK-8134451](https://bugs.openjdk.java.net/browse/JDK-8134451).
>> Fixes https://bugs.openjdk.java.net/browse/JDK-8271079
> Christian Stein has updated the pull request incrementally with two additional commits since the last revision:
>  - Clean up reproducer test case
>  - Keep helper in ZipFileSystem simple

src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipPath.java line 211:

> 209: 
> 210:     private String getRealPath(byte[] resolvedPath) {
> 211:         byte[] path = zfs.lookupPath(resolvedPath);

Can getRealPath be changed to be no-arg method that calls getResolvedPath and then does the lookup. I think that would be a clearer than assuming the argument is a resolved path.


PR: https://git.openjdk.java.net/jdk/pull/6768

More information about the compiler-dev mailing list