Author: julien(a)jboss.com
Date: 2008-02-09 09:31:49 -0500 (Sat, 09 Feb 2008)
New Revision: 9899
Added:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/PortalRenderResponse.java
Modified:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/ControllerFilter.java
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/JspWriterResponse.java
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PageParamTag.java
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PageTag.java
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortalBodyTagSupport.java
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortalSimpleTagSupport.java
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletMarkupTag.java
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletTag.java
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletURLTag.java
Log:
rename PortalResponse to PortalRenderResponse
Modified:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/ControllerFilter.java
===================================================================
---
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/ControllerFilter.java 2008-02-09
14:21:49 UTC (rev 9898)
+++
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/ControllerFilter.java 2008-02-09
14:31:49 UTC (rev 9899)
@@ -22,7 +22,7 @@
******************************************************************************/
package org.jboss.portal.portlet.test.jsp;
-import org.jboss.portal.portlet.test.jsp.PortalResponse;
+import org.jboss.portal.portlet.test.jsp.PortalRenderResponse;
import org.jboss.portal.portlet.test.controller.PortletURLRenderer;
import org.jboss.portal.portlet.PortletInvoker;
import org.jboss.portal.portlet.PortletInvokerException;
@@ -207,10 +207,10 @@
}
//
- PortalResponse portalResponse = new PortalResponse(resp, context, pageState);
+ PortalRenderResponse renderResponse = new PortalRenderResponse(resp, context,
pageState);
//
- chain.doFilter(req, portalResponse);
+ chain.doFilter(req, renderResponse);
}
public void destroy()
@@ -218,7 +218,7 @@
this.config = null;
}
- protected void render(HttpServletRequest req, PortalResponse resp) throws
ServletException, IOException, ClassNotFoundException
+ protected void render(HttpServletRequest req, PortalRenderResponse resp) throws
ServletException, IOException, ClassNotFoundException
{
//
Copied:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/PortalRenderResponse.java
(from rev 9898,
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/PortalResponse.java)
===================================================================
---
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/PortalRenderResponse.java
(rev 0)
+++
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/PortalRenderResponse.java 2008-02-09
14:31:49 UTC (rev 9899)
@@ -0,0 +1,203 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2008, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as *
+ * published by the Free Software Foundation; either version 2.1 of *
+ * the License, or (at your option) any later version. *
+ * *
+ * This software is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with this software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.portlet.test.jsp;
+
+import org.jboss.portal.portlet.test.controller.TestInstanceContext;
+import org.jboss.portal.portlet.test.controller.TestPortalContext;
+import org.jboss.portal.portlet.controller.state.PageNavigationalState;
+import org.jboss.portal.portlet.controller.state.WindowNavigationalState;
+import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
+import org.jboss.portal.portlet.invocation.RenderInvocation;
+import org.jboss.portal.portlet.PortletInvokerException;
+import org.jboss.portal.portlet.Portlet;
+import org.jboss.portal.portlet.StateString;
+import org.jboss.portal.portlet.impl.spi.AbstractClientContext;
+import org.jboss.portal.portlet.impl.spi.AbstractServerContext;
+import org.jboss.portal.portlet.impl.spi.AbstractUserContext;
+import org.jboss.portal.portlet.impl.spi.AbstractWindowContext;
+import org.jboss.portal.portlet.impl.spi.AbstractSecurityContext;
+import org.jboss.portal.portlet.spi.PortletInvocationContext;
+import org.jboss.portal.WindowState;
+import org.jboss.portal.Mode;
+import org.jboss.portal.common.util.ParameterMap;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpServletResponseWrapper;
+import javax.xml.namespace.QName;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+public class PortalRenderResponse extends HttpServletResponseWrapper
+{
+
+ /** . */
+ private final PagePortletControllerContext portletControllerContext;
+
+ /** . */
+ private PageNavigationalState pageState;
+
+ /** . */
+ private int count = 0;
+
+ /** Wether or not the page state can be modified. */
+ private boolean pageStateModifiable;
+
+ public PortalRenderResponse(
+ HttpServletResponse response,
+ PagePortletControllerContext portletControllerContext,
+ PageNavigationalState pageState)
+ {
+ super(response);
+
+ //
+ this.portletControllerContext = portletControllerContext;
+ this.pageState = pageState;
+ this.pageStateModifiable = true;
+ }
+
+ /**
+ * The page state for the rendering.
+ *
+ * @return the page state
+ */
+ public PageNavigationalState getPageState()
+ {
+ return pageState;
+ }
+
+ public PortletInvocationResponse render(Portlet portlet, String windowId) throws
PortletInvokerException
+ {
+ WindowNavigationalState windowNS = null;
+ if (pageState != null)
+ {
+ windowNS = pageState.getWindowNavigationalState(windowId);
+ }
+
+ //
+ ParameterMap publicNS = null;
+ if (pageState != null)
+ {
+ publicNS = pageState.getPublicNavigationalState(windowId);
+ }
+
+ //
+ Mode mode = Mode.VIEW;
+ WindowState windowState = WindowState.NORMAL;
+ StateString portletNS = null;
+
+ //
+ if (windowNS != null)
+ {
+ if (windowNS.getMode() != null)
+ {
+ mode = windowNS.getMode();
+ }
+ if (windowNS.getWindowState() != null)
+ {
+ windowState = windowNS.getWindowState();
+ }
+ if (windowNS.getPortletNavigationalState() != null)
+ {
+ portletNS = windowNS.getPortletNavigationalState();
+ }
+ }
+
+ //
+ PortletInvocationContext renderContext =
portletControllerContext.createPortletInvocationContext(windowId, pageState);
+ RenderInvocation render = new RenderInvocation(renderContext);
+ render.setClientContext(new
AbstractClientContext(portletControllerContext.getClientRequest()));
+ render.setServerContext(new
AbstractServerContext(portletControllerContext.getClientRequest(),
portletControllerContext.getClientResponse()));
+ render.setInstanceContext(new
TestInstanceContext(portletControllerContext.getClientRequest(), portlet.getContext(),
false));
+ render.setUserContext(new
AbstractUserContext(portletControllerContext.getClientRequest()));
+ render.setWindowContext(new AbstractWindowContext(windowId));
+ render.setPortalContext(new TestPortalContext());
+ render.setSecurityContext(new
AbstractSecurityContext(portletControllerContext.getClientRequest()));
+ render.setTarget(portlet.getContext());
+ render.setMode(mode);
+ render.setWindowState(windowState);
+ render.setNavigationalState(portletNS);
+ render.setPublicNavigationalState(publicNS);
+
+ //
+ pageStateModifiable = false;
+
+ //
+ return portletControllerContext.invoke(render);
+ }
+
+ public boolean isPageStateModifiable()
+ {
+ return pageStateModifiable;
+ }
+
+ public String getPageParameter(QName name)
+ {
+ return pageState != null ? pageState.getPublicNavigationalState(name)[0] : null;
+ }
+
+ public void setPageParameter(QName name, String value)
+ {
+ if (pageStateModifiable)
+ {
+ if (pageState == null)
+ {
+ pageState =
portletControllerContext.getStateControllerContext().createPageState(true);
+ }
+ pageState.setPublicNavigationalState(name, new String[]{value});
+ }
+ else
+ {
+ throw new IllegalStateException("Page state cannot be modified");
+ }
+ }
+
+ public String getMaximizedWindowId()
+ {
+ if (pageState != null)
+ {
+ for (String windowId : pageState.getWindowIds())
+ {
+ WindowNavigationalState windowNS =
pageState.getWindowNavigationalState(windowId);
+ if (WindowState.MAXIMIZED.equals(windowNS.getWindowState()))
+ {
+ return windowId;
+ }
+ }
+ }
+
+ //
+ return null;
+ }
+
+ public PagePortletControllerContext getPortletControllerContext()
+ {
+ return portletControllerContext;
+ }
+
+ public String nextId()
+ {
+ return "" + count++;
+ }
+}
Modified:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/JspWriterResponse.java
===================================================================
---
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/JspWriterResponse.java 2008-02-09
14:21:49 UTC (rev 9898)
+++
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/JspWriterResponse.java 2008-02-09
14:31:49 UTC (rev 9899)
@@ -22,7 +22,7 @@
******************************************************************************/
package org.jboss.portal.portlet.test.jsp.taglib;
-import org.jboss.portal.portlet.test.jsp.PortalResponse;
+import org.jboss.portal.portlet.test.jsp.PortalRenderResponse;
import javax.servlet.http.HttpServletResponseWrapper;
import javax.servlet.jsp.JspWriter;
@@ -43,9 +43,9 @@
/** . */
private final PrintWriter writer;
- public JspWriterResponse(PortalResponse portalResponse, JspWriter delegate)
+ public JspWriterResponse(PortalRenderResponse renderResponse, JspWriter delegate)
{
- super(portalResponse);
+ super(renderResponse);
//
this.delegate = delegate;
Modified:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PageParamTag.java
===================================================================
---
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PageParamTag.java 2008-02-09
14:21:49 UTC (rev 9898)
+++
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PageParamTag.java 2008-02-09
14:31:49 UTC (rev 9899)
@@ -22,7 +22,7 @@
******************************************************************************/
package org.jboss.portal.portlet.test.jsp.taglib;
-import org.jboss.portal.portlet.test.jsp.PortalResponse;
+import org.jboss.portal.portlet.test.jsp.PortalRenderResponse;
import javax.servlet.jsp.JspException;
import javax.xml.namespace.QName;
@@ -89,17 +89,17 @@
public void internalDoTag() throws JspException, IOException
{
- PortalResponse response = getPortalResponse();
+ PortalRenderResponse renderResponse = getPortalResponse();
//
- if (response.isPageStateModifiable())
+ if (renderResponse.isPageStateModifiable())
{
QName name = new QName(namespaceURI, localName);
//
- if (!"true".equals(frozen) || response.getPageParameter(name) ==
null)
+ if (!"true".equals(frozen) || renderResponse.getPageParameter(name) ==
null)
{
- response.setPageParameter(name, value);
+ renderResponse.setPageParameter(name, value);
}
}
}
Modified:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PageTag.java
===================================================================
---
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PageTag.java 2008-02-09
14:21:49 UTC (rev 9898)
+++
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PageTag.java 2008-02-09
14:31:49 UTC (rev 9899)
@@ -22,7 +22,7 @@
******************************************************************************/
package org.jboss.portal.portlet.test.jsp.taglib;
-import org.jboss.portal.portlet.test.jsp.PortalResponse;
+import org.jboss.portal.portlet.test.jsp.PortalRenderResponse;
import javax.servlet.jsp.JspException;
import javax.xml.namespace.QName;
@@ -57,13 +57,13 @@
{
if (status == Status.INACTIVE)
{
- PortalResponse response = getPortalResponse();
+ PortalRenderResponse renderResponse = getPortalResponse();
//
status = Status.ACTIVE;
//
- maximizedId = response.getMaximizedWindowId();
+ maximizedId = renderResponse.getMaximizedWindowId();
//
if (maximizedId != null)
Modified:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortalBodyTagSupport.java
===================================================================
---
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortalBodyTagSupport.java 2008-02-09
14:21:49 UTC (rev 9898)
+++
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortalBodyTagSupport.java 2008-02-09
14:31:49 UTC (rev 9899)
@@ -22,7 +22,7 @@
******************************************************************************/
package org.jboss.portal.portlet.test.jsp.taglib;
-import org.jboss.portal.portlet.test.jsp.PortalResponse;
+import org.jboss.portal.portlet.test.jsp.PortalRenderResponse;
import javax.servlet.jsp.tagext.BodyTagSupport;
import javax.servlet.jsp.JspException;
@@ -33,9 +33,9 @@
*/
public class PortalBodyTagSupport extends BodyTagSupport
{
- protected final PortalResponse getPortalResponse()
+ protected final PortalRenderResponse getPortalResponse()
{
- return (PortalResponse)pageContext.getResponse();
+ return (PortalRenderResponse)pageContext.getResponse();
}
public int doStartTag() throws JspException
Modified:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortalSimpleTagSupport.java
===================================================================
---
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortalSimpleTagSupport.java 2008-02-09
14:21:49 UTC (rev 9898)
+++
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortalSimpleTagSupport.java 2008-02-09
14:31:49 UTC (rev 9899)
@@ -22,7 +22,7 @@
******************************************************************************/
package org.jboss.portal.portlet.test.jsp.taglib;
-import org.jboss.portal.portlet.test.jsp.PortalResponse;
+import org.jboss.portal.portlet.test.jsp.PortalRenderResponse;
import javax.servlet.jsp.tagext.SimpleTagSupport;
import javax.servlet.jsp.PageContext;
@@ -35,10 +35,10 @@
*/
public class PortalSimpleTagSupport extends SimpleTagSupport
{
- protected final PortalResponse getPortalResponse()
+ protected final PortalRenderResponse getPortalResponse()
{
PageContext pageContext = (PageContext)getJspContext();
- return (PortalResponse)pageContext.getResponse();
+ return (PortalRenderResponse)pageContext.getResponse();
}
public void doTag() throws JspException, IOException
Modified:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletMarkupTag.java
===================================================================
---
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletMarkupTag.java 2008-02-09
14:21:49 UTC (rev 9898)
+++
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletMarkupTag.java 2008-02-09
14:31:49 UTC (rev 9899)
@@ -22,7 +22,7 @@
******************************************************************************/
package org.jboss.portal.portlet.test.jsp.taglib;
-import org.jboss.portal.portlet.test.jsp.PortalResponse;
+import org.jboss.portal.portlet.test.jsp.PortalRenderResponse;
import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
import org.jboss.portal.portlet.invocation.response.FragmentResponse;
import org.jboss.portal.portlet.controller.state.WindowNavigationalState;
@@ -41,7 +41,7 @@
{
public void internalDoTag() throws JspException, IOException
{
- PortalResponse resp = getPortalResponse();
+ PortalRenderResponse resp = getPortalResponse();
PortletTag portletTag = (PortletTag)SimpleTagSupport.findAncestorWithClass(this,
PortletTag.class);
Modified:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletTag.java
===================================================================
---
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletTag.java 2008-02-09
14:21:49 UTC (rev 9898)
+++
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletTag.java 2008-02-09
14:31:49 UTC (rev 9899)
@@ -22,7 +22,7 @@
******************************************************************************/
package org.jboss.portal.portlet.test.jsp.taglib;
-import org.jboss.portal.portlet.test.jsp.PortalResponse;
+import org.jboss.portal.portlet.test.jsp.PortalRenderResponse;
import org.jboss.portal.portlet.test.jsp.PagePortletControllerContext;
import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
import org.jboss.portal.portlet.invocation.response.FragmentResponse;
@@ -78,7 +78,7 @@
private Set<Mode> supportedModes;
private Mode initialMode;
private PageTag pageTag;
- private PortalResponse response;
+ private PortalRenderResponse renderResponse;
/** . */
PortletResult result;
@@ -187,7 +187,7 @@
this.supportedModes = supportedModes;
this.supportedWindowStates = supportedWindowStates;
this.pageTag = (PageTag)findAncestorWithClass(this, PageTag.class);
- this.response = getPortalResponse();
+ this.renderResponse = getPortalResponse();
}
private void destroyState()
@@ -196,7 +196,7 @@
this.supportedModes = null;
this.supportedWindowStates = null;
this.pageTag = null;
- this.response = null;
+ this.renderResponse = null;
}
public int internalDoStartTag() throws JspException
@@ -204,7 +204,7 @@
initState();
//
- PagePortletControllerContext context = response.getPortletControllerContext();
+ PagePortletControllerContext context =
renderResponse.getPortletControllerContext();
//
Portlet portlet = context.findPortlet(applicationNameAttr, nameAttr);
@@ -219,7 +219,7 @@
}
else
{
- String windowId = portlet.getContext().getId() + "." +
response.nextId();
+ String windowId = portlet.getContext().getId() + "." +
renderResponse.nextId();
//
if (pageTag.maximizedId != null)
@@ -258,7 +258,7 @@
{
try
{
- PortletInvocationResponse portletResponse = response.render(portlet, windowId);
+ PortletInvocationResponse portletResponse = renderResponse.render(portlet,
windowId);
//
if (portletResponse instanceof FragmentResponse)
@@ -330,7 +330,7 @@
request.setAttribute(Constants.ERROR_PORTLET_NAME, nameAttr);
//
- rd.include(pageContext.getRequest(), new JspWriterResponse(response,
pageContext.getOut()));
+ rd.include(pageContext.getRequest(), new JspWriterResponse(renderResponse,
pageContext.getOut()));
}
catch (ServletException e)
{
Modified:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletURLTag.java
===================================================================
---
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletURLTag.java 2008-02-09
14:21:49 UTC (rev 9898)
+++
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/jsp/taglib/PortletURLTag.java 2008-02-09
14:31:49 UTC (rev 9899)
@@ -24,7 +24,7 @@
import org.jboss.portal.Mode;
import org.jboss.portal.WindowState;
-import org.jboss.portal.portlet.test.jsp.PortalResponse;
+import org.jboss.portal.portlet.test.jsp.PortalRenderResponse;
import org.jboss.portal.portlet.test.jsp.PagePortletControllerContext;
import org.jboss.portal.portlet.test.controller.PortletURLRenderer;
import org.jboss.portal.portlet.controller.impl.state.StateControllerContextImpl;
@@ -77,8 +77,8 @@
public int internalDoEndTag() throws JspException
{
- PortalResponse response = getPortalResponse();
- PagePortletControllerContext context = response.getPortletControllerContext();
+ PortalRenderResponse renderResponse = getPortalResponse();
+ PagePortletControllerContext context =
renderResponse.getPortletControllerContext();
PortletTag portletTag = (PortletTag)SimpleTagSupport.findAncestorWithClass(this,
PortletTag.class);
Mode mode = null;
@@ -96,7 +96,7 @@
PortletURLRenderer renderer = new PortletURLRenderer(
(StateControllerContextImpl)context.getStateControllerContext(),
- response.getPageState(),
+ renderResponse.getPageState(),
context.getClientRequest(),
context.getClientResponse());