AbstractFileResolvingResource uses extractArchiveURL for last-modified check

Issue: SPR-13393
(cherry picked from commit 302a069)
This commit is contained in:
Juergen Hoeller
2015-10-13 20:09:21 +02:00
parent 8fbba84aca
commit 1c3a668370
3 changed files with 67 additions and 17 deletions

View File

@@ -35,7 +35,7 @@ public class ResourceUtilsTests {
assertTrue(ResourceUtils.isJarURL(new URL("jar:file:myjar.jar!/mypath")));
assertTrue(ResourceUtils.isJarURL(new URL(null, "zip:file:myjar.jar!/mypath", new DummyURLStreamHandler())));
assertTrue(ResourceUtils.isJarURL(new URL(null, "wsjar:file:myjar.jar!/mypath", new DummyURLStreamHandler())));
assertTrue(ResourceUtils.isJarURL(new URL(null, "war:jar:file:myjar.jar!/mypath", new DummyURLStreamHandler())));
assertTrue(ResourceUtils.isJarURL(new URL(null, "jar:war:file:mywar.war*/myjar.jar!/mypath", new DummyURLStreamHandler())));
assertFalse(ResourceUtils.isJarURL(new URL("file:myjar.jar")));
assertFalse(ResourceUtils.isJarURL(new URL("http:myserver/myjar.jar")));
}
@@ -50,19 +50,40 @@ public class ResourceUtilsTests {
ResourceUtils.extractJarFileURL(new URL(null, "zip:file:myjar.jar!/mypath", new DummyURLStreamHandler())));
assertEquals(new URL("file:myjar.jar"),
ResourceUtils.extractJarFileURL(new URL(null, "wsjar:file:myjar.jar!/mypath", new DummyURLStreamHandler())));
assertEquals(new URL("file:myjar.jar"),
ResourceUtils.extractJarFileURL(new URL(null, "war:jar:file:myjar.jar!/mypath", new DummyURLStreamHandler())));
assertEquals(new URL("file:myjar.jar"),
ResourceUtils.extractJarFileURL(new URL("file:myjar.jar")));
assertEquals(new URL("file:myjar.jar"),
ResourceUtils.extractJarFileURL(new URL("jar:file:myjar.jar!/")));
assertEquals(new URL("file:myjar.jar"),
ResourceUtils.extractJarFileURL(new URL(null, "zip:file:myjar.jar!/", new DummyURLStreamHandler())));
assertEquals(new URL("file:myjar.jar"),
ResourceUtils.extractJarFileURL(new URL(null, "wsjar:file:myjar.jar!/", new DummyURLStreamHandler())));
}
@Test
public void extractArchiveURL() throws Exception {
assertEquals(new URL("file:myjar.jar"),
ResourceUtils.extractJarFileURL(new URL(null, "war:jar:file:myjar.jar!/", new DummyURLStreamHandler())));
ResourceUtils.extractArchiveURL(new URL("jar:file:myjar.jar!/mypath")));
assertEquals(new URL("file:/myjar.jar"),
ResourceUtils.extractArchiveURL(new URL(null, "jar:myjar.jar!/mypath", new DummyURLStreamHandler())));
assertEquals(new URL("file:myjar.jar"),
ResourceUtils.extractJarFileURL(new URL("file:myjar.jar")));
ResourceUtils.extractArchiveURL(new URL(null, "zip:file:myjar.jar!/mypath", new DummyURLStreamHandler())));
assertEquals(new URL("file:myjar.jar"),
ResourceUtils.extractArchiveURL(new URL(null, "wsjar:file:myjar.jar!/mypath", new DummyURLStreamHandler())));
assertEquals(new URL("file:mywar.war"),
ResourceUtils.extractArchiveURL(new URL(null, "jar:war:file:mywar.war*/myjar.jar!/mypath", new DummyURLStreamHandler())));
assertEquals(new URL("file:myjar.jar"),
ResourceUtils.extractArchiveURL(new URL("file:myjar.jar")));
assertEquals(new URL("file:myjar.jar"),
ResourceUtils.extractArchiveURL(new URL("jar:file:myjar.jar!/")));
assertEquals(new URL("file:myjar.jar"),
ResourceUtils.extractArchiveURL(new URL(null, "zip:file:myjar.jar!/", new DummyURLStreamHandler())));
assertEquals(new URL("file:myjar.jar"),
ResourceUtils.extractArchiveURL(new URL(null, "wsjar:file:myjar.jar!/", new DummyURLStreamHandler())));
assertEquals(new URL("file:mywar.war"),
ResourceUtils.extractArchiveURL(new URL(null, "jar:war:file:mywar.war*/myjar.jar!/", new DummyURLStreamHandler())));
}