You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by at...@apache.org on 2005/02/04 18:34:26 UTC

cvs commit: jakarta-jetspeed-2/portals-bridges/struts/src/java/org/apache/portals/bridges/struts StrutsPortlet.java PortletServletResponseWrapper.java

ate         2005/02/04 09:34:26

  Modified:    portals-bridges/struts/src/java/org/apache/portals/bridges/struts
                        StrutsPortlet.java
                        PortletServletResponseWrapper.java
  Log:
  Fix incorrectly setting renderParameters before doing a redirect (Spec violation).
  Also, improved detection of real redirections to another servlet root relative context without the need to specify a full qualified url.
  
  Revision  Changes    Path
  1.12      +7 -6      jakarta-jetspeed-2/portals-bridges/struts/src/java/org/apache/portals/bridges/struts/StrutsPortlet.java
  
  Index: StrutsPortlet.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed-2/portals-bridges/struts/src/java/org/apache/portals/bridges/struts/StrutsPortlet.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- StrutsPortlet.java	28 Jan 2005 00:09:23 -0000	1.11
  +++ StrutsPortlet.java	4 Feb 2005 17:34:26 -0000	1.12
  @@ -333,7 +333,8 @@
                   try
                   {
                       rd.include(new PortletServletRequestWrapper(servletContext, req), res);
  -                } catch (ServletException e)
  +                } 
  +                catch (ServletException e)
                   {
                       if (log.isErrorEnabled())
                           log.error("Include exception", e);
  @@ -369,10 +370,6 @@
                       }
                       else
                       {
  -                        strutsPortletConfig.getRenderContextAttributes().saveAttributes(req);
  -                        ((ActionResponse) response).setRenderParameter(
  -                                StrutsPortletURL.KEEP_RENDER_ATTRIBUTES, "1");
  -
                           if ((renderURL = (String) req
                                   .getAttribute(StrutsPortlet.REDIRECT_URL)) != null)
                           {
  @@ -382,6 +379,10 @@
                           } 
                           else
                           {
  +                            strutsPortletConfig.getRenderContextAttributes().saveAttributes(req);
  +                            ((ActionResponse) response).setRenderParameter(
  +                                    StrutsPortletURL.KEEP_RENDER_ATTRIBUTES, "1");
  +
                               if ((renderURL = (String) req
                                       .getAttribute(StrutsPortlet.REDIRECT_PAGE_URL)) != null)
                               {
  
  
  
  1.3       +11 -2     jakarta-jetspeed-2/portals-bridges/struts/src/java/org/apache/portals/bridges/struts/PortletServletResponseWrapper.java
  
  Index: PortletServletResponseWrapper.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed-2/portals-bridges/struts/src/java/org/apache/portals/bridges/struts/PortletServletResponseWrapper.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- PortletServletResponseWrapper.java	20 Jan 2005 01:41:14 -0000	1.2
  +++ PortletServletResponseWrapper.java	4 Feb 2005 17:34:26 -0000	1.3
  @@ -97,13 +97,22 @@
           else
           {
               String contextPath = request.getContextPath();
  -            if (path.startsWith(contextPath))
  +
  +            // context targeted url captured as Struts Page URL
  +            if (path.startsWith(contextPath+"/"))
               {
                   request.setAttribute(StrutsPortlet.REDIRECT_PAGE_URL, path
                           .substring(contextPath.length()));
               }
  +            // servlet container root url relative url NOT targetted at the Struts App
  +            else if ( path.startsWith("/"))
  +            {
  +                request.setAttribute(StrutsPortlet.REDIRECT_URL, path);
  +            }
  +            // context relative url captured as Struts Page URL
               else
               {
  +                // TODO: I think this should be translated as relative to current Struts PAGE_URL
                   request.setAttribute(StrutsPortlet.REDIRECT_PAGE_URL, path);
               }
           }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jetspeed-dev-help@jakarta.apache.org