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 11:09:30 UTC

svn commit: r358547 - in /cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal: coplet/adapter/impl/PortletAdapter.java pluto/PortletActionProviderImpl.java pluto/servlet/ServletRequestImpl.java

Author: cziegeler
Date: Thu Dec 22 02:09:23 2005
New Revision: 358547

URL: http://svn.apache.org/viewcvs?rev=358547&view=rev
Log:
Fix render parameter handling

Modified:
    cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/coplet/adapter/impl/PortletAdapter.java
    cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/pluto/PortletActionProviderImpl.java
    cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/pluto/servlet/ServletRequestImpl.java

Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/coplet/adapter/impl/PortletAdapter.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/coplet/adapter/impl/PortletAdapter.java?rev=358547&r1=358546&r2=358547&view=diff
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/coplet/adapter/impl/PortletAdapter.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/coplet/adapter/impl/PortletAdapter.java Thu Dec 22 02:09:23 2005
@@ -43,6 +43,7 @@
 import org.apache.cocoon.portal.coplet.CopletInstanceData;
 import org.apache.cocoon.portal.event.EventManager;
 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;
@@ -359,6 +360,7 @@
             if ( state != null ) {
                 pap.changePortletWindowState(state);
             }
+            ((PortletActionProviderImpl)pap).changeRenderParameters(event.getParameters());
         }
     }
 

Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/pluto/PortletActionProviderImpl.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/pluto/PortletActionProviderImpl.java?rev=358547&r1=358546&r2=358547&view=diff
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/pluto/PortletActionProviderImpl.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/pluto/PortletActionProviderImpl.java Thu Dec 22 02:09:23 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;
 
@@ -73,4 +76,12 @@
         }
     }
 
+    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/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/pluto/servlet/ServletRequestImpl.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/pluto/servlet/ServletRequestImpl.java?rev=358547&r1=358546&r2=358547&view=diff
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/pluto/servlet/ServletRequestImpl.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/pluto/servlet/ServletRequestImpl.java Thu Dec 22 02:09:23 2005
@@ -25,11 +25,13 @@
 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;
 
 /**
- * Our request wrapper
+ * Our request wrapper.
  *
  * @author <a href="mailto:cziegeler@apache.org">Carsten Ziegeler</a>
  * @version CVS $Id$
@@ -109,11 +111,13 @@
              || currentRequest != this.cachedRequest ) {
             this.cachedRequest = currentRequest;
 
-            //get control params
-            this.portletParameterMap = new HashMap();
+            // get control params
 
             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()) {
@@ -148,6 +152,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;
             }
         }