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/02/20 13:10:55 UTC

svn commit: r509529 - in /cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main: java/org/apache/cocoon/portal/ java/org/apache/cocoon/portal/impl/ java/org/apache/cocoon/portal/spring/ resources/org/apache/cocoon/portal/

Author: cziegeler
Date: Tue Feb 20 04:10:54 2007
New Revision: 509529

URL: http://svn.apache.org/viewvc?view=rev&rev=509529
Log:
Use new bean map for getting all configured renderers.

Modified:
    cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/PortalService.java
    cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/impl/PortalServiceImpl.java
    cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/spring/RegistrationBeanPostProcessor.java
    cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/cocoon-portal-components.xml

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/PortalService.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/PortalService.java?view=diff&rev=509529&r1=509528&r2=509529
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/PortalService.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/PortalService.java Tue Feb 20 04:10:54 2007
@@ -125,12 +125,6 @@
     PortalManager getPortalManager();
 
     /**
-     * Register a renderer.
-     * @since 2.2
-     */
-    void register(String name, Renderer renderer);
-
-    /**
      * Get the process info provider for accessing request
      * information.
      * @since 2.2

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/impl/PortalServiceImpl.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/impl/PortalServiceImpl.java?view=diff&rev=509529&r1=509528&r2=509529
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/impl/PortalServiceImpl.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/impl/PortalServiceImpl.java Tue Feb 20 04:10:54 2007
@@ -94,7 +94,7 @@
     protected LinkService linkService;
 
     /** The used renderers. */
-    protected Map renderers = new HashMap();
+    protected Map renderers = Collections.EMPTY_MAP;
 
     /** The used coplet adapters. */
     protected Map copletAdapters = new HashMap();
@@ -123,6 +123,7 @@
     public void service(ServiceManager serviceManager) throws ServiceException {
         this.manager = serviceManager;
         this.processInfoProvider = (ProcessInfoProvider)this.manager.lookup(ProcessInfoProvider.ROLE);
+        this.renderers = (Map)this.manager.lookup(Renderer.class.getName()+"Map");
     }
 
     /**
@@ -150,7 +151,6 @@
             this.servletContext.removeAttribute(PortalService.class.getName());
         }
         if ( this.manager != null ) {
-            this.renderers.clear();
             Iterator i = this.copletAdapters.values().iterator();
             while (i.hasNext()) {
                 this.manager.release(i.next());
@@ -381,13 +381,6 @@
             }
         }
         return this.portalManager;
-    }
-
-    /**
-     * @see org.apache.cocoon.portal.PortalService#register(String, org.apache.cocoon.portal.layout.renderer.Renderer)
-     */
-    public void register(String name, Renderer renderer) {
-        this.renderers.put(name, renderer);
     }
 
     /**

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?view=diff&rev=509529&r1=509528&r2=509529
==============================================================================
--- 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 Tue Feb 20 04:10:54 2007
@@ -18,7 +18,6 @@
 
 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;
@@ -36,8 +35,6 @@
 
     protected BeanFactory beanFactory;
 
-    protected static String RENDERER_ROLE_PREFIX = Renderer.class.getName() + '.';
-
     /**
      * @see org.springframework.beans.factory.BeanFactoryAware#setBeanFactory(org.springframework.beans.factory.BeanFactory)
      */
@@ -49,13 +46,6 @@
      * @see org.springframework.beans.factory.config.BeanPostProcessor#postProcessAfterInitialization(java.lang.Object, java.lang.String)
      */
     public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
-        if ( bean instanceof Renderer ) {
-            String name = beanName;
-            if ( name.startsWith(RENDERER_ROLE_PREFIX) ) {
-                name = name.substring(RENDERER_ROLE_PREFIX.length());
-            }
-            ((PortalService)this.beanFactory.getBean(PortalService.class.getName())).register(name, (Renderer)bean);
-        }
         if ( bean instanceof CopletAdapter && bean instanceof PortalManagerAspect ) {
             ((PortalService)this.beanFactory.getBean(PortalService.class.getName())).getPortalManager().register((PortalManagerAspect)bean);
         }

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/cocoon-portal-components.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/cocoon-portal-components.xml?view=diff&rev=509529&r1=509528&r2=509529
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/cocoon-portal-components.xml (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/cocoon-portal-components.xml Tue Feb 20 04:10:54 2007
@@ -24,9 +24,11 @@
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:util="http://www.springframework.org/schema/util"
        xmlns:portal="http://cocoon.apache.org/schema/portal"
+       xmlns:configurator="http://cocoon.apache.org/schema/configurator"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
                            http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd
-                           http://cocoon.apache.org/schema/portal http://cocoon.apache.org/schema/portal/cocoon-portal-1.0.xsd">
+                           http://cocoon.apache.org/schema/portal http://cocoon.apache.org/schema/portal/cocoon-portal-1.0.xsd
+                           http://cocoon.apache.org/schema/configurator http://cocoon.apache.org/schema/configurator/cocoon-configurator-1.0.1.xsd">
 
   <!--+
       | Abstract Bean used as a base for nearly all beans
@@ -191,4 +193,10 @@
           parent="org.apache.cocoon.portal.util.AbstractBean"
           scope="singleton"/>
 
+  <!--+
+      | Renderer map
+      |
+      +-->
+    <configurator:bean-map id="org.apache.cocoon.portal.layout.renderer.RendererMap"
+                           type="org.apache.cocoon.portal.layout.renderer.Renderer"/>
 </beans>