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 2009/03/19 03:26:07 UTC
svn commit: r755814 - in /portals/jetspeed-2/portal/trunk:
components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/
jetspeed-api/src/main/java/org/apache/jetspeed/
Author: ate
Date: Thu Mar 19 02:26:07 2009
New Revision: 755814
URL: http://svn.apache.org/viewvc?rev=755814&view=rev
Log:
JS2-871: Upgrade Pluto container
See: http://issues.apache.org/jira/browse/JS2-871
- implemented all the basic (still portlet 1.0 only) response context handling, e.g. on level with Jetspeed-2.1.3 functionality
- adding new PortalReservedParameter PORTLET_CONTENT_ATTRIBUTE to get hold of the PortletContent object to write to
Note: PortletContentDispatcher is probably going to "lose" its functional usage as no request/response wrapping will be needed anymore.
Without this need for the PortletContentDispatcher(Ctrl) getRequestForWindow and getResponseForWindow methods
it then downgrades to a simple wrapper without additional functionality.
Modified:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletActionResponseContextImpl.java
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletMimeResponseContextImpl.java
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletRenderResponseContextImpl.java
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletRequestContextImpl.java
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletRequestContextServiceImpl.java
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletResourceResponseContextImpl.java
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletResponseContextImpl.java
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletStateAwareResponseContextImpl.java
portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/PortalReservedParameters.java
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletActionResponseContextImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletActionResponseContextImpl.java?rev=755814&r1=755813&r2=755814&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletActionResponseContextImpl.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletActionResponseContextImpl.java Thu Mar 19 02:26:07 2009
@@ -51,12 +51,12 @@
close();
if (!redirect || renderURLParamName != null)
{
+ String portalURL = getRequestContext().getPortalURL().getPortalURL();
if (redirect)
{
- String portalURL = getPortalURL().getPortalURL();
if (redirectLocation.indexOf("://") != -1 && portalURL.indexOf("://")==-1)
{
- portalURL = getPortalURL().getBaseURL() + portalURL;
+ portalURL = getRequestContext().getPortalURL().getBaseURL() + portalURL;
}
try
{
@@ -70,7 +70,7 @@
}
else
{
- return getPortalURL().getPortalURL();
+ return portalURL;
}
}
else
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletMimeResponseContextImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletMimeResponseContextImpl.java?rev=755814&r1=755813&r2=755814&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletMimeResponseContextImpl.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletMimeResponseContextImpl.java Thu Mar 19 02:26:07 2009
@@ -17,9 +17,6 @@
package org.apache.jetspeed.container.impl;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.PrintWriter;
import java.util.Locale;
import javax.portlet.CacheControl;
@@ -92,7 +89,6 @@
}
private CacheControl cacheControl;
- private OutputStream outputStream;
public PortletMimeResponseContextImpl(PortletContainer container, HttpServletRequest containerRequest,
HttpServletResponse containerResponse, PortletWindow window)
@@ -103,23 +99,9 @@
public void close()
{
cacheControl = null;
- outputStream = null;
super.close();
}
- public void flushBuffer() throws IOException
- {
- if (!isClosed())
- {
- // TODO
- }
- }
-
- public int getBufferSize()
- {
- return 0; // TODO
- }
-
public CacheControl getCacheControl()
{
if (isClosed())
@@ -128,83 +110,31 @@
}
if (cacheControl == null)
{
- // TODO
+ cacheControl = new CacheControlImpl();
}
return cacheControl;
}
public String getCharacterEncoding()
{
- return isClosed() ? null : null; // TODO
+ return isClosed() ? null : getServletResponse().getCharacterEncoding();
}
public String getContentType()
{
- return isClosed() ? null : null; //TODO
+ return isClosed() ? null : getServletResponse().getContentType();
}
public Locale getLocale()
{
- return isClosed() ? null : null; //TODO
- }
-
- public OutputStream getOutputStream() throws IOException, IllegalStateException
- {
- if (isClosed())
- {
- return null;
- }
- if (outputStream == null)
- {
- // TODO
- }
- return outputStream;
- }
-
- public PrintWriter getWriter() throws IOException, IllegalStateException
- {
- return isClosed() ? null : null; //TODO
- }
-
- public boolean isCommitted()
- {
- return false; //TODO
- }
-
- public void reset()
- {
- //TODO
- }
-
- public void resetBuffer()
- {
- if (!isClosed())
- {
- //TODO
- }
- }
-
- public void setBufferSize(int size)
- {
- if (!isClosed())
- {
- //TODO
- }
- }
-
- public void setContentType(String contentType)
- {
- if (!isClosed())
- {
- //TODO
- }
+ return isClosed() ? null : getServletResponse().getLocale();
}
public PortletURLProvider getPortletURLProvider(TYPE type)
{
if (!isClosed())
{
- return new PortletURLProviderImpl(getPortalURL(), getPortletWindow(), type);
+ return new PortletURLProviderImpl(getRequestContext().getPortalURL(), getPortletWindow(), type);
}
return null;
}
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletRenderResponseContextImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletRenderResponseContextImpl.java?rev=755814&r1=755813&r2=755814&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletRenderResponseContextImpl.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletRenderResponseContextImpl.java Thu Mar 19 02:26:07 2009
@@ -17,6 +17,9 @@
package org.apache.jetspeed.container.impl;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.PrintWriter;
import java.util.Collection;
import javax.portlet.PortletMode;
@@ -25,7 +28,11 @@
import org.apache.pluto.container.PortletContainer;
import org.apache.pluto.container.PortletRenderResponseContext;
+import org.apache.pluto.container.util.PrintWriterServletOutputStream;
+import org.apache.jetspeed.PortalReservedParameters;
+import org.apache.jetspeed.aggregator.PortletContent;
import org.apache.jetspeed.container.PortletWindow;
+import org.apache.jetspeed.services.title.DynamicTitleService;
/**
* @version $Id$
@@ -34,64 +41,92 @@
public class PortletRenderResponseContextImpl extends PortletMimeResponseContextImpl implements
PortletRenderResponseContext
{
+ private boolean committed;
+ private PortletContent portletContent;
+ private OutputStream outputStream;
+ private DynamicTitleService titleService;
+
public PortletRenderResponseContextImpl(PortletContainer container, HttpServletRequest containerRequest,
- HttpServletResponse containerResponse, PortletWindow window)
+ HttpServletResponse containerResponse, PortletWindow window, DynamicTitleService titleService)
{
super(container, containerRequest, containerResponse, window);
+ this.portletContent = (PortletContent)getRequestContext().getPortletWindowAttributes(getPortletWindow()).get(PortalReservedParameters.PORTLET_CONTENT_ATTRIBUTE);
+ }
+
+ public void flushBuffer() throws IOException
+ {
+ committed = true;
}
+ public int getBufferSize()
+ {
+ return Integer.MAX_VALUE;
+ }
+
+ public boolean isCommitted()
+ {
+ return committed;
+ }
+
+ public OutputStream getOutputStream() throws IOException, IllegalStateException
+ {
+ if (isClosed())
+ {
+ return null;
+ }
+ if (outputStream == null)
+ {
+ outputStream = new PrintWriterServletOutputStream(portletContent.getWriter(),
+ getServletResponse().getCharacterEncoding());
+ }
+ return outputStream;
+ }
+
+ public PrintWriter getWriter() throws IOException, IllegalStateException
+ {
+ return portletContent.getWriter();
+ }
+
public void setNextPossiblePortletModes(Collection<PortletMode> portletModes)
{
//TODO
}
- public void setTitle(String title)
+ public void reset()
{
if (!isClosed())
{
- //TODO
+ // TODO
+ }
+ }
- // TODO: 2.2 jetspeed uses a title service
-// String title = null;
-// if (titleArg == null || titleArg.length() == 0)
-// {
-// title = getTitleFromPortletDefinition(portletWindow, request);
-// }
-// else
-// {
-// title = titleArg;
-// }
-// request.setAttribute(
-// PortalReservedParameters.OVERRIDE_PORTLET_TITLE_ATTR
-// + "::window.id::" + portletWindow.getId(), title);
+ public void resetBuffer()
+ {
+ if (!isClosed())
+ {
+ // TODO
+ }
+ }
+ public void setBufferSize(int size)
+ {
+ // ignore
+ }
+
+ public void setContentType(String contentType)
+ {
+ if (!isClosed())
+ {
+ // TODO
}
}
-
-// protected final String getTitleFromPortletDefinition(org.apache.pluto.PortletWindow window, HttpServletRequest request)
-// {
-// String title = null;
-// RequestContext requestContext = (RequestContext) request
-// .getAttribute(PortalReservedParameters.REQUEST_CONTEXT_ATTRIBUTE);
-//
-// org.apache.jetspeed.container.PortletWindow jsWindow = (org.apache.jetspeed.container.PortletWindow)window;
-// PortletEntity entity = jsWindow.getPortletEntity();
-// if (entity != null && entity.getPortletDefinition() != null)
-// {
-// title = requestContext.getPreferedLanguage(
-// entity.getPortletDefinition()).getTitle();
-// }
-//
-// if (title == null && entity.getPortletDefinition() != null)
-// {
-// title = entity.getPortletDefinition().getPortletName();
-// }
-// else if (title == null)
-// {
-// title = "Invalid portlet entity " + entity.getId();
-// }
-//
-// return title;
-// }
-
+
+ public void setTitle(String title)
+ {
+ if (!isClosed())
+ {
+ portletContent.setTitle(title);
+ titleService.setDynamicTitle(getPortletWindow(), getContainerRequest(), title);
+ }
+ }
}
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletRequestContextImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletRequestContextImpl.java?rev=755814&r1=755813&r2=755814&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletRequestContextImpl.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletRequestContextImpl.java Thu Mar 19 02:26:07 2009
@@ -66,6 +66,7 @@
private PortletContext portletContext;
private ServletContext servletContext;
private Cookie cookies[];
+ private JetspeedRequestContext requestContext;
private Map<String, Object> windowAttributes;
private Map<String, String[]> privateParameters;
@@ -77,8 +78,13 @@
this.containerRequest = containerRequest;
this.containerResponse = containerResponse;
this.window = window;
- JetspeedRequestContext rc = (JetspeedRequestContext)containerRequest.getAttribute(PortalReservedParameters.REQUEST_CONTEXT_ATTRIBUTE);
- windowAttributes = rc.getPortletWindowAttributes(window);
+ this.requestContext = (JetspeedRequestContext)containerRequest.getAttribute(PortalReservedParameters.REQUEST_CONTEXT_ATTRIBUTE);
+ windowAttributes = requestContext.getPortletWindowAttributes(window);
+ }
+
+ protected JetspeedRequestContext getRequestContext()
+ {
+ return requestContext;
}
private static boolean getMetaDataBooleanValue(GenericMetadata metaData, String fieldName, boolean defaultValue )
@@ -128,21 +134,17 @@
// get portlet *private* navigational params
privateParameters = new HashMap<String, String[]>();
- JetspeedRequestContext context = (JetspeedRequestContext) getAttribute("org.apache.jetspeed.request.RequestContext");
- if (context != null)
- {
- NavigationalState ns = context.getPortalURL().getNavigationalState();
- mergeRequestParameters = ns.getPortletWindowOfAction() != null || ns.getPortletWindowOfResource() != null;
- Iterator<String> iter = ns.getParameterNames(getPortletWindow());
- while (iter.hasNext())
- {
- String name = iter.next();
- String[] values = ns.getParameterValues(getPortletWindow(), name);
- privateParameters.put(name, values);
- }
+ NavigationalState ns = requestContext.getPortalURL().getNavigationalState();
+ mergeRequestParameters = ns.getPortletWindowOfAction() != null || ns.getPortletWindowOfResource() != null;
+ Iterator<String> iter = ns.getParameterNames(getPortletWindow());
+ while (iter.hasNext())
+ {
+ String name = iter.next();
+ String[] values = ns.getParameterValues(getPortletWindow(), name);
+ privateParameters.put(name, values);
}
- PortletDefinition portletDef = getPortletWindow().getPortletEntity().getPortletDefinition();
+ PortletDefinition portletDef = window.getPortletEntity().getPortletDefinition();
if(portletDef != null)
{
GenericMetadata metaData = portletDef.getMetadata();
@@ -169,18 +171,17 @@
//get request params
if (mergeRequestParameters)
{
- String encoding = (String)getContainerRequest().getAttribute(PortalReservedParameters.PREFERED_CHARACTERENCODING_ATTRIBUTE);
- boolean decode = getContainerRequest().getAttribute(PortalReservedParameters.PARAMETER_ALREADY_DECODED_ATTRIBUTE) == null
+ String encoding = (String)containerRequest.getAttribute(PortalReservedParameters.PREFERED_CHARACTERENCODING_ATTRIBUTE);
+ boolean decode = containerRequest.getAttribute(PortalReservedParameters.PARAMETER_ALREADY_DECODED_ATTRIBUTE) == null
&& encoding != null;
if (decode)
{
- getContainerRequest().setAttribute(PortalReservedParameters.PARAMETER_ALREADY_DECODED_ATTRIBUTE,
- new Boolean(true));
+ containerRequest.setAttribute(PortalReservedParameters.PARAMETER_ALREADY_DECODED_ATTRIBUTE,new Boolean(true));
}
- for (Enumeration parameters = getContainerRequest().getParameterNames(); parameters.hasMoreElements();)
+ for (Enumeration parameters = containerRequest.getParameterNames(); parameters.hasMoreElements();)
{
String paramName = (String) parameters.nextElement();
- String[] paramValues = getContainerRequest().getParameterValues(paramName);
+ String[] paramValues = containerRequest.getParameterValues(paramName);
if (decode)
{
@@ -292,9 +293,8 @@
public Locale getPreferredLocale()
{
- RequestContext requestContext = (RequestContext)getContainerRequest().getAttribute(PortalReservedParameters.REQUEST_CONTEXT_ATTRIBUTE);
Locale preferedLocale = requestContext.getLocale();
- return preferedLocale != null ? preferedLocale : getContainerRequest().getLocale();
+ return preferedLocale != null ? preferedLocale : containerRequest.getLocale();
}
public void init(PortletContext portletContext, ServletContext servletContext, HttpServletRequest servletRequest, HttpServletResponse servletResponse)
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletRequestContextServiceImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletRequestContextServiceImpl.java?rev=755814&r1=755813&r2=755814&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletRequestContextServiceImpl.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletRequestContextServiceImpl.java Thu Mar 19 02:26:07 2009
@@ -20,6 +20,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import org.apache.jetspeed.services.title.DynamicTitleService;
import org.apache.pluto.container.PortletActionResponseContext;
import org.apache.pluto.container.PortletContainer;
import org.apache.pluto.container.PortletEventResponseContext;
@@ -35,6 +36,13 @@
*/
public class PortletRequestContextServiceImpl implements PortletRequestContextService
{
+ private DynamicTitleService titleService;
+
+ public PortletRequestContextServiceImpl(DynamicTitleService titleService)
+ {
+ this.titleService = titleService;
+ }
+
public PortletRequestContext getPortletActionRequestContext(PortletContainer container, HttpServletRequest containerRequest,
HttpServletResponse containerResponse, PortletWindow window)
{
@@ -73,7 +81,7 @@
HttpServletResponse containerResponse,
PortletWindow window)
{
- return new PortletRenderResponseContextImpl(container, containerRequest, containerResponse, (org.apache.jetspeed.container.PortletWindow)window);
+ return new PortletRenderResponseContextImpl(container, containerRequest, containerResponse, (org.apache.jetspeed.container.PortletWindow)window, titleService);
}
public PortletResourceRequestContext getPortletResourceRequestContext(PortletContainer container,
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletResourceResponseContextImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletResourceResponseContextImpl.java?rev=755814&r1=755813&r2=755814&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletResourceResponseContextImpl.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletResourceResponseContextImpl.java Thu Mar 19 02:26:07 2009
@@ -17,34 +17,164 @@
package org.apache.jetspeed.container.impl;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.PrintWriter;
+import java.util.Collection;
import java.util.Locale;
+import javax.portlet.PortletMode;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.pluto.container.PortletContainer;
+import org.apache.pluto.container.PortletRenderResponseContext;
import org.apache.pluto.container.PortletResourceResponseContext;
+import org.apache.pluto.container.util.PrintWriterServletOutputStream;
import org.apache.jetspeed.container.PortletWindow;
/**
+ * PortletResourceResponseContextImpl implements <em>both</em> PortletResourceResponseContext
+ * and PortletRenderResponseContext to support Portlet 1.0 based Portlets using the
+ * Portals Bridges pre Portlet 2.0 PortletResourceURLFactory to serve resources on top of
+ * a RenderURL.
+ *
+ * Jetspeed still provides backwards compatibility by forwarding to the portlet and plugging
+ * in this PortletResourceResponseContextImpl instead of PortletRenderResponseContextImpl,
+ * which is why it needs to implement both interfaces.
+ *
+ * The PortletRenderResponseContext specific methods however simply ignore any invocation.
+ *
* @version $Id$
*
*/
public class PortletResourceResponseContextImpl extends PortletMimeResponseContextImpl implements
- PortletResourceResponseContext
+ PortletResourceResponseContext, PortletRenderResponseContext
{
+ private static final String DEFAULT_CONTAINER_CHARSET = "UTF-8";
+
+ private OutputStream outputStream;
+ private boolean charsetSet;
public PortletResourceResponseContextImpl(PortletContainer container, HttpServletRequest containerRequest,
HttpServletResponse containerResponse, PortletWindow window)
{
super(container, containerRequest, containerResponse, window);
}
+
+ /**
+ * PortletRenderResponseContext method provided to support PortletResourceURLFactory usage
+ * which is served over a RenderURL. Any invocation is ignored.
+ */
+ public void setTitle(String title)
+ {
+ // ignore
+ }
+
+ /**
+ * PortletRenderResponseContext method provided to support PortletResourceURLFactory usage
+ * which is served over a RenderURL. Any invocation is ignored.
+ */
+ public void setNextPossiblePortletModes(Collection<PortletMode> portletModes)
+ {
+ //ignore
+ }
+
+ public void flushBuffer() throws IOException
+ {
+ if (!isClosed())
+ {
+ getServletResponse().flushBuffer();
+ }
+ }
+
+ public int getBufferSize()
+ {
+ return getServletResponse().getBufferSize();
+ }
+
+ @Override
+ public void close()
+ {
+ outputStream = null;
+ super.close();
+ }
+
+ public boolean isCommitted()
+ {
+ return getServletResponse().isCommitted();
+ }
+
+ public OutputStream getOutputStream() throws IOException, IllegalStateException
+ {
+ if (isClosed())
+ {
+ return null;
+ }
+ if (outputStream == null)
+ {
+ try
+ {
+ outputStream = getServletResponse().getOutputStream();
+ }
+ catch (IllegalStateException e)
+ {
+ // handle situation where underlying ServletResponse its getWriter()
+ // has been called already anyway: return a wrapped PrintWriter in that case
+ if (!charsetSet)
+ {
+ setCharacterEncoding(DEFAULT_CONTAINER_CHARSET);
+ }
+ outputStream = new PrintWriterServletOutputStream(getServletResponse().getWriter(),
+ getServletResponse().getCharacterEncoding());
+ }
+ }
+ return outputStream;
+ }
+
+ public PrintWriter getWriter() throws IOException, IllegalStateException
+ {
+ return isClosed() ? null : getServletResponse().getWriter();
+ }
+
+ public void reset()
+ {
+ if (!isClosed())
+ {
+ getServletResponse().reset();
+ }
+ }
+
+ public void resetBuffer()
+ {
+ if (!isClosed())
+ {
+ getServletResponse().reset();
+ }
+ }
+
+ public void setBufferSize(int size)
+ {
+ if (!isClosed())
+ {
+ getServletResponse().setBufferSize(size);
+ }
+ }
+
+ public void setContentType(String contentType)
+ {
+ if (!isClosed())
+ {
+ getServletResponse().setContentType(contentType);
+ }
+ }
public void setCharacterEncoding(String charset)
{
if (!isClosed())
{
- //TODO
+ charsetSet = true;
+ getContainerResponse().setCharacterEncoding(charset);
}
}
@@ -52,7 +182,7 @@
{
if (!isClosed())
{
- //TODO
+ getContainerResponse().setContentLength(len);
}
}
@@ -60,7 +190,7 @@
{
if (!isClosed())
{
- //TODO
+ getContainerResponse().setLocale(locale);
}
}
}
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletResponseContextImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletResponseContextImpl.java?rev=755814&r1=755813&r2=755814&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletResponseContextImpl.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletResponseContextImpl.java Thu Mar 19 02:26:07 2009
@@ -26,9 +26,7 @@
import org.apache.jetspeed.PortalReservedParameters;
import org.apache.jetspeed.container.PortletWindow;
import org.apache.jetspeed.container.providers.ResourceURLProviderImpl;
-import org.apache.jetspeed.container.url.PortalURL;
import org.apache.jetspeed.request.JetspeedRequestContext;
-import org.apache.jetspeed.request.RequestContext;
import org.apache.pluto.container.ResourceURLProvider;
import org.w3c.dom.Element;
@@ -46,7 +44,7 @@
private PortletWindow window;
private boolean closed;
private boolean released;
- private PortalURL portalURL;
+ private JetspeedRequestContext requestContext;
public PortletResponseContextImpl(PortletContainer container, HttpServletRequest containerRequest,
HttpServletResponse containerResponse, PortletWindow window)
@@ -55,13 +53,12 @@
this.containerRequest = containerRequest;
this.containerResponse = containerResponse;
this.window = window;
- JetspeedRequestContext rc = (JetspeedRequestContext)containerRequest.getAttribute(PortalReservedParameters.REQUEST_CONTEXT_ATTRIBUTE);
- portalURL = rc.getPortalURL();
+ this.requestContext = (JetspeedRequestContext)containerRequest.getAttribute(PortalReservedParameters.REQUEST_CONTEXT_ATTRIBUTE);
}
- protected PortalURL getPortalURL()
+ protected JetspeedRequestContext getRequestContext()
{
- return portalURL;
+ return requestContext;
}
protected boolean isClosed()
@@ -145,6 +142,7 @@
container = null;
servletRequest = null;
servletResponse = null;
+ requestContext = null;
window = null;
}
@@ -161,8 +159,7 @@
{
if (!isReleased())
{
- RequestContext rc = (RequestContext) servletRequest.getAttribute(PortalReservedParameters.REQUEST_CONTEXT_ATTRIBUTE);
- return new ResourceURLProviderImpl(rc, window);
+ return new ResourceURLProviderImpl(requestContext, window);
}
return null;
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletStateAwareResponseContextImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletStateAwareResponseContextImpl.java?rev=755814&r1=755813&r2=755814&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletStateAwareResponseContextImpl.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/impl/PortletStateAwareResponseContextImpl.java Thu Mar 19 02:26:07 2009
@@ -32,11 +32,9 @@
import org.apache.pluto.container.PortletStateAwareResponseContext;
import org.apache.pluto.container.PortletURLProvider;
import org.apache.pluto.container.impl.PortletURLImpl;
-import org.apache.jetspeed.PortalReservedParameters;
import org.apache.jetspeed.container.PortletWindow;
import org.apache.jetspeed.container.providers.PortletURLProviderImpl;
import org.apache.jetspeed.events.JetspeedEventCoordinationService;
-import org.apache.jetspeed.request.JetspeedRequestContext;
/**
* @version $Id$
@@ -52,8 +50,7 @@
HttpServletResponse containerResponse, PortletWindow window)
{
super(container, containerRequest, containerResponse, window);
- JetspeedRequestContext rc = (JetspeedRequestContext)containerRequest.getAttribute(PortalReservedParameters.REQUEST_CONTEXT_ATTRIBUTE);
- this.portletURLProvider = new PortletURLProviderImpl(rc.getPortalURL(), window, PortletURLProvider.TYPE.RENDER);
+ this.portletURLProvider = new PortletURLProviderImpl(getRequestContext().getPortalURL(), window, PortletURLProvider.TYPE.RENDER);
}
@Override
Modified: portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/PortalReservedParameters.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/PortalReservedParameters.java?rev=755814&r1=755813&r2=755814&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/PortalReservedParameters.java (original)
+++ portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/PortalReservedParameters.java Thu Mar 19 02:26:07 2009
@@ -52,6 +52,7 @@
public static final String PREFERED_LANGUAGE_ATTRIBUTE = "org.apache.jetspeed.prefered.language";
public static final String PREFERED_LOCALE_ATTRIBUTE = "org.apache.jetspeed.prefered.locale";
public static final String PREFERED_CHARACTERENCODING_ATTRIBUTE = "org.apache.jetspeed.prefered.characterencoding";
+ public static final String PORTLET_CONTENT_ATTRIBUTE = "org.apache.jetspeed.PortletContent";
public static final String CONTENT_DISPATCHER_ATTRIBUTE = "org.apache.jetspeed.ContentDispatcher";
public static final String OVERRIDE_PORTLET_TITLE_ATTR = "org.apache.jetspeed.portlet.title";
public static final String HEADER_RESOURCE_ATTRIBUTE = "org.apache.jetspeed.headerresource";
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org