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/08/22 08:20:43 UTC

svn commit: r433542 [2/2] - in /cocoon/trunk/blocks/cocoon-portal: cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/ cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/ cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/eve...

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/services/impl/DefaultLinkService.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/services/impl/DefaultLinkService.java?rev=433542&r1=433541&r2=433542&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/services/impl/DefaultLinkService.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/services/impl/DefaultLinkService.java Mon Aug 21 23:20:41 2006
@@ -21,23 +21,14 @@
 import java.util.List;
 import java.util.StringTokenizer;
 
-import org.apache.avalon.framework.activity.Disposable;
-import org.apache.avalon.framework.context.Context;
-import org.apache.avalon.framework.context.ContextException;
-import org.apache.avalon.framework.context.Contextualizable;
-import org.apache.avalon.framework.logger.AbstractLogEnabled;
 import org.apache.avalon.framework.parameters.ParameterException;
 import org.apache.avalon.framework.parameters.Parameterizable;
 import org.apache.avalon.framework.parameters.Parameters;
-import org.apache.avalon.framework.service.ServiceException;
-import org.apache.avalon.framework.service.ServiceManager;
-import org.apache.avalon.framework.service.Serviceable;
-import org.apache.avalon.framework.thread.ThreadSafe;
 import org.apache.cocoon.components.ContextHelper;
 import org.apache.cocoon.environment.Request;
 import org.apache.cocoon.portal.event.ComparableEvent;
 import org.apache.cocoon.portal.event.Event;
-import org.apache.cocoon.portal.event.EventConverter;
+import org.apache.cocoon.portal.impl.AbstractComponent;
 import org.apache.cocoon.portal.services.LinkService;
 import org.apache.cocoon.util.NetUtils;
 
@@ -46,23 +37,10 @@
  * @version $Id$
  */
 public class DefaultLinkService 
-    extends AbstractLogEnabled
+    extends AbstractComponent
     implements LinkService,
