You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by cz...@apache.org on 2005/12/22 10:34:21 UTC
svn commit: r358540 - in
/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto:
PortletActionProviderImpl.java adapter/PortletAdapter.java
servlet/ServletRequestImpl.java
Author: cziegeler
Date: Thu Dec 22 01:34:15 2005
New Revision: 358540
URL: http://svn.apache.org/viewcvs?rev=358540&view=rev
Log:
Fix render parameter handling
Modified:
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/PortletActionProviderImpl.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/adapter/PortletAdapter.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/servlet/ServletRequestImpl.java
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/PortletActionProviderImpl.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/PortletActionProviderImpl.java?rev=358540&r1=358539&r2=358540&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/PortletActionProviderImpl.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/PortletActionProviderImpl.java Thu Dec 22 01:34:15 2005
@@ -15,6 +15,9 @@
*/
package org.apache.cocoon.portal.pluto;
+import java.util.HashMap;
+import java.util.Map;
+
import javax.portlet.PortletMode;
import javax.portlet.WindowState;
@@ -80,6 +83,15 @@
final Event e = new CopletInstanceSizingEvent(cid, size);
this.portalService.getComponentManager().getEventManager().send(e);
}
+ }
+ }
+
+ public void changeRenderParameters(Map parameters) {
+ final CopletInstanceData cid = ((PortletEntityImpl)portletWindow.getPortletEntity()).getCopletInstanceData();
+ if ( parameters == null ) {
+ cid.removeTemporaryAttribute("render-parameters");
+ } else {
+ cid.setTemporaryAttribute("render-parameters", new HashMap(parameters));
}
}
}
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/adapter/PortletAdapter.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/adapter/PortletAdapter.java?rev=358540&r1=358539&r2=358540&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/adapter/PortletAdapter.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/adapter/PortletAdapter.java Thu Dec 22 01:34:15 2005
@@ -41,6 +41,7 @@
import org.apache.cocoon.portal.coplet.CopletInstanceData;
import org.apache.cocoon.portal.coplet.adapter.impl.AbstractCopletAdapter;
import org.apache.cocoon.portal.event.Receiver;
+import org.apache.cocoon.portal.pluto.PortletActionProviderImpl;
import org.apache.cocoon.portal.pluto.PortletContainerEnvironmentImpl;
import org.apache.cocoon.portal.pluto.PortletURLProviderImpl;
import org.apache.cocoon.portal.pluto.om.PortletDefinitionRegistry;
@@ -333,6 +334,7 @@
if ( state != null ) {
pap.changePortletWindowState(state);
}
+ ((PortletActionProviderImpl)pap).changeRenderParameters(event.getParameters());
}
}
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/servlet/ServletRequestImpl.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/servlet/ServletRequestImpl.java?rev=358540&r1=358539&r2=358540&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/servlet/ServletRequestImpl.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/servlet/ServletRequestImpl.java Thu Dec 22 01:34:15 2005
@@ -25,7 +25,9 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
+import org.apache.cocoon.portal.coplet.CopletInstanceData;
import org.apache.cocoon.portal.pluto.PortletURLProviderImpl;
+import org.apache.cocoon.portal.pluto.om.PortletWindowImpl;
import org.apache.pluto.om.window.PortletWindow;
/**
@@ -109,10 +111,12 @@
this.cachedRequest = currentRequest;
// get control params
- this.portletParameterMap = new HashMap();
if (this.provider != null
&& this.provider.getPortletWindow().equals(this.window)) {
+
+ this.portletParameterMap = new HashMap();
+
// get render parameters
Iterator i = this.provider.getParameters().entrySet().iterator();
while (i.hasNext()) {
@@ -147,6 +151,13 @@
this.portletParameterMap.put(paramName, paramValues);
}
}
+ } else {
+ // provider is null or different window, use stored render parameters
+ final CopletInstanceData cid = ((PortletWindowImpl)this.window).getLayout().getCopletInstanceData();
+ this.portletParameterMap = (Map)cid.getTemporaryAttribute("render-parameters");
+ }
+ if ( this.portletParameterMap == null ) {
+ this.portletParameterMap = Collections.EMPTY_MAP;
}
}