Author: rich
Date: Thu Apr 21 08:53:42 2005
New Revision: 164075
URL: http://svn.apache.org/viewcvs?rev=164075&view=rev
Log:
This is a patch from Carlin Rogers to address
http://issues.apache.org/jira/browse/BEEHIVE-539 : cleanup old
URLRewriterService API and depricated code for 1.0 release .
tests: drt in trunk
BB: self (linux)
Removed:
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/util/DefaultURLRewriter.java
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/util/OldURLRewriterWrapper.java
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/util/TemplateHelper.java
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/util/URLRewriter.java
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/util/URLRewriterService.java
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/util/UrlTemplateDescriptor.java
Modified:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/mockportal/MockPortalTag.java
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/mockportal/MockPortalUrlRewriter.java
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/mockportal/MockPortletTag.java
Modified:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/mockportal/MockPortalTag.java
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/mockportal/MockPortalTag.java?rev=164075&r1=164074&r2=164075&view=diff
==============================================================================
---
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/mockportal/MockPortalTag.java
(original)
+++
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/mockportal/MockPortalTag.java
Thu Apr 21 08:53:42 2005
@@ -19,13 +19,7 @@
import javax.servlet.jsp.tagext.BodyTagSupport;
import javax.servlet.jsp.JspException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import java.io.PrintWriter;
import java.io.IOException;
-import java.io.StringWriter;
public class MockPortalTag extends BodyTagSupport
{
Modified:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/mockportal/MockPortalUrlRewriter.java
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/mockportal/MockPortalUrlRewriter.java?rev=164075&r1=164074&r2=164075&view=diff
==============================================================================
---
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/mockportal/MockPortalUrlRewriter.java
(original)
+++
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/mockportal/MockPortalUrlRewriter.java
Thu Apr 21 08:53:42 2005
@@ -17,79 +17,71 @@
*/
package mockportal;
-import org.apache.beehive.netui.pageflow.util.DefaultURLRewriter;
-import org.apache.beehive.netui.pageflow.scoping.ScopedServletUtils;
-import org.apache.beehive.netui.pageflow.util.URLRewriterService;
+import org.apache.beehive.netui.core.urls.MutableURI;
+import org.apache.beehive.netui.core.urls.URLType;
import org.apache.beehive.netui.pageflow.PageFlowConstants;
+import org.apache.beehive.netui.pageflow.internal.DefaultURLRewriter;
+import org.apache.beehive.netui.pageflow.internal.InternalUtils;
+import org.apache.beehive.netui.pageflow.scoping.ScopedServletUtils;
import javax.servlet.ServletContext;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
+import java.util.Iterator;
+import java.util.Map;
import java.util.StringTokenizer;
+import java.util.LinkedHashMap;
public class MockPortalUrlRewriter extends DefaultURLRewriter
{
- public String rewriteURL(ServletContext servletContext, ServletRequest
request, ServletResponse response, String url, String type)
+ public void rewriteURL( ServletContext servletContext, ServletRequest
request,
+ ServletResponse response, MutableURI url, URLType
type, boolean needsToBeSecure )
{
- if ( url.startsWith( "/" ) )
+ if ( url != null && url.getPath().startsWith( "/" ) )
{
- int queryStart = url.indexOf( '?' );
- String path = null, query = null;
-
- if ( queryStart != -1 )
- {
- path = url.substring( 0, queryStart );
- query = url.substring( queryStart + 1 );
- }
- else
- {
- path = url;
- query = "";
- }
-
+ String path = url.getPath();
+
if ( path.endsWith( PageFlowConstants.ACTION_EXTENSION ) )
{
String portletID = ( String ) request.getAttribute(
"portletID" );
if ( portletID != null )
{
- int actionStart = path.lastIndexOf( '/' );
- int actionEnd = path.lastIndexOf(
PageFlowConstants.ACTION_EXTENSION );
- String action = path.substring( actionStart + 1, actionEnd
);
- StringBuffer ret = makeActionURL( servletContext, request,
action );
- for ( StringTokenizer tok = new StringTokenizer( query,
"&" ); tok.hasMoreTokens(); )
+ //
+ // If there's a jpfScopeID param on the URL, then return
the URL untouched.
+ //
+ if ( url.getParameter( ScopedServletUtils.SCOPE_ID_PARAM )
!= null )
{
- ret.append( '&' );
- String queryItem = tok.nextToken();
- int eq = queryItem.indexOf( '=' );
- String paramName;
- if ( eq != -1 )
- {
- paramName = queryItem.substring( 0, eq );
- ret.append( rewriteName( servletContext, request,
paramName ) );
- ret.append( '=' ).append( queryItem.substring( eq
+ 1 ) );
- }
- else
- {
- paramName = queryItem;
- ret.append( rewriteName( servletContext, request,
paramName ) );
- }
-
- //
- // If there's a jpfScopeID param on the URL, then
return the URL untouched.
- //
- if ( paramName.equals(
ScopedServletUtils.SCOPE_ID_PARAM ) )
+ return;
+ }
+
+ Map params = url.getParameters();
+ url.setQuery( null );
+ makeActionURL( servletContext, request, url );
+
+ if ( params != null )
+ {
+ Map scopedParams = new LinkedHashMap(); // try to
preserve order for the test
+
+ for ( Iterator i = params.entrySet().iterator();
i.hasNext(); )
{
- return url;
+ Map.Entry entry = ( Map.Entry ) i.next();
+
+ String name = ( String ) entry.getKey();
+ String scopedName = getNamePrefix( servletContext,
request, name ) + name;
+ scopedParams.put( scopedName, entry.getValue() );
}
+
+ url.addParameters( scopedParams, true );
}
-
- return ret.toString();
+
+ return;
}
}
}
- return super.rewriteURL( servletContext, request, response, url, type
);
+
+ super.rewriteURL( servletContext, request, response, url, type,
needsToBeSecure );
}
/**
@@ -97,31 +89,34 @@
*/
public String getActionMappingName( ServletContext servletContext,
ServletRequest request, String action )
{
- return URLRewriterService.getActionMappingName( action );
+ return InternalUtils.getActionMappingName( action );
}
/**
- * Return the tag name with a scoping prefix
+ * Return a scoping prefix for the tag name
*/
- public String rewriteName( ServletContext servletContext, ServletRequest
request, String name )
+ public String getNamePrefix( ServletContext servletContext, ServletRequest
request, String name )
{
String portletID = ( String ) request.getAttribute( "portletID" );
if ( portletID != null )
{
- return ScopedServletUtils.getScopedName( name, portletID );
+ return portletID;
}
- return super.rewriteName( servletContext, request, name );
+ return "";
}
- private StringBuffer makeActionURL( ServletContext servletContext,
ServletRequest request, String action )
+ private void makeActionURL( ServletContext servletContext, ServletRequest
request, MutableURI url )
{
- StringBuffer ret = new StringBuffer( ( String ) request.getAttribute(
"repostURL" ) );
- ret.append( '?' ).append( rewriteName( servletContext, request,
"altAction" ) ).append( '=' ).append( action );
- ret.append( '&' ).append( rewriteName( servletContext, request,
"_submit") ).append( "=true" );
- return ret;
+ String path = url.getPath();
+ int actionStart = path.lastIndexOf( '/' );
+ int actionEnd = path.lastIndexOf( PageFlowConstants.ACTION_EXTENSION
);
+ String action = path.substring( actionStart + 1, actionEnd );
+ url.setPath( ( String ) request.getAttribute( "repostURL" ) );
+ url.addParameter( getNamePrefix( servletContext, request, "altAction"
) + "altAction", action, true );
+ url.addParameter( getNamePrefix( servletContext, request, "_submit")
+ "_submit", "true", true );
}
}
Modified:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/mockportal/MockPortletTag.java
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/mockportal/MockPortletTag.java?rev=164075&r1=164074&r2=164075&view=diff
==============================================================================
---
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/mockportal/MockPortletTag.java
(original)
+++
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/mockportal/MockPortletTag.java
Thu Apr 21 08:53:42 2005
@@ -17,6 +17,7 @@
*/
package mockportal;
+import org.apache.beehive.netui.core.urls.URLRewriterService;
import org.apache.beehive.netui.pageflow.PageFlowUtils;
import org.apache.beehive.netui.pageflow.FlowControllerFactory;
import org.apache.beehive.netui.pageflow.ActionResolver;
@@ -26,7 +27,6 @@
import org.apache.beehive.netui.pageflow.scoping.ScopedRequest;
import org.apache.beehive.netui.pageflow.scoping.ScopedServletUtils;
import org.apache.beehive.netui.pageflow.scoping.ScopedResponse;
-import org.apache.beehive.netui.pageflow.util.URLRewriterService;
import javax.servlet.jsp.tagext.BodyTagSupport;
import javax.servlet.jsp.JspException;