You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2003/03/31 23:46:44 UTC
cvs commit: jakarta-tapestry/framework/src/org/apache/tapestry/pageload PageLoader.java
hlship 2003/03/31 13:46:44
Modified: framework/src/org/apache/tapestry/pageload PageLoader.java
Log:
Handle private assets with absolute paths properly.
Revision Changes Path
1.8 +16 -2 jakarta-tapestry/framework/src/org/apache/tapestry/pageload/PageLoader.java
Index: PageLoader.java
===================================================================
RCS file: /home/cvs/jakarta-tapestry/framework/src/org/apache/tapestry/pageload/PageLoader.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- PageLoader.java 26 Mar 2003 19:53:22 -0000 1.7
+++ PageLoader.java 31 Mar 2003 21:46:44 -0000 1.8
@@ -901,13 +901,27 @@
return new ExternalAsset(path, location);
if (type == AssetType.PRIVATE)
+ {
+ IResourceLocation baseLocation = specificationLocation;
+
+ // Fudge a special case for private assets with complete paths. The specificationLocation
+ // can't be used because it is often a ContextResourceLocation,
+ // not a ClasspathResourceLocation.
+
+ if (path.startsWith("/"))
+ {
+ baseLocation = new ClasspathResourceLocation(_resolver, "/");
+ path = path.substring(1);
+ }
+
return new PrivateAsset(
(ClasspathResourceLocation) findAsset(assetName,
component,
- specificationLocation,
+ baseLocation,
path,
location),
location);
+ }
return new ContextAsset(
(ContextResourceLocation) findAsset(assetName,