You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2002/11/07 18:24:37 UTC
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader WebappClassLoader.java
remm 2002/11/07 09:24:37
Modified: catalina/src/share/org/apache/catalina/loader
WebappClassLoader.java
Log:
- Experimental change: add getURI method to properly encode codebase URLs.
Revision Changes Path
1.11 +25 -8 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java
Index: WebappClassLoader.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- WebappClassLoader.java 16 Oct 2002 16:08:29 -0000 1.10
+++ WebappClassLoader.java 7 Nov 2002 17:24:37 -0000 1.11
@@ -945,7 +945,7 @@
// Note : Not getting an exception here means the resource was
// found
try {
- result.addElement(getURL(new File(files[i], name)));
+ result.addElement(getURI(new File(files[i], name)));
} catch (MalformedURLException e) {
// Ignore
}
@@ -958,7 +958,7 @@
JarEntry jarEntry = jarFiles[i].getJarEntry(name);
if (jarEntry != null) {
try {
- String jarFakeUrl = getURL(jarRealFiles[i]).toString();
+ String jarFakeUrl = getURI(jarRealFiles[i]).toString();
jarFakeUrl = "jar:" + jarFakeUrl + "!/" + name;
result.addElement(new URL(jarFakeUrl));
} catch (MalformedURLException e) {
@@ -1563,7 +1563,7 @@
private ResourceEntry findResourceInternal(File file, String path){
ResourceEntry entry = new ResourceEntry();
try {
- entry.source = getURL(new File(file, path));
+ entry.source = getURI(new File(file, path));
entry.codeBase = entry.source;
} catch (MalformedURLException e) {
return null;
@@ -1676,7 +1676,7 @@
entry = new ResourceEntry();
try {
- entry.codeBase = getURL(jarRealFiles[i]);
+ entry.codeBase = getURI(jarRealFiles[i]);
String jarFakeUrl = entry.codeBase.toString();
jarFakeUrl = "jar:" + jarFakeUrl + "!/" + path;
entry.source = new URL(jarFakeUrl);
@@ -1939,6 +1939,23 @@
// Ignore
}
return realFile.toURL();
+
+ }
+
+
+ /**
+ * Get URL.
+ */
+ protected URL getURI(File file)
+ throws MalformedURLException {
+
+ File realFile = file;
+ try {
+ realFile = realFile.getCanonicalFile();
+ } catch (IOException e) {
+ // Ignore
+ }
+ return realFile.toURI().toURL();
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>