-               ThreadSafe,
-               Serviceable,
-               Disposable,
-               Contextualizable,
                Parameterizable {
 
-    /** The converter used to convert an event into a request parameter. */
-    protected EventConverter converter;
-
-    /** The service manager. */
-    protected ServiceManager manager;
-
-    /** The cocoon context- */
-    protected Context context;
-
     /** Default port used for http. */
     protected int defaultPort = 80;
 
@@ -76,14 +54,6 @@
     protected List internalParametersMatchers = new ArrayList();
 
     /**
-     * @see org.apache.avalon.framework.service.Serviceable#service(org.apache.avalon.framework.service.ServiceManager)
-     */
-    public void service(ServiceManager aManager) throws ServiceException {
-        this.manager = aManager;
-        this.converter = (EventConverter)this.manager.lookup(EventConverter.ROLE);
-    }
-
-    /**
      * @see org.apache.avalon.framework.parameters.Parameterizable#parameterize(org.apache.avalon.framework.parameters.Parameters)
      */
     public void parameterize(Parameters params) throws ParameterException {
@@ -190,7 +160,7 @@
         } else {
             buffer.append('?');
         }
-        final String value = this.converter.encode(event);
+        final String value = this.portalService.getEventConverter().encode(event);
         try {
             buffer.append(DEFAULT_REQUEST_EVENT_PARAMETER_NAME).append('=').append(NetUtils.encode(value, "utf-8"));
         } catch (UnsupportedEncodingException uee) {
@@ -273,7 +243,7 @@
         if (event == null) {
             return;
         }
-        final String value = this.converter.encode(event);
+        final String value = this.portalService.getEventConverter().encode(event);
         final LinkInfo info = this.getInfo();
         if (event instanceof ComparableEvent) {
             // search if we already have an event for this!
@@ -344,24 +314,6 @@
         return buffer.toString();
     }
     
-    /**
-     * @see org.apache.avalon.framework.activity.Disposable#dispose()
-     */
-    public void dispose() {
-        if (this.manager != null) {
-            this.manager.release( this.converter );
-            this.converter = null;
-            this.manager = null;
-        }
-    }
-
-    /**
-     * @see org.apache.avalon.framework.context.Contextualizable#contextualize(org.apache.avalon.framework.context.Context)
-     */
-    public void contextualize(Context aContext) throws ContextException {
-        this.context = aContext;
-    }
-
     /**
      * @see org.apache.cocoon.portal.services.LinkService#getInternalParameterNames()
      */

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/spring/RegistrationBeanPostProcessor.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/spring/RegistrationBeanPostProcessor.java?rev=433542&r1=433541&r2=433542&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/spring/RegistrationBeanPostProcessor.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/spring/RegistrationBeanPostProcessor.java Mon Aug 21 23:20:41 2006
@@ -16,7 +16,9 @@
 package org.apache.cocoon.portal.spring;
 
 import org.apache.cocoon.portal.PortalService;
+import org.apache.cocoon.portal.coplet.adapter.CopletAdapter;
 import org.apache.cocoon.portal.layout.renderer.Renderer;
+import org.apache.cocoon.portal.services.aspects.PortalManagerAspect;
 import org.springframework.beans.BeansException;
 import org.springframework.beans.factory.BeanFactory;
 import org.springframework.beans.factory.BeanFactoryAware;
@@ -52,6 +54,9 @@
                 name = name.substring(RENDERER_ROLE_PREFIX.length());
             }
             ((PortalService)this.beanFactory.getBean(PortalService.ROLE)).register(name, (Renderer)bean);
+        }
+        if ( bean instanceof CopletAdapter && bean instanceof PortalManagerAspect ) {
+            ((PortalService)this.beanFactory.getBean(PortalService.ROLE)).getPortalManager().register((PortalManagerAspect)bean);
         }
         return bean;
     }

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/portal.roles
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/portal.roles?rev=433542&r1=433541&r2=433542&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/portal.roles (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/portal.roles Mon Aug 21 23:20:41 2006
@@ -62,8 +62,8 @@
     <role name="org.apache.cocoon.portal.PortalManagerAspectSelector"
           default-class="org.apache.cocoon.core.container.DefaultServiceSelector"/>
 
-    <role name="org.apache.cocoon.portal.PortalManagerAspect/preload"
-          default-class="org.apache.cocoon.portal.impl.PreloadPortalManagerAspect"/>
+    <role name="org.apache.cocoon.portal.services.aspects.PortalManagerAspect/preload"
+          default-class="org.apache.cocoon.portal.services.aspects.impl.PreloadPortalManagerAspect"/>
 
   <!--+
       | Renderer

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=433542&r1=433541&r2=433542&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 Mon Aug 21 23:20:41 2006
@@ -34,9 +34,6 @@
 import org.apache.cocoon.components.ContextHelper;
 import org.apache.cocoon.environment.http.HttpEnvironment;
 import org.apache.cocoon.portal.Constants;
-import org.apache.cocoon.portal.PortalManagerAspect;
-import org.apache.cocoon.portal.PortalManagerAspectPrepareContext;
-import org.apache.cocoon.portal.PortalManagerAspectRenderContext;
 import org.apache.cocoon.portal.PortalService;
 import org.apache.cocoon.portal.coplet.adapter.CopletDecorationProvider;
 import org.apache.cocoon.portal.coplet.adapter.DecorationAction;
@@ -55,6 +52,9 @@
 import org.apache.cocoon.portal.pluto.servlet.ServletRequestImpl;
 import org.apache.cocoon.portal.pluto.servlet.ServletResponseImpl;
 import org.apache.cocoon.portal.serialization.IncludingHTMLSerializer;
+import org.apache.cocoon.portal.services.aspects.PortalManagerAspect;
+import org.apache.cocoon.portal.services.aspects.PortalManagerAspectPrepareContext;
+import org.apache.cocoon.portal.services.aspects.PortalManagerAspectRenderContext;
 import org.apache.cocoon.portal.util.HtmlSaxParser;
 import org.apache.cocoon.xml.AttributesImpl;
 import org.apache.pluto.PortletContainer;
@@ -364,17 +364,16 @@
     }
 
     /**
-     * @see org.apache.cocoon.portal.PortalManagerAspect#prepare(org.apache.cocoon.portal.PortalManagerAspectPrepareContext, org.apache.cocoon.portal.PortalService)
+     * @see org.apache.cocoon.portal.services.aspects.PortalManagerAspect#prepare(org.apache.cocoon.portal.services.aspects.PortalManagerAspectPrepareContext)
      */
