You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by te...@apache.org on 2010/06/10 19:42:58 UTC
svn commit: r953409 - in
/harmony/enhanced/java/trunk/classlib/modules/luni/src:
main/java/org/apache/harmony/luni/internal/net/www/protocol/jar/
test/api/common/org/apache/harmony/luni/tests/java/net/
test/resources/org/apache/harmony/luni/tests/java/...
Author: tellison
Date: Thu Jun 10 17:42:58 2010
New Revision: 953409
URL: http://svn.apache.org/viewvc?rev=953409&view=rev
Log:
Apply slightly modified patch for HARMONY-6537 ([classlib][luni] JarFile can not accept entry name contains special url format)
Added:
harmony/enhanced/java/trunk/classlib/modules/luni/src/test/resources/org/apache/harmony/luni/tests/java/net/url-test.jar (with props)
Modified:
harmony/enhanced/java/trunk/classlib/modules/luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/jar/JarURLConnectionImpl.java
harmony/enhanced/java/trunk/classlib/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/net/JarURLConnectionTest.java
Modified: harmony/enhanced/java/trunk/classlib/modules/luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/jar/JarURLConnectionImpl.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/jar/JarURLConnectionImpl.java?rev=953409&r1=953408&r2=953409&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/jar/JarURLConnectionImpl.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/jar/JarURLConnectionImpl.java Thu Jun 10 17:42:58 2010
@@ -28,6 +28,7 @@ import java.net.ContentHandlerFactory;
import java.net.JarURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
+import java.net.URLDecoder;
import java.security.AccessController;
import java.security.Permission;
import java.security.PrivilegedAction;
@@ -207,12 +208,14 @@ public class JarURLConnectionImpl extend
* URLConnection}.
*/
private void findJarEntry() throws IOException {
- if (getEntryName() == null) {
+ String entryName = getEntryName();
+ if (entryName == null) {
return;
}
- jarEntry = jarFile.getJarEntry(getEntryName());
+ String decodedName = URLDecoder.decode(entryName, "UTF-8"); //$NON-NLS-1$
+ jarEntry = jarFile.getJarEntry(decodedName);
if (jarEntry == null) {
- throw new FileNotFoundException(getEntryName());
+ throw new FileNotFoundException(entryName);
}
}
Modified: harmony/enhanced/java/trunk/classlib/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/net/JarURLConnectionTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/net/JarURLConnectionTest.java?rev=953409&r1=953408&r2=953409&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/net/JarURLConnectionTest.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/net/JarURLConnectionTest.java Thu Jun 10 17:42:58 2010
@@ -305,6 +305,17 @@ public class JarURLConnectionTest extend
"content/unknown", u.openConnection().getContentType());
}
+ public void test_getURLEncodedEntry() throws IOException {
+ String base = "file:resources/org/apache/harmony/luni/tests/java/net/url-test.jar";
+ URL url = new URL("jar:" + base + "!/test%20folder%20for%20url%20test/test");
+
+ if (url != null) {
+ // Force existence check
+ InputStream is = url.openStream();
+ is.close();
+ }
+ }
+
protected void setUp() {
}
Added: harmony/enhanced/java/trunk/classlib/modules/luni/src/test/resources/org/apache/harmony/luni/tests/java/net/url-test.jar
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/luni/src/test/resources/org/apache/harmony/luni/tests/java/net/url-test.jar?rev=953409&view=auto
==============================================================================
Binary file - no diff available.
Propchange: harmony/enhanced/java/trunk/classlib/modules/luni/src/test/resources/org/apache/harmony/luni/tests/java/net/url-test.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream