< 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 >