-    public void prepare(PortalManagerAspectPrepareContext aspectContext,
-                        PortalService service)
+    public void prepare(PortalManagerAspectPrepareContext aspectContext)
     throws ProcessingException {
         // process the events
         aspectContext.invokeNext();
 
         // do we already have an environment?
         // if not, create one
-        final Map objectModel = service.getProcessInfoProvider().getObjectModel();
+        final Map objectModel = aspectContext.getPortalService().getProcessInfoProvider().getObjectModel();
 
         PortletURLProviderImpl event = (PortletURLProviderImpl) objectModel.get("portlet-event");
         if ( event != null ) {
@@ -391,22 +390,21 @@
             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 ( !service.getUserService().getUser().isAnonymous() ) {
+            if ( !aspectContext.getPortalService().getUserService().getUser().isAnonymous() ) {
                 req.setAttribute(PortletRequest.USER_INFO,
-                                 service.getUserService().getUser().getUserInfos());
+                        aspectContext.getPortalService().getUserService().getUser().getUserInfos());
             }
         }
     }
 
     /**
-     * @see org.apache.cocoon.portal.PortalManagerAspect#render(org.apache.cocoon.portal.PortalManagerAspectRenderContext, org.apache.cocoon.portal.PortalService, org.xml.sax.ContentHandler, java.util.Properties)
+     * @see org.apache.cocoon.portal.services.aspects.PortalManagerAspect#render(org.apache.cocoon.portal.services.aspects.PortalManagerAspectRenderContext, org.xml.sax.ContentHandler, java.util.Properties)
      */
     public void render(PortalManagerAspectRenderContext aspectContext,
-                       PortalService service,
                        ContentHandler ch,
                        Properties properties)
     throws SAXException {
-        final Map objectModel = service.getProcessInfoProvider().getObjectModel();
+        final Map objectModel = aspectContext.getPortalService().getProcessInfoProvider().getObjectModel();
 
         // don't generate a response, if we issued a redirect
         if (objectModel.remove("portlet-event") == null) {

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-sample/src/main/resources/COB-INF/config/xconf/cocoon-portal-sample.xconf
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-sample/src/main/resources/COB-INF/config/xconf/cocoon-portal-sample.xconf?rev=433542&r1=433541&r2=433542&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-sample/src/main/resources/COB-INF/config/xconf/cocoon-portal-sample.xconf (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-sample/src/main/resources/COB-INF/config/xconf/cocoon-portal-sample.xconf Mon Aug 21 23:20:41 2006
@@ -81,18 +81,14 @@
 
   <!-- This is the portal manager.
        The portal manager can be extended with different aspects.
-       Currently the JSR-168 aspect is configured/activated.
-       If you don't need the JSR-168 support uncomment the aspect.
   -->
   <portal-manager>
     <aspects>
-      <!-- JSR-168 support: -->
-      <aspect adapter="portlet"/>
     </aspects>
   </portal-manager>
 
   <portal-event-manager>
-    <event-aspects>
+    <aspects>
         <!--  The client should not cache the page. -->
         <aspect type="no-client-caching"/>
         <!-- Use the action counter with great care. We recommend turning it off. -->
@@ -106,7 +102,7 @@
         <!-- Comment the following out if you don't need WSRP: --> 
         <aspect type="wsrp"/>
         <aspect type="request-parameter"/>
-    </event-aspects>
+    </aspects>
   </portal-event-manager>
 
   <!--+

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-sample/src/main/resources/COB-INF/sitemap.xmap
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-sample/src/main/resources/COB-INF/sitemap.xmap?rev=433542&r1=433541&r2=433542&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-sample/src/main/resources/COB-INF/sitemap.xmap (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-sample/src/main/resources/COB-INF/sitemap.xmap Mon Aug 21 23:20:41 2006
@@ -75,6 +75,21 @@
   <!-- =========================== Pipelines ================================= -->
 
   <map:pipelines>
+    <map:pipeline>
+      <!-- Do an auto login as anonymous -->
+      <map:act type="cauth-is-logged-in">
+        <map:parameter name="application" value="portal"/>
+        <map:parameter name="negate-result" value="true"/>
+
+        <map:act type="cauth-login">
+          <map:parameter name="application" value="portal"/>
+
+          <map:parameter name="name" value="anonymous"/>
+          <map:parameter name="password" value="anonymous"/>
+        </map:act>
+      </map:act>
+    </map:pipeline>
+
     <!-- The internal pipelines for loading and saving -->
     <map:pipeline internal-only="true">
       <map:match pattern="sunrise-authuser">
@@ -175,19 +190,6 @@
       <map:match pattern="portlets/**">
         <map:mount src="portlets/" uri-prefix="portlets"/>
       </map:match>
-
-      <!-- Do an auto login as anonymous -->
-      <map:act type="cauth-is-logged-in">
-        <map:parameter name="application" value="portal"/>
-        <map:parameter name="negate-result" value="true"/>
-
-        <map:act type="cauth-login">
-          <map:parameter name="application" value="portal"/>
-
-          <map:parameter name="name" value="anonymous"/>
-          <map:parameter name="password" value="anonymous"/>
-        </map:act>
-      </map:act>
 
       <!-- Test pipeline for portal engine -->
       <map:match pattern="portal">

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-wsrp-impl/src/main/java/org/apache/cocoon/portal/wsrp/adapter/WSRPEventAspect.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-wsrp-impl/src/main/java/org/apache/cocoon/portal/wsrp/adapter/WSRPEventAspect.java?rev=433542&r1=433541&r2=433542&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-wsrp-impl/src/main/java/org/apache/cocoon/portal/wsrp/adapter/WSRPEventAspect.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-wsrp-impl/src/main/java/org/apache/cocoon/portal/wsrp/adapter/WSRPEventAspect.java Mon Aug 21 23:20:41 2006
@@ -22,7 +22,6 @@
 import org.apache.avalon.framework.thread.ThreadSafe;
 import org.apache.cocoon.environment.ObjectModelHelper;
 import org.apache.cocoon.environment.Request;
-import org.apache.cocoon.portal.PortalService;
 import org.apache.cocoon.portal.event.Event;
 import org.apache.cocoon.portal.event.aspect.EventAspect;
 import org.apache.cocoon.portal.event.aspect.EventAspectContext;
@@ -38,10 +37,10 @@
     public static final String REQUEST_PARAMETER_NAME = "cocoon-wsrpevent";
 
     /**
-     * @see org.apache.cocoon.portal.event.aspect.EventAspect#process(org.apache.cocoon.portal.event.aspect.EventAspectContext, org.apache.cocoon.portal.PortalService)
+     * @see org.apache.cocoon.portal.event.aspect.EventAspect#process(org.apache.cocoon.portal.event.aspect.EventAspectContext)
      */
-    public void process(EventAspectContext context, PortalService service) {
-        final Request request = ObjectModelHelper.getRequest(service.getProcessInfoProvider().getObjectModel());
+    public void process(EventAspectContext context) {
+        final Request request = ObjectModelHelper.getRequest(context.getPortalService().getProcessInfoProvider().getObjectModel());
         final String[] values = request.getParameterValues("cocoon-wsrpevent");
         if ( values != null && values.length == 1 ) {
             // create a wsrp event, first build map of parameters
@@ -55,11 +54,11 @@
                 }
             }
             final String copletid = values[0];
-            final CopletInstance cid = service.getProfileManager().getCopletInstance(copletid);
+            final CopletInstance cid = context.getPortalService().getProfileManager().getCopletInstance(copletid);
 
             final Event e = new WSRPEvent(cid, parameters);
-            service.getEventManager().send(e);
+            context.getPortalService().getEventManager().send(e);
         }
-        context.invokeNext(service);
+        context.invokeNext();
     }
 }