You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2013/10/29 14:00:00 UTC
svn commit: r1536697 -
/tomcat/trunk/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java
Author: markt
Date: Tue Oct 29 13:00:00 2013
New Revision: 1536697
URL: http://svn.apache.org/r1536697
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=55702
Fix loading of TLD when CATALINA_HOME contains spaces
Modified:
tomcat/trunk/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java
Modified: tomcat/trunk/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java?rev=1536697&r1=1536696&r2=1536697&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java (original)
+++ tomcat/trunk/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java Tue Oct 29 13:00:00 2013
@@ -23,6 +23,8 @@ import java.io.FileNotFoundException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.io.StringWriter;
+import java.net.URI;
+import java.net.URISyntaxException;
import java.net.URL;
import java.util.Collection;
import java.util.Enumeration;
@@ -109,24 +111,32 @@ class TagLibraryInfoImpl extends TagLibr
// resolveRelativeUri and/or getResourceAsStream don't seem to properly
// handle relative paths when dealing when home and getDocBase are set
// the following is a workaround until these problems are resolved.
- private InputStream getResourceAsStream(String uri)
+ private InputStream getResourceAsStream(String uriAsString)
throws FileNotFoundException {
// Is uri absolute?
- if (uri.startsWith("file:")) {
- return new FileInputStream(new File(uri.substring(5)));
+ if (uriAsString.startsWith("file:")) {
+ URI uri;
+ try {
+ uri = new URI(uriAsString);
+ } catch (URISyntaxException e) {
+ FileNotFoundException fnfe = new FileNotFoundException(e.getMessage());
+ fnfe.initCause(e);
+ throw fnfe;
+ }
+ return new FileInputStream(new File(uri));
} else {
try {
// see if file exists on the filesystem
- String real = ctxt.getRealPath(uri);
+ String real = ctxt.getRealPath(uriAsString);
if (real == null) {
- return ctxt.getResourceAsStream(uri);
+ return ctxt.getResourceAsStream(uriAsString);
} else {
return new FileInputStream(real);
}
} catch (FileNotFoundException ex) {
// if file not found on filesystem, get the resource through
// the context
- return ctxt.getResourceAsStream(uri);
+ return ctxt.getResourceAsStream(uriAsString);
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org