rogerrut 2004/12/01 23:14:01 Modified: components/jetspeed/src/java/org/apache/jetspeed/rewriter WebContentRewriter.java Log: WebContentPortlet: Added state and Portlet action handling Revision Changes Path 1.3 +60 -8 jakarta-jetspeed-2/components/jetspeed/src/java/org/apache/jetspeed/rewriter/WebContentRewriter.java Index: WebContentRewriter.java =================================================================== RCS file: /home/cvs/jakarta-jetspeed-2/components/jetspeed/src/java/org/apache/jetspeed/rewriter/WebContentRewriter.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- WebContentRewriter.java 2 Dec 2004 03:13:53 -0000 1.2 +++ WebContentRewriter.java 2 Dec 2004 07:14:01 -0000 1.3 @@ -14,6 +14,8 @@ */ package org.apache.jetspeed.rewriter; +import java.net.URL; + import javax.portlet.PortletURL; /** @@ -32,6 +34,11 @@ */ private PortletURL actionURL = null; + /* + * Base URL + */ + private String baseURL = null; + /** * Setters/getters for members */ @@ -45,6 +52,16 @@ return this.actionURL; } + public void setBaseURL(String url) + { + this.baseURL = url; + } + + public String getBaseURL() + { + return this.baseURL; + } + /** rewriteURL * @param url * @param tag @@ -59,14 +76,49 @@ * TODO: no default. Use default Jetspeed JIRA to make sure that the method was called */ String modifiedURL = "http://nagoya.apache.org/jira/secure/BrowseProject.jspa?id=10492"; - if ( this.actionURL != null) - { - // create Action URL - actionURL.setParameter(this.ACTION_PARAMETER_URL, url); - - modifiedURL = actionURL.toString(); + + // Check if it's a relative or full URL + if ( url.startsWith("/") || url.indexOf("http") == -1) + { + try + { + if (baseURL != null) + { + URL full = new URL(new URL(baseURL), url); + modifiedURL = full.toString(); + } + else + { + modifiedURL = url; // leave as is + } + } + catch(Exception e) + { + modifiedURL = url; + } + } + else + { + // Apply action URL's not to images + if (url.indexOf(".gif") == -1 && url.indexOf(".jpg") == -1) + { + if ( this.actionURL != null) + { + // create Action URL + actionURL.setParameter(ACTION_PARAMETER_URL, url); + + modifiedURL = actionURL.toString(); + } + else + { + modifiedURL = url; + } + } + else + { + modifiedURL = url; + } } - return modifiedURL; }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]