You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pluto-scm@portals.apache.org by bl...@apache.org on 2004/08/02 16:00:31 UTC

cvs commit: jakarta-pluto/container/src/java/org/apache/pluto/core/impl PortletRequestDispatcherImpl.java PortletResponseImpl.java

blumm       2004/08/02 07:00:31

  Modified:    container/src/java/org/apache/pluto/core
                        InternalPortletResponse.java
               container/src/java/org/apache/pluto/core/impl
                        PortletRequestDispatcherImpl.java
                        PortletResponseImpl.java
  Log:
  Code has been changed  to get Pluto compliant to  PLT.16.3.3:
  
  The following methods of the HttpServletResponse must return null:
  encodeRedirectURL and encodeRedirectUrl.
  
  Revision  Changes    Path
  1.3       +3 -0      jakarta-pluto/container/src/java/org/apache/pluto/core/InternalPortletResponse.java
  
  Index: InternalPortletResponse.java
  ===================================================================
  RCS file: /home/cvs/jakarta-pluto/container/src/java/org/apache/pluto/core/InternalPortletResponse.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- InternalPortletResponse.java	2 Mar 2004 14:48:59 -0000	1.2
  +++ InternalPortletResponse.java	2 Aug 2004 14:00:30 -0000	1.3
  @@ -27,5 +27,8 @@
                            javax.servlet.http.HttpServletResponse webModuleServletResponse);
   
       public PortletWindow getInternalPortletWindow();
  +    
  +    public void setIncluded(boolean included);
   
  +    public boolean isIncluded();
   }
  
  
  
  1.3       +7 -2      jakarta-pluto/container/src/java/org/apache/pluto/core/impl/PortletRequestDispatcherImpl.java
  
  Index: PortletRequestDispatcherImpl.java
  ===================================================================
  RCS file: /home/cvs/jakarta-pluto/container/src/java/org/apache/pluto/core/impl/PortletRequestDispatcherImpl.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- PortletRequestDispatcherImpl.java	2 Mar 2004 14:48:56 -0000	1.2
  +++ PortletRequestDispatcherImpl.java	2 Aug 2004 14:00:31 -0000	1.3
  @@ -24,7 +24,9 @@
   import javax.portlet.RenderRequest;
   import javax.portlet.RenderResponse;
   
  +import org.apache.pluto.core.CoreUtils;
   import org.apache.pluto.core.InternalPortletRequest;
  +import org.apache.pluto.core.InternalPortletResponse;
   
   public class PortletRequestDispatcherImpl implements PortletRequestDispatcher
   {
  @@ -39,13 +41,15 @@
       // javax.portlet.PortletRequestDispatcher implementation --------------------------------------
       public void include(RenderRequest request, RenderResponse response) throws PortletException, java.io.IOException
       {
  -        InternalPortletRequest internalRequest = (InternalPortletRequest)request;
  +        InternalPortletRequest internalRequest = CoreUtils.getInternalRequest(request);
  +        InternalPortletResponse internalResponse = CoreUtils.getInternalResponse(response);
           try
           {
               internalRequest.setIncluded(true);
  +            internalResponse.setIncluded(true);
  +
               this.requestDispatcher.include((javax.servlet.http.HttpServletRequest)request, 
                                              (javax.servlet.http.HttpServletResponse)response);
  -
           }
           catch (java.io.IOException e)
           {
  @@ -65,6 +69,7 @@
           finally
           {
               internalRequest.setIncluded(false);
  +            internalResponse.setIncluded(false);
           }
       }
       // --------------------------------------------------------------------------------------------
  
  
  
  1.6       +20 -5     jakarta-pluto/container/src/java/org/apache/pluto/core/impl/PortletResponseImpl.java
  
  Index: PortletResponseImpl.java
  ===================================================================
  RCS file: /home/cvs/jakarta-pluto/container/src/java/org/apache/pluto/core/impl/PortletResponseImpl.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- PortletResponseImpl.java	30 Jul 2004 20:29:52 -0000	1.5
  +++ PortletResponseImpl.java	2 Aug 2004 14:00:31 -0000	1.6
  @@ -47,7 +47,7 @@
        * this variable holds the servlet request of the target/portlet's
        * web module
        */
  -    private HttpServletRequest webModuleServletRequest;
  +    private javax.servlet.http.HttpServletRequest webModuleServletRequest;
   
       private boolean usingWriter;
       private boolean usingStream;
  @@ -55,9 +55,14 @@
       private ServletOutputStream wrappedWriter;
       private Map properties;
   
  +    /**
  +     * true if we are in an include call
  +     */
  +    private boolean included;
  +
       public PortletResponseImpl(PortletWindow portletWindow,
  -                               HttpServletRequest servletRequest,
  -                               HttpServletResponse servletResponse)
  +                               javax.servlet.http.HttpServletRequest servletRequest,
  +                               javax.servlet.http.HttpServletResponse servletResponse)
       {
           super(servletResponse);
   
  @@ -170,12 +175,12 @@
   
       public String encodeRedirectUrl(String url)
       {
  -        return this._getHttpServletResponse().encodeRedirectUrl(url);
  +        return included ? null : this._getHttpServletResponse().encodeRedirectUrl(url);
       }
   
       public String encodeRedirectURL(String url)
       {
  -        return this._getHttpServletResponse().encodeRedirectURL(url);
  +        return included ? null : this._getHttpServletResponse().encodeRedirectURL(url);
       }
   
       public void sendRedirect(String location) throws java.io.IOException
  @@ -287,4 +292,14 @@
       {
           return webModuleServletRequest;
       }
  +
  +   public void setIncluded(boolean included)
  +   {
  +       this.included = included;
  +   }
  +
  +   public boolean isIncluded()
  +   {
  +       return included;
  +   }
   }