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;


Reply via email to