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 2006/03/08 13:22:40 UTC

svn commit: r384198 - /cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/coplet/adapter/impl/PortletAdapter.java

Author: cziegeler
Date: Wed Mar  8 04:22:38 2006
New Revision: 384198

URL: http://svn.apache.org/viewcvs?rev=384198&view=rev
Log:
Fix bug in handling multiple instances of the same portlet

Modified:
    cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/coplet/adapter/impl/PortletAdapter.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=384198&r1=384197&r2=384198&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 Wed Mar  8 04:22:38 2006
@@ -74,7 +74,7 @@
 
 
 /**
- * This is the adapter to use JSR-168 portlets as coplets
+ * This is the adapter to use JSR-168 portlets as coplets.
  *
  * @author <a href="mailto:cziegeler@apache.org">Carsten Ziegeler</a>
  * @version $Id$
@@ -82,10 +82,10 @@
 public class PortletAdapter 
     extends AbstractCopletAdapter
     implements Contextualizable, Initializable, PortalManagerAspect, Receiver, Disposable {
-	
+
     /** The avalon context */
     protected Context context;
-    
+
     /** The servlet configuration for pluto */
     protected ServletConfig servletConfig;
 
@@ -114,8 +114,8 @@
             this.getLogger().warn("The JSR-168 support is disabled as the servlet context is not available.", ignore);
         }
     }
-    
-    /* (non-Javadoc)
+
+    /**
      * @see org.apache.cocoon.portal.coplet.adapter.CopletAdapter#login(org.apache.cocoon.portal.coplet.CopletInstanceData)
      */
     public void login(CopletInstanceData coplet) {
@@ -125,12 +125,12 @@
             return;
         }
         PortletDefinitionRegistry registry = (PortletDefinitionRegistry) portletContainerEnvironment.getContainerService(PortletDefinitionRegistry.class);
-        
+
         final String portletEntityId = (String) getConfiguration(coplet, "portlet");   
-        
+
         PortletApplicationEntity pae = registry.getPortletApplicationEntityList().get(ObjectIDImpl.createFromString("cocoon"));
         PortletEntity portletEntity = ((PortletEntityListImpl)pae.getPortletEntityList()).add(pae, portletEntityId, coplet, registry);
-        
+
         if ( portletEntity.getPortletDefinition() != null ) {
             // create the window
             PortletWindow portletWindow = new PortletWindowImpl(portletEntityId);                
@@ -139,7 +139,7 @@
             PortletWindowList windowList = portletEntity.getPortletWindowList();        
             ((PortletWindowListCtrl)windowList).add(portletWindow);    
             coplet.setTemporaryAttribute("window", portletWindow);
-            
+
             // load the portlet
             final Map objectModel = ContextHelper.getObjectModel(this.context);
             ServletRequestImpl  req = (ServletRequestImpl) objectModel.get("portlet-request");
@@ -180,10 +180,10 @@
             final Map objectModel = ContextHelper.getObjectModel(this.context);
             final ServletRequestImpl  req = (ServletRequestImpl) objectModel.get("portlet-request");
             final HttpServletResponse res = (HttpServletResponse) objectModel.get("portlet-response");
-            
+
             // TODO - for parallel processing we have to clone the response!
             this.portletContainer.renderPortlet(window, req.getRequest(window), res);
-            final String value = res.toString();
+            final String value = this.getResponse(coplet, res);
 
             final Boolean usePipeline = (Boolean)this.getConfiguration(coplet, "use-pipeline", Boolean.FALSE);
             if ( usePipeline.booleanValue() ) {
@@ -365,12 +365,12 @@
     throws ProcessingException {
         // process the events
         aspectContext.invokeNext();
-        
+
         // if we aren't running in a servlet environment, just skip the JSR-168 part
         if ( this.servletConfig == null ) {
             return;
         }
-        
+
         // do we already have an environment?
         // if not, create one
         final Map objectModel = aspectContext.getObjectModel();
@@ -409,7 +409,7 @@
         }
     }
 
-    protected String getResponse(HttpServletResponse response) {
+    protected String getResponse(CopletInstanceData instance, HttpServletResponse response) {
         return response.toString();
     }
 }