You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by di...@apache.org on 2002/12/31 02:31:14 UTC
cvs commit: jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly JellyContext.java
dion 2002/12/30 17:31:14
Modified: jelly/src/java/org/apache/commons/jelly JellyContext.java
Log:
Handle fully qualified files being passed to getResource
Revision Changes Path
1.37 +18 -9 jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/JellyContext.java
Index: JellyContext.java
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/JellyContext.java,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -r1.36 -r1.37
--- JellyContext.java 27 Nov 2002 15:39:43 -0000 1.36
+++ JellyContext.java 31 Dec 2002 01:31:14 -0000 1.37
@@ -562,9 +562,11 @@
/**
* Returns a URL for the given resource from the specified path.
* If the uri starts with "/" then the path is taken as relative to
- * the current context root. If the uri is a well formed URL then it
- * is used. Otherwise the uri is interpreted as relative to the current
- * context (the location of the current script).
+ * the current context root.
+ * If the uri is a well formed URL then it is used.
+ * If the uri is a file that exists and can be read then it is used.
+ * Otherwise the uri is interpreted as relative to the current context (the
+ * location of the current script).
*/
public URL getResource(String uri) throws MalformedURLException {
if (uri.startsWith("/")) {
@@ -576,13 +578,20 @@
return new URL(uri);
}
catch (MalformedURLException e) {
- // lets try find a relative resource
- try {
- return createRelativeURL(currentURL, uri);
- }
- catch (MalformedURLException e2) {
- throw e;
+ // try for a fully qualified file first
+ File nonRelativeFile = new File(uri);
+ if (nonRelativeFile.exists() && nonRelativeFile.canRead()) {
+ return nonRelativeFile.toURL();
}
+ else {
+ // lets try find a relative resource
+ try {
+ return createRelativeURL(currentURL, uri);
+ }
+ catch (MalformedURLException e2) {
+ throw e;
+ }
+ }
}
}
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>