< prev index next >
src/jdk.zipfs/share/classes/jdk/nio/zipfs/JarFileSystem.java
Print this page
rev 16865 : 8176709: JarFileSystem::isMultiReleaseJar is incorrect
Reviewed-by: mchung
*** 26,39 ****
--- 26,41 ----
package jdk.nio.zipfs;
import java.io.IOException;
import java.io.InputStream;
import java.lang.Runtime.Version;
+ import java.nio.file.NoSuchFileException;
import java.nio.file.Path;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
+ import java.util.Objects;
import java.util.TreeMap;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.jar.Attributes;
import java.util.jar.Manifest;
*** 84,99 ****
lookup = createVersionedLinks(version < 0 ? 0 : version);
setReadOnly();
}
}
! private boolean isMultiReleaseJar() {
try (InputStream is = newInputStream(getBytes("/META-INF/MANIFEST.MF"))) {
! return (new Manifest(is)).getMainAttributes()
! .containsKey(new Attributes.Name("Multi-Release"));
! // fixme change line above after JarFile integration to contain Attributes.Name.MULTI_RELEASE
! } catch (IOException x) {
return false;
}
}
/**
--- 86,101 ----
lookup = createVersionedLinks(version < 0 ? 0 : version);
setReadOnly();
}
}
! private boolean isMultiReleaseJar() throws IOException {
try (InputStream is = newInputStream(getBytes("/META-INF/MANIFEST.MF"))) {
! String multiRelease = new Manifest(is).getMainAttributes()
! .getValue(Attributes.Name.MULTI_RELEASE);
! return "true".equalsIgnoreCase(multiRelease);
! } catch (NoSuchFileException x) {
return false;
}
}
/**
< prev index next >