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/04/09 12:43:24 UTC
svn commit: r763594 - in /portals/jetspeed-2/portal/trunk:
components/jetspeed-portal/src/main/java/org/apache/jetspeed/aggregator/impl/
components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/
components/jetspeed-portal/src/main...
Author: ate
Date: Thu Apr 9 10:43:24 2009
New Revision: 763594
URL: http://svn.apache.org/viewvc?rev=763594&view=rev
Log:
JS2-938: Create flyweight PortletWindow instances for each request [...]
Several improvements and some fixes discovered after a peer review with Woonsan (great!)
- ensure synchronized handling of instantlyCreatedWindows (creation)
- render instantlyCreatedWindows on the current thread instead of spawning a new one (current window is "pushed" on the stack temporarily)
- some further API / parameters cleanup and optimizations
Modified:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/aggregator/impl/PortletAggregatorImpl.java
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/aggregator/impl/PortletRendererImpl.java
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/aggregator/impl/RenderingJobImpl.java
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/DefaultContainerRequestResponseUnwrapper.java
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/LocalPortletInvoker.java
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/request/JetspeedRequestContext.java
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/velocity/JetspeedPowerToolImpl.java
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/test/java/org/apache/jetspeed/container/state/MockRequestContext.java
portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/window/impl/PortletWindowImpl.java
portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/container/PortletWindow.java
portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/mockobjects/request/MockRequestContext.java
portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/request/RequestContext.java
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/aggregator/impl/PortletAggregatorImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/aggregator/impl/PortletAggregatorImpl.java?rev=763594&r1=763593&r2=763594&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/aggregator/impl/PortletAggregatorImpl.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/aggregator/impl/PortletAggregatorImpl.java Thu Apr 9 10:43:24 2009
@@ -18,7 +18,6 @@
import java.io.IOException;
import java.io.PrintWriter;
-import java.util.HashMap;
import java.util.List;
import org.apache.commons.lang.StringEscapeUtils;
@@ -29,8 +28,6 @@
import org.apache.jetspeed.container.PortletWindow;
import org.apache.jetspeed.exception.JetspeedException;
import org.apache.jetspeed.om.page.ContentFragment;
-import org.apache.jetspeed.om.page.ContentFragmentImpl;
-import org.apache.jetspeed.om.page.Fragment;
import org.apache.jetspeed.request.RequestContext;
import org.apache.jetspeed.util.DOMUtils;
import org.apache.jetspeed.util.KeyValue;
@@ -93,15 +90,7 @@
return;
}
- Fragment fragment = new PortletAggregatorFragmentImpl(entity);
- fragment.setType(Fragment.PORTLET);
- fragment.setName(name);
- window = context.getPortletWindow(new ContentFragmentImpl(fragment, new HashMap(), true));
-
- if (window.isValid())
- {
- context.registerInstantlyCreatedPortletWindow(window);
- }
+ window = context.getInstantlyCreatedPortletWindow(entity, name);
}
ContentFragment contentFragment = window.getFragment();
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/aggregator/impl/PortletRendererImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/aggregator/impl/PortletRendererImpl.java?rev=763594&r1=763593&r2=763594&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/aggregator/impl/PortletRendererImpl.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/aggregator/impl/PortletRendererImpl.java Thu Apr 9 10:43:24 2009
@@ -335,7 +335,7 @@
portletWindow.getFragment().setPortletContent(portletContent);
- rJob = new RenderingJobImpl(container, this, portletDefinition, portletContent,
+ rJob = new RenderingJobImpl(container, this, portletDefinition,
requestContext.getRequest(), requestContext.getResponse(), requestContext, portletWindow,
statistics, expirationCache);
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/aggregator/impl/RenderingJobImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/aggregator/impl/RenderingJobImpl.java?rev=763594&r1=763593&r2=763594&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/aggregator/impl/RenderingJobImpl.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/aggregator/impl/RenderingJobImpl.java Thu Apr 9 10:43:24 2009
@@ -65,7 +65,6 @@
protected PortletTrackingManager portletTracking = null;
protected PortletDefinition portletDefinition;
- protected PortletContent portletContent;
protected PortalStatistics statistics;
protected int expirationCache = 0;
@@ -80,7 +79,6 @@
public RenderingJobImpl(PortletContainer container,
PortletRenderer renderer,
PortletDefinition portletDefinition,
- PortletContent portletContent,
HttpServletRequest request,
HttpServletResponse response,
RequestContext requestContext,
@@ -97,7 +95,6 @@
this.response = response;
this.requestContext = requestContext;
this.window = window;
- this.portletContent = portletContent;
this.expirationCache = expirationCache;
}
@@ -143,8 +140,6 @@
{
this.startTimeMillis = System.currentTimeMillis();
}
-
- this.window.getFragment().setPortletContent(portletContent);
execute();
}
finally
@@ -154,10 +149,10 @@
requestContext.clearThreadContext();
}
parallel = false;
- synchronized (portletContent)
+ synchronized (window.getFragment().getPortletContent())
{
if (log.isDebugEnabled()) log.debug("Notifying completion of rendering job for portlet window " + this.window.getId());
- portletContent.notifyAll();
+ window.getFragment().getPortletContent().notifyAll();
}
}
}
@@ -222,15 +217,15 @@
}
finally
{
- synchronized (portletContent)
+ synchronized (fragment.getPortletContent())
{
if (fragment.getOverriddenContent() != null)
{
- portletContent.completeWithError();
+ fragment.getPortletContent().completeWithError();
}
else
{
- portletContent.complete();
+ fragment.getPortletContent().complete();
}
}
}
@@ -260,7 +255,7 @@
*/
public PortletContent getPortletContent()
{
- return portletContent;
+ return window.getFragment().getPortletContent();
}
public PortletDefinition getPortletDefinition()
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/DefaultContainerRequestResponseUnwrapper.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/DefaultContainerRequestResponseUnwrapper.java?rev=763594&r1=763593&r2=763594&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/DefaultContainerRequestResponseUnwrapper.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/DefaultContainerRequestResponseUnwrapper.java Thu Apr 9 10:43:24 2009
@@ -16,16 +16,12 @@
*/
package org.apache.jetspeed.container.invoker;
-import javax.portlet.PortletRequest;
-import javax.portlet.PortletResponse;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
import javax.servlet.http.HttpServletResponse;
-import org.apache.jetspeed.Jetspeed;
-
/**
* DefaultContainerRequestResponseUnwrapper implements ContainerRequestResponseUnwrapper
* and finds servlet request or servlet response
@@ -35,16 +31,6 @@
*/
public class DefaultContainerRequestResponseUnwrapper implements ContainerRequestResponseUnwrapper
{
- public ServletRequest unwrapPortletRequest(PortletRequest portletRequest)
- {
- return unwrapContainerRequest(Jetspeed.getCurrentRequestContext().getCurrentPortletWindow().getPortletRequestContext().getContainerRequest());
- }
-
- public ServletResponse unwrapPortletResponse(PortletResponse portletResponse)
- {
- return unwrapContainerResponse(Jetspeed.getCurrentRequestContext().getCurrentPortletWindow().getPortletRequestContext().getContainerResponse());
- }
-
public ServletRequest unwrapContainerRequest(HttpServletRequest containerRequest)
{
ServletRequest request = containerRequest;
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/LocalPortletInvoker.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/LocalPortletInvoker.java?rev=763594&r1=763593&r2=763594&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/LocalPortletInvoker.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/LocalPortletInvoker.java Thu Apr 9 10:43:24 2009
@@ -111,7 +111,7 @@
PortletWindow.Action action, FilterManager filter)
throws PortletException, IOException
{
- if (PortletWindow.Action.NOOP == action)
+ if (PortletWindow.Action.ACTION != action && PortletWindow.Action.RENDER != action)
{
return;
}
@@ -150,7 +150,7 @@
portletInstance.processAction(actionRequest, actionResponse);
}
- if (PortletWindow.Action.RENDER == action)
+ else // if (PortletWindow.Action.RENDER == action)
{
RenderRequest renderRequest = (RenderRequest) portletRequest;
RenderResponse renderResponse = (RenderResponse) portletResponse;
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/request/JetspeedRequestContext.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/request/JetspeedRequestContext.java?rev=763594&r1=763593&r2=763594&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/request/JetspeedRequestContext.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/request/JetspeedRequestContext.java Thu Apr 9 10:43:24 2009
@@ -618,27 +618,63 @@
PortletWindow window = portletWindows.get(fragment.getId());
if (window == null)
{
- PortletDefinition pd = rcc.getPortletRegistry().getPortletDefinitionByUniqueName(fragment.getName());
- if (pd != null)
+ window = createPortletWindow(fragment);
+ }
+ return window;
+ }
+
+ public synchronized PortletWindow getInstantlyCreatedPortletWindow(String windowId, String portletUniqueName)
+ {
+ if (portletWindows.get(windowId) != null)
+ {
+ throw new IllegalArgumentException("PortletWindow "+windowId+" already exists");
+ }
+ return getInstantlyCreatedPortletWindow(windowId, portletUniqueName, true);
+ }
+
+ public PortletWindow resolvePortletWindow(String windowId)
+ {
+ PortletWindow window = portletWindows.get(windowId);
+ if (window == null)
+ {
+ // ensure RootContentFragment is initialized
+ getPage().getRootContentFragment();
+ ContentFragment fragment = getPage().getContentFragmentById(windowId);
+ if (fragment == null)
{
- window = new PortletWindowImpl(this, fragment, pd);
+ window = getInstantlyCreatedPortletWindow(windowId, null, false);
}
else
{
- // invalid window: create one anyway so that this error condition is only "recorded" once for this request
- window = new PortletWindowImpl(this, fragment);
- fragment.overrideRenderedContent("Failed to retrieve Portlet Definition for " + fragment.getName());
- log.error(fragment.getOverriddenContent());
+ window = createPortletWindow(fragment);
}
- portletWindows.put(window.getWindowId(), window);
}
return window;
}
- @SuppressWarnings("unchecked")
- public PortletWindow getInstantlyCreatedPortletWindow(String windowId)
+ private PortletWindow createPortletWindow(ContentFragment fragment)
{
PortletWindow window = null;
+ PortletDefinition pd = rcc.getPortletRegistry().getPortletDefinitionByUniqueName(fragment.getName());
+ if (pd != null)
+ {
+ window = new PortletWindowImpl(this, fragment, pd);
+ }
+ else
+ {
+ // invalid window: create one anyway so that this error condition is only "recorded" once for this request
+ window = new PortletWindowImpl(this, fragment);
+ fragment.overrideRenderedContent("Failed to retrieve Portlet Definition for " + fragment.getName());
+ log.error(fragment.getOverriddenContent());
+ }
+ portletWindows.put(window.getWindowId(), window);
+ return window;
+ }
+
+ @SuppressWarnings("unchecked")
+ private PortletWindow getInstantlyCreatedPortletWindow(String windowId, String portletUniqueName, boolean register)
+ {
+ boolean registered = false;
HttpSession session = getRequest().getSession();
if (session != null)
{
@@ -650,36 +686,58 @@
Map<String,String> instantWindows = pages.get(getPage().getId());
if (instantWindows != null)
{
- String portletId = instantWindows.get(windowId);
- if (portletId != null)
+ String uniqueName = instantWindows.get(windowId);
+ if (uniqueName != null)
{
- Fragment fragment = new PortletAggregatorFragmentImpl(windowId);
- fragment.setType(Fragment.PORTLET);
- fragment.setName(portletId);
- window = getPortletWindow(new ContentFragmentImpl(fragment, new HashMap(), true));
- }
+ if (portletUniqueName != null)
+ {
+ if (!portletUniqueName.equals(uniqueName))
+ {
+ // odd condition but store new value of portletUniqueName in session
+ instantWindows.put(windowId, portletUniqueName);
+ }
+ }
+ else
+ {
+ portletUniqueName = uniqueName;
+ }
+ registered = true;
+ }
}
}
}
}
- return window;
- }
-
- public PortletWindow resolvePortletWindow(String windowId)
- {
- PortletWindow window = portletWindows.get(windowId);
- if (window == null)
+ PortletWindow window = null;
+ if (portletUniqueName != null)
{
- // ensure RootContentFragment is initialized
- getPage().getRootContentFragment();
- ContentFragment fragment = getPage().getContentFragmentById(windowId);
- if (fragment == null)
- {
- window = getInstantlyCreatedPortletWindow(windowId);
- }
- else
+ Fragment fragment = new PortletAggregatorFragmentImpl(windowId);
+ fragment.setType(Fragment.PORTLET);
+ fragment.setName(portletUniqueName);
+ window = createPortletWindow(new ContentFragmentImpl(fragment, new HashMap(), true));
+
+ if (register && !registered && window.isValid())
{
- window = getPortletWindow(fragment);
+ if (session == null)
+ {
+ session = getRequest().getSession(true);
+ }
+ synchronized (session)
+ {
+ Map<String,Map<String,String>> pages = (Map<String,Map<String,String>>)session.getAttribute(INSTANT_WINDOWS_SESSION_KEY);
+ if (pages == null)
+ {
+ pages = new HashMap<String,Map<String,String>>();
+ session.setAttribute(INSTANT_WINDOWS_SESSION_KEY, pages);
+ }
+ String pageId = getPage().getId();
+ Map<String,String> instantWindows = pages.get(pageId);
+ if (instantWindows == null)
+ {
+ instantWindows = new HashMap<String,String>();
+ pages.put(pageId, instantWindows);
+ }
+ instantWindows.put(windowId, portletUniqueName);
+ }
}
}
return window;
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/velocity/JetspeedPowerToolImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/velocity/JetspeedPowerToolImpl.java?rev=763594&r1=763593&r2=763594&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/velocity/JetspeedPowerToolImpl.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/velocity/JetspeedPowerToolImpl.java Thu Apr 9 10:43:24 2009
@@ -20,7 +20,6 @@
import java.io.PrintWriter;
import java.io.Writer;
import java.security.Principal;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
@@ -41,7 +40,6 @@
import org.apache.jetspeed.Jetspeed;
import org.apache.jetspeed.PortalReservedParameters;
import org.apache.jetspeed.aggregator.PortletRenderer;
-import org.apache.jetspeed.aggregator.impl.PortletAggregatorFragmentImpl;
import org.apache.jetspeed.capabilities.CapabilityMap;
import org.apache.jetspeed.container.PortletWindow;
import org.apache.jetspeed.container.url.BasePortalURL;
@@ -50,8 +48,6 @@
import org.apache.jetspeed.locator.TemplateLocator;
import org.apache.jetspeed.locator.TemplateLocatorException;
import org.apache.jetspeed.om.page.ContentFragment;
-import org.apache.jetspeed.om.page.ContentFragmentImpl;
-import org.apache.jetspeed.om.page.Fragment;
import org.apache.jetspeed.om.page.Page;
import org.apache.jetspeed.request.RequestContext;
import org.apache.jetspeed.util.ArgUtil;
@@ -808,30 +804,33 @@
}
}
- public String renderPortletWindow(String windowId, String portletId)
+ public String renderPortletWindow(String windowId, String portletUniqueName)
{
- RequestContext context = getRequestContext();
- PortletWindow window = context.getPortletWindow(windowId);
try
{
- if (window == null)
+ if (windowId == null || portletUniqueName == null)
{
- PortletAggregatorFragmentImpl fragment = new PortletAggregatorFragmentImpl(windowId);
- fragment.setType(Fragment.PORTLET);
- fragment.setName(portletId);
- ContentFragment contentFragment = new ContentFragmentImpl(fragment, new HashMap(), true);
- window = getPortletWindow(contentFragment);
- if (window.isValid())
+ throw new IllegalArgumentException("Parameter windowId and portletUniqueName are both required");
+ }
+ RequestContext context = getRequestContext();
+ PortletWindow window = context.getInstantlyCreatedPortletWindow(windowId, portletUniqueName);
+ if (window.isValid())
+ {
+ PortletWindow currentPortletWindow = context.getCurrentPortletWindow();
+ try
{
- context.registerInstantlyCreatedPortletWindow(window);
- renderer.renderNow(window.getFragment(), context, true);
+ context.setCurrentPortletWindow(window);
+ renderer.renderNow(window.getFragment(), context);
return window.getFragment().getRenderedContent();
}
- return "";
+ finally
+ {
+ context.setCurrentPortletWindow(currentPortletWindow);
+ }
}
else
{
- throw new IllegalArgumentException("PortletWindow "+windowId+" already exists on this page");
+ return "";
}
}
catch (Exception e)
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/test/java/org/apache/jetspeed/container/state/MockRequestContext.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/test/java/org/apache/jetspeed/container/state/MockRequestContext.java?rev=763594&r1=763593&r2=763594&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/test/java/org/apache/jetspeed/container/state/MockRequestContext.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/test/java/org/apache/jetspeed/container/state/MockRequestContext.java Thu Apr 9 10:43:24 2009
@@ -97,6 +97,15 @@
// TODO Auto-generated method stub
return null;
}
+
+ /* (non-Javadoc)
+ * @see org.apache.jetspeed.request.RequestContext#setCurrentPortletWindow(org.apache.jetspeed.container.PortletWindow)
+ */
+ public void setCurrentPortletWindow(PortletWindow window)
+ {
+ // TODO Auto-generated method stub
+
+ }
/* (non-Javadoc)
* @see org.apache.jetspeed.request.RequestContext#getLocale()
@@ -450,24 +459,15 @@
}
/* (non-Javadoc)
- * @see org.apache.jetspeed.request.RequestContext#getInstantlyCreatedPortletWindow(java.lang.String)
+ * @see org.apache.jetspeed.request.RequestContext#getInstantlyCreatedPortletWindow(java.lang.String,java.lang.String)
*/
- public PortletWindow getInstantlyCreatedPortletWindow(String windowId)
+ public PortletWindow getInstantlyCreatedPortletWindow(String windowId, String portletUniqueName)
{
// TODO Auto-generated method stub
return null;
}
/* (non-Javadoc)
- * @see org.apache.jetspeed.request.RequestContext#registerInstantlyCreatedPortletWindow(org.apache.jetspeed.container.PortletWindow)
- */
- public void registerInstantlyCreatedPortletWindow(PortletWindow portletWindow)
- {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
* @see org.apache.jetspeed.request.RequestContext#resolvePortletWindow(java.lang.String)
*/
public PortletWindow resolvePortletWindow(String windowId)
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/window/impl/PortletWindowImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/window/impl/PortletWindowImpl.java?rev=763594&r1=763593&r2=763594&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/window/impl/PortletWindowImpl.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/window/impl/PortletWindowImpl.java Thu Apr 9 10:43:24 2009
@@ -51,38 +51,36 @@
* @author <a href="mailto:david@bluesunrise.com">David Sean Taylor</a>
* @version $Id$
**/
-public class PortletWindowImpl implements PortletWindow, PortletEntity, PortletWindowID, RenderTrackable, Serializable
+public class PortletWindowImpl implements PortletWindow, PortletEntity, PortletWindowID, RenderTrackable
{
private static final long serialVersionUID = 6578938580906866201L;
private String id;
- private transient ContentFragment fragment;
- private transient Map<String, Object> attributes;
+ private ContentFragment fragment;
+ private Map<String, Object> attributes;
- protected transient int timeoutCount = 0;
- protected transient long expiration = 0;
+ protected int timeoutCount = 0;
+ protected long expiration = 0;
- private transient PortletDefinition pd;
+ private PortletDefinition pd;
- private transient RequestContext requestContext;
+ private RequestContext requestContext;
// PortletWindow invocation state
- private transient Action action;
- private transient PortletRequest portletRequest;
- private transient PortletResponseContext portletResponseContext;
- private transient PortletRequestContext portletRequestContext;
- private transient PortletResponse portletResponse;
- private transient PortletInstance portletInstance;
- private transient List<KeyValue<String, Element>> headElements;
+ private Action action;
+ private PortletRequest portletRequest;
+ private PortletResponseContext portletResponseContext;
+ private PortletRequestContext portletRequestContext;
+ private PortletResponse portletResponse;
+ private PortletInstance portletInstance;
+ private List<KeyValue<String, Element>> headElements;
private boolean valid;
public PortletWindowImpl(RequestContext requestContext, ContentFragment fragment)
{
- this.requestContext = requestContext;
- this.fragment = fragment;
- this.id = fragment.getId();
+ this(requestContext, fragment, null);
}
public PortletWindowImpl(RequestContext requestContext, ContentFragment fragment, PortletDefinition pd)
@@ -91,7 +89,7 @@
this.id = fragment.getId();
this.fragment = fragment;
this.pd = pd;
- this.valid = true;
+ this.valid = pd != null;
}
public boolean isValid()
Modified: portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/container/PortletWindow.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/container/PortletWindow.java?rev=763594&r1=763593&r2=763594&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/container/PortletWindow.java (original)
+++ portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/container/PortletWindow.java Thu Apr 9 10:43:24 2009
@@ -17,7 +17,6 @@
package org.apache.jetspeed.container;
-import java.io.Serializable;
import java.util.List;
import java.util.Map;
@@ -37,9 +36,8 @@
* @version $Id$
*
*/
-public interface PortletWindow extends org.apache.pluto.container.PortletWindow, Serializable
+public interface PortletWindow extends org.apache.pluto.container.PortletWindow
{
-
boolean isValid();
PortletWindowID getId();
String getWindowId();
Modified: portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/mockobjects/request/MockRequestContext.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/mockobjects/request/MockRequestContext.java?rev=763594&r1=763593&r2=763594&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/mockobjects/request/MockRequestContext.java (original)
+++ portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/mockobjects/request/MockRequestContext.java Thu Apr 9 10:43:24 2009
@@ -549,6 +549,10 @@
// TODO Auto-generated method stub
return null;
}
+ public void setCurrentPortletWindow(PortletWindow window)
+ {
+ // TODO Auto-generated method stub
+ }
public PortletWindow getPortletWindow(ContentFragment fragment)
{
@@ -562,22 +566,14 @@
return null;
}
/* (non-Javadoc)
- * @see org.apache.jetspeed.request.RequestContext#getInstantlyCreatedPortletWindow(java.lang.String)
+ * @see org.apache.jetspeed.request.RequestContext#getInstantlyCreatedPortletWindow(java.lang.String,java.lang.String)
*/
- public PortletWindow getInstantlyCreatedPortletWindow(String windowId)
+ public PortletWindow getInstantlyCreatedPortletWindow(String windowId, String portletUniqueName)
{
// TODO Auto-generated method stub
return null;
}
/* (non-Javadoc)
- * @see org.apache.jetspeed.request.RequestContext#registerInstantlyCreatedPortletWindow(org.apache.jetspeed.container.PortletWindow)
- */
- public void registerInstantlyCreatedPortletWindow(PortletWindow portletWindow)
- {
- // TODO Auto-generated method stub
-
- }
- /* (non-Javadoc)
* @see org.apache.jetspeed.request.RequestContext#resolvePortletWindow(java.lang.String)
*/
public PortletWindow resolvePortletWindow(String windowId)
Modified: portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/request/RequestContext.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/request/RequestContext.java?rev=763594&r1=763593&r2=763594&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/request/RequestContext.java (original)
+++ portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/request/RequestContext.java Thu Apr 9 10:43:24 2009
@@ -207,10 +207,10 @@
public PortletWindow getPortletWindow(String windowId);
public PortletWindow getPortletWindow(ContentFragment fragment);
- public PortletWindow getInstantlyCreatedPortletWindow(String windowId);
+ public PortletWindow getInstantlyCreatedPortletWindow(String windowId, String portletUniqueName);
public PortletWindow resolvePortletWindow(String windowId);
- public void registerInstantlyCreatedPortletWindow(PortletWindow portletWindow);
public PortletWindow getCurrentPortletWindow();
+ public void setCurrentPortletWindow(PortletWindow window);
/**
* Gets the subject associated with the authorized entity.
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org