Support reading entries without trailing '/'

Update RandomAccessJarFile entries when the name is specified without
a trailing '/'
pull/7/head
Phillip Webb 12 years ago
parent f00eed4b07
commit 1dbafae748

@ -175,7 +175,11 @@ public class RandomAccessJarFile extends JarFile {
@Override @Override
public ZipEntry getEntry(String name) { public ZipEntry getEntry(String name) {
return this.entries.get(name); JarEntry entry = this.entries.get(name);
if (entry == null && name != null && !name.endsWith("/")) {
entry = this.entries.get(name + "/");
}
return entry;
} }
@Override @Override

@ -52,7 +52,7 @@ import org.springframework.bootstrap.launcher.data.RandomAccessDataFile;
/** /**
* Tests for {@link RandomAccessJarFile}. * Tests for {@link RandomAccessJarFile}.
* *
* @author Phillip Webb * @author Phillip Webb
*/ */
public class RandomAccessJarFileTest { public class RandomAccessJarFileTest {
@ -300,6 +300,13 @@ public class RandomAccessJarFileTest {
assertThat(inputStream.read(), equalTo(-1)); assertThat(inputStream.read(), equalTo(-1));
} }
@Test
public void getDirectoryInputStreamWithoutSlash() throws Exception {
InputStream inputStream = jarFile.getInputStream(jarFile.getEntry("d"));
assertThat(inputStream, notNullValue());
assertThat(inputStream.read(), equalTo(-1));
}
@Test @Test
public void getFilteredJarFile() throws Exception { public void getFilteredJarFile() throws Exception {
RandomAccessJarFile filteredJarFile = jarFile RandomAccessJarFile filteredJarFile = jarFile

Loading…
Cancel
Save