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;
+ }
}