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 2007/11/28 00:28:35 UTC

svn commit: r598818 - in /cocoon/trunk/blocks/cocoon-portal: cocoon-portal-api/pom.xml cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/adapter/PortletAdapter.java pom.xml

Author: cziegeler
Date: Tue Nov 27 15:28:25 2007
New Revision: 598818

URL: http://svn.apache.org/viewvc?rev=598818&view=rev
Log:
Fix compilation problems for api and portlet block and put portlet block back into build.

Modified:
    cocoon/trunk/blocks/cocoon-portal/cocoon-portal-api/pom.xml
    cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/adapter/PortletAdapter.java
    cocoon/trunk/blocks/cocoon-portal/pom.xml

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-api/pom.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-api/pom.xml?rev=598818&r1=598817&r2=598818&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-api/pom.xml (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-api/pom.xml Tue Nov 27 15:28:25 2007
@@ -47,9 +47,16 @@
 
   <dependencies>
     <dependency>
+      <groupId>javax.servlet</groupId>
+      <artifactId>servlet-api</artifactId>
+      <scope>provided</scope>
+    </dependency>
+
+    <dependency>
       <groupId>commons-lang</groupId>
       <artifactId>commons-lang</artifactId>
     </dependency>
+
   </dependencies>  
   
 </project>

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/adapter/PortletAdapter.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/adapter/PortletAdapter.java?rev=598818&r1=598817&r2=598818&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/adapter/PortletAdapter.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/adapter/PortletAdapter.java Tue Nov 27 15:28:25 2007
@@ -18,7 +18,6 @@
 
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Map;
 import java.util.Properties;
 
 import javax.portlet.PortletMode;
@@ -31,7 +30,6 @@
 import org.apache.avalon.framework.parameters.Parameters;
 import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.cocoon.components.serializers.util.EncodingSerializer;
-import org.apache.cocoon.environment.http.HttpEnvironment;
 import org.apache.cocoon.portal.Constants;
 import org.apache.cocoon.portal.PortalException;
 import org.apache.cocoon.portal.coplet.adapter.CopletDecorationProvider;
@@ -151,15 +149,15 @@
             coplet.setTemporaryAttribute(PORTLET_WINDOW_ATTRIBUTE_NAME, portletWindow);
 
             // load the portlet
-            final Map objectModel = this.portalService.getProcessInfoProvider().getObjectModel();
-            ServletRequestImpl  req = (ServletRequestImpl) objectModel.get("portlet-request");
+            final HttpServletRequest servletRequest = this.portalService.getRequestContext().getRequest();
+            ServletRequestImpl  req = (ServletRequestImpl) servletRequest.getAttribute("portlet-request-" + coplet.getId());
             if ( req == null ) {
-                final HttpServletResponse res = (HttpServletResponse) objectModel.get(HttpEnvironment.HTTP_RESPONSE_OBJECT);
-                objectModel.put("portlet-response",  new ServletResponseImpl(res));
-                req = new ServletRequestImpl((HttpServletRequest) objectModel.get(HttpEnvironment.HTTP_REQUEST_OBJECT), null);
-                objectModel.put("portlet-request",  req);
+                final HttpServletResponse res = this.portalService.getRequestContext().getResponse();
+                servletRequest.setAttribute("portlet-response-" + coplet.getId(),  new ServletResponseImpl(res));
+                req = new ServletRequestImpl(servletRequest, null);
+                servletRequest.setAttribute("portlet-request-" + coplet.getId(),  req);
             }
-            final HttpServletResponse res = (HttpServletResponse) objectModel.get("portlet-response");
+            final HttpServletResponse res = (HttpServletResponse) servletRequest.getAttribute("portlet-response-" + coplet.getId());
             try {
                 this.portletContainer.portletLoad(portletWindow, req.getRequest(portletWindow),
                                                   res);
@@ -187,9 +185,23 @@
             if ( window == null ) {
                 throw new SAXException("Portlet couldn't be loaded: " + coplet.getId() + "(" + portletEntityId + ")");
             }
-            final Map objectModel = this.portalService.getProcessInfoProvider().getObjectModel();
-            final ServletRequestImpl  req = (ServletRequestImpl) objectModel.get("portlet-request");
-            final HttpServletResponse res = (HttpServletResponse) objectModel.get("portlet-response");
+            final HttpServletRequest servletRequest = this.portalService.getRequestContext().getRequest();
+
+            ServletRequestImpl  req = (ServletRequestImpl) servletRequest.getAttribute("portlet-request-" + coplet.getId());
+            HttpServletResponse res = (HttpServletResponse) servletRequest.getAttribute("portlet-response-" + coplet.getId());
+
+            if ( res == null ) {
+                res = new ServletResponseImpl(this.portalService.getRequestContext().getResponse());
+                servletRequest.setAttribute("portlet-response-" + coplet.getId(), res);
+            }
+            if ( req == null ) {
+                req = new ServletRequestImpl(this.portalService.getRequestContext().getRequest(), null);
+                servletRequest.setAttribute("portlet-request-" + coplet.getId(),  req);
+            }
+            if ( !this.portalService.getUserService().getUser().isAnonymous() ) {
+                req.setAttribute(PortletRequest.USER_INFO,
+                        this.portalService.getUserService().getUser().getUserInfos());
+            }
 
             // TODO - for parallel processing we have to clone the response!
             this.portletContainer.renderPortlet(window, req.getRequest(window), res);
@@ -304,15 +316,15 @@
      * @see Receiver
      */
     public void inform(PortletURLProviderImpl event) {
-        final Map objectModel = this.portalService.getProcessInfoProvider().getObjectModel();
-        final ServletRequestImpl req = new ServletRequestImpl((HttpServletRequest) objectModel.get(HttpEnvironment.HTTP_REQUEST_OBJECT), event);
-        final HttpServletResponse res = new ServletResponseImpl((HttpServletResponse) objectModel.get(HttpEnvironment.HTTP_RESPONSE_OBJECT));
+        final HttpServletRequest servletRequest = this.portalService.getRequestContext().getRequest();
+        final ServletRequestImpl req = new ServletRequestImpl(servletRequest, event);
+        final HttpServletResponse res = new ServletResponseImpl(this.portalService.getRequestContext().getResponse());
         if ( !this.portalService.getUserService().getUser().isAnonymous() ) {
             req.setAttribute(PortletRequest.USER_INFO,
                     this.portalService.getUserService().getUser().getUserInfos());
         }
-        objectModel.put("portlet-response",  res);
-        objectModel.put("portlet-request", req);
+        servletRequest.setAttribute("portlet-response-" + event.getTarget().getId(),  res);
+        servletRequest.setAttribute("portlet-request-" + event.getTarget().getId(), req);
         // change portlet mode and window state
         final InformationProviderService ips = (InformationProviderService)this.portletContainerEnvironment.getContainerService(InformationProviderService.class);
         final DynamicInformationProvider dynProv = ips.getDynamicProvider(req);
@@ -328,7 +340,8 @@
         }
         if ( event.isAction() ) {
             // This means we can only have ONE portlet event per request!
-            objectModel.put("portlet-event", event);
+            servletRequest.setAttribute("portlet-event", event);
+            servletRequest.setAttribute("portlet-event-target", event.getTarget().getId());
         } else {
             ((PortletActionProviderImpl)pap).changeRenderParameters(event.getParameters());
         }
@@ -364,27 +377,19 @@
 
         // do we already have an environment?
         // if not, create one
-        final Map objectModel = aspectContext.getPortalService().getProcessInfoProvider().getObjectModel();
+        final HttpServletRequest servletRequest = this.portalService.getRequestContext().getRequest();
 
-        PortletURLProviderImpl event = (PortletURLProviderImpl) objectModel.get("portlet-event");
+        PortletURLProviderImpl event = (PortletURLProviderImpl) servletRequest.getAttribute("portlet-event");
         if ( event != null ) {
+            final String targetId = (String) servletRequest.getAttribute("portlet-event-target");
             PortletWindow actionWindow = event.getPortletWindow();
             try {
-                final ServletRequestImpl req = (ServletRequestImpl) objectModel.get("portlet-request");
-                final ServletResponseImpl res= (ServletResponseImpl)objectModel.get("portlet-response");
+                final ServletRequestImpl req = (ServletRequestImpl) servletRequest.getAttribute("portlet-request-" + targetId);
+                final ServletResponseImpl res= (ServletResponseImpl)servletRequest.getAttribute("portlet-response-" + targetId);
                 this.portletContainer.processPortletAction(actionWindow, req.getRequest(actionWindow), res);
             } catch (Exception ignore) {
                 this.getLogger().error("Error during processing of portlet action.", ignore);
             }
-        } else if ( objectModel.get("portlet-response") == null ) {
-            final HttpServletResponse res = (HttpServletResponse) objectModel.get(HttpEnvironment.HTTP_RESPONSE_OBJECT);
-            objectModel.put("portlet-response",  new ServletResponseImpl(res));
-            final ServletRequestImpl req = new ServletRequestImpl((HttpServletRequest) objectModel.get(HttpEnvironment.HTTP_REQUEST_OBJECT), null);
-            objectModel.put("portlet-request",  req);
-            if ( !aspectContext.getPortalService().getUserService().getUser().isAnonymous() ) {
-                req.setAttribute(PortletRequest.USER_INFO,
-                        aspectContext.getPortalService().getUserService().getUser().getUserInfos());
-            }
         }
     }
 
@@ -395,12 +400,14 @@
                        ContentHandler ch,
                        Properties properties)
     throws SAXException {
-        final Map objectModel = aspectContext.getPortalService().getProcessInfoProvider().getObjectModel();
+        final HttpServletRequest servletRequest = aspectContext.getPortalService().getRequestContext().getRequest();
 
         // don't generate a response, if we issued a redirect
-        if (objectModel.remove("portlet-event") == null) {
+        if (servletRequest.getAttribute("portlet-event") == null) {
             aspectContext.invokeNext(ch, properties);
         }
+        servletRequest.removeAttribute("portlet-event");
+        servletRequest.removeAttribute("portlet-event-target");
     }
 
     protected String getResponse(CopletInstance instance, HttpServletResponse response) {
@@ -415,7 +422,7 @@
         final PortletWindow window = (PortletWindow)copletInstanceData.getTemporaryAttribute(PORTLET_WINDOW_ATTRIBUTE_NAME);
         if ( window != null ) {
             InformationProviderService ips = (InformationProviderService) this.portletContainerEnvironment.getContainerService(InformationProviderService.class);
-            DynamicInformationProvider dip = ips.getDynamicProvider((HttpServletRequest) this.portalService.getProcessInfoProvider().getObjectModel().get("portlet-request"));
+            DynamicInformationProvider dip = ips.getDynamicProvider(this.portalService.getRequestContext().getRequest());
 
             // portlet modes
             final String pmString = (String)copletInstanceData.getTemporaryAttribute(PORTLET_MODE_ATTRIBUTE_NAME);
@@ -456,7 +463,7 @@
         final PortletWindow window = (PortletWindow)copletInstanceData.getTemporaryAttribute(PORTLET_WINDOW_ATTRIBUTE_NAME);
         if ( window != null ) {
             InformationProviderService ips = (InformationProviderService) this.portletContainerEnvironment.getContainerService(InformationProviderService.class);
-            DynamicInformationProvider dip = ips.getDynamicProvider((HttpServletRequest)this.portalService.getProcessInfoProvider().getObjectModel().get("portlet-request"));
+            DynamicInformationProvider dip = ips.getDynamicProvider(this.portalService.getRequestContext().getRequest());
 
             // Sizing
             final String wsString = (String)copletInstanceData.getTemporaryAttribute(WINDOW_STATE_ATTRIBUTE_NAME);

Modified: cocoon/trunk/blocks/cocoon-portal/pom.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/pom.xml?rev=598818&r1=598817&r2=598818&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/pom.xml (original)
+++ cocoon/trunk/blocks/cocoon-portal/pom.xml Tue Nov 27 15:28:25 2007
@@ -37,8 +37,8 @@
     <module>cocoon-portal-api</module>
     <module>cocoon-portal-auth-impl</module>
     <module>cocoon-portal-impl</module>
-    <!-- 
     <module>cocoon-portal-portlet-impl</module>
+    <!-- 
     <module>cocoon-portal-portlet-newimpl</module>
     <module>cocoon-portal-wsrp-impl</module>
      -->