jstrachan 02/05/28 03:28:37 Modified: jelly/src/java/org/apache/commons/jelly JellyContext.java Log: added getter and setter methods for the rootURL and currentURL so that the context can be explicitly set by an external controller that invokes Jelly Revision Changes Path 1.7 +50 -14 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.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- JellyContext.java 21 May 2002 16:53:26 -0000 1.6 +++ JellyContext.java 28 May 2002 10:28:36 -0000 1.7 @@ -81,10 +81,10 @@ public class JellyContext { /** The root URL context (where scripts are located from) */ - private URL rootContext; + private URL rootURL; /** The current URL context (where relative scripts are located from) */ - private URL currentJellyContext; + private URL currentURL; /** Tag libraries found so far */ private Map taglibs = new Hashtable(); @@ -111,28 +111,28 @@ public JellyContext() { - this.currentJellyContext = rootContext; + this.currentURL = rootURL; } - public JellyContext(URL rootContext) { - this( rootContext, rootContext ); + public JellyContext(URL rootURL) { + this( rootURL, rootURL ); } - public JellyContext(URL rootContext, URL currentJellyContext) { - this.rootContext = rootContext; - this.currentJellyContext = currentJellyContext; + public JellyContext(URL rootURL, URL currentURL) { + this.rootURL = rootURL; + this.currentURL = currentURL; } public JellyContext(JellyContext parentJellyContext) { - this.rootContext = parentJellyContext.rootContext; - this.currentJellyContext = parentJellyContext.currentJellyContext; + this.rootURL = parentJellyContext.rootURL; + this.currentURL = parentJellyContext.currentURL; this.taglibs = parentJellyContext.taglibs; this.variables.put("parentScope", parentJellyContext.variables); } - public JellyContext(JellyContext parentJellyContext, URL currentJellyContext) { + public JellyContext(JellyContext parentJellyContext, URL currentURL) { this(parentJellyContext); - this.currentJellyContext = currentJellyContext; + this.currentURL = currentURL; } /** @return the value of the given variable name */ @@ -311,7 +311,7 @@ public URL getResource(String uri) throws MalformedURLException { if (uri.startsWith("/")) { // append this uri to the context root - return createRelativeURL(rootContext, uri.substring(1)); + return createRelativeURL(rootURL, uri.substring(1)); } else { try { @@ -320,7 +320,7 @@ catch (MalformedURLException e) { // lets try find a relative resource try { - return createRelativeURL(currentJellyContext, uri); + return createRelativeURL(currentURL, uri); } catch (MalformedURLException e2) { throw e; @@ -358,6 +358,42 @@ // Properties //------------------------------------------------------------------------- + /** + * @return the current root context URL from which all absolute resource URIs + * will be relative to. For example in a web application the root URL will + * map to the web directory which contains the WEB-INF directory. + */ + public URL getRootURL() { + return rootURL; + } + + /** + * Sets the current root context URL from which all absolute resource URIs + * will be relative to. For example in a web application the root URL will + * map to the web directory which contains the WEB-INF directory. + */ + public void setRootURL(URL rootURL) { + this.rootURL = rootURL; + } + + + /** + * @return the current URL context of the current script that is executing. + * This URL context is used to deduce relative scripts when relative URIs are + * used in calls to {@link getResource()} to process relative scripts. + */ + public URL getCurrentURL() { + return currentURL; + } + + /** + * Sets the current URL context of the current script that is executing. + * This URL context is used to deduce relative scripts when relative URIs are + * used in calls to {@link getResource()} to process relative scripts. + */ + public void setCurrentURL(URL currentURL) { + this.currentURL = currentURL; + } /** * Return the class loader to be used for instantiating application objects
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>