Author: cziegeler
Date: Wed Mar 23 12:08:17 2005
New Revision: 158826

URL: http://svn.apache.org/viewcvs?view=rev&rev=158826
Log:
Fix copy/paste typos
PortalService is thread safe so we can simply store a reference

Modified:
    
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/generation/AbstractCopletGenerator.java
    
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/generation/PortalGenerator.java
    
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/impl/DefaultPortalComponentManager.java
    
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/impl/PortalManagerImpl.java
    
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/impl/PortalServiceImpl.java
    
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/AbstractCIncludeAspect.java

Modified: 
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/generation/AbstractCopletGenerator.java
URL: 
http://svn.apache.org/viewcvs/cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/generation/AbstractCopletGenerator.java?view=diff&r1=158825&r2=158826
==============================================================================
--- 
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/generation/AbstractCopletGenerator.java
 (original)
+++ 
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/generation/AbstractCopletGenerator.java
 Wed Mar 23 12:08:17 2005
@@ -19,6 +19,7 @@
 
 import org.apache.avalon.framework.parameters.ParameterException;
 import org.apache.avalon.framework.service.ServiceException;
+import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.cocoon.environment.ObjectModelHelper;
 import org.apache.cocoon.generation.ServiceableGenerator;
 import org.apache.cocoon.portal.Constants;
@@ -56,8 +57,8 @@
      */
     public static final String PORTAL_NAME_PARAM = "portalName";
 
-    /** The portal service */
-    private PortalService _portalService;
+    /** The portal service. @since 2.1.8 */
+    protected PortalService portalService;
     
     /**
      * Try to get the coplet instance data belonging to the current request
@@ -77,16 +78,8 @@
     /**
      * Get the portal service
      */
-    protected PortalService getPortalService()
-    throws SAXException {
-        if ( this._portalService == null ) {
-            try {
-                this._portalService = 
(PortalService)this.manager.lookup(PortalService.ROLE);
-            } catch (ServiceException se) {
-                throw new SAXException("Unable to get portal service.", se);
-            }
-        }
-        return this._portalService;
+    protected PortalService getPortalService() {
+        return this.portalService;
     }
     
     
@@ -126,14 +119,22 @@
         return object;
     }
 
-    /* (non-Javadoc)
-     * @see org.apache.avalon.excalibur.pool.Recyclable#recycle()
+    /**
+     * @see org.apache.avalon.framework.activity.Disposable#dispose()
      */
-    public void recycle() {
-        if ( this._portalService != null ) {
-            this.manager.release( this._portalService );
-            this._portalService = null;            
+    public void dispose() {
+        if ( this.manager != null ) {
+            this.manager.release(this.portalService);
+            this.portalService = null;
         }
-        super.recycle();
+        super.dispose();
+    }
+
+    /**
+     * @see 
org.apache.avalon.framework.service.Serviceable#service(org.apache.avalon.framework.service.ServiceManager)
+     */
+    public void service(ServiceManager manager) throws ServiceException {
+        super.service(manager);
+        this.portalService = 
(PortalService)this.manager.lookup(PortalService.ROLE);
     }
 }

Modified: 
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/generation/PortalGenerator.java
URL: 
http://svn.apache.org/viewcvs/cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/generation/PortalGenerator.java?view=diff&r1=158825&r2=158826
==============================================================================
--- 
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/generation/PortalGenerator.java
 (original)
+++ 
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/generation/PortalGenerator.java
 Wed Mar 23 12:08:17 2005
@@ -1,5 +1,5 @@
 /*
- * Copyright 1999-2002,2004 The Apache Software Foundation.
+ * Copyright 1999-2002,2004-2005 The Apache Software Foundation.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -20,6 +20,7 @@
 
 import org.apache.avalon.framework.parameters.Parameters;
 import org.apache.avalon.framework.service.ServiceException;
+import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.cocoon.ProcessingException;
 import org.apache.cocoon.environment.SourceResolver;
 import org.apache.cocoon.generation.ServiceableGenerator;
@@ -43,7 +44,29 @@
 public class PortalGenerator 
 extends ServiceableGenerator {
 
-       /* (non-Javadoc)
+    /** The portal service. */
+    protected PortalService portalService;
+
+    /**
+     * @see org.apache.avalon.framework.activity.Disposable#dispose()
+     */
+    public void dispose() {
+        if ( this.manager != null ) {
+            this.manager.release(this.portalService);
+            this.portalService = null;
+        }
+        super.dispose();
+    }
+
+    /**
+     * @see 
org.apache.avalon.framework.service.Serviceable#service(org.apache.avalon.framework.service.ServiceManager)
+     */
+    public void service(ServiceManager manager) throws ServiceException {
+        super.service(manager);
+        this.portalService = 
(PortalService)this.manager.lookup(PortalService.ROLE);
+    }
+
+    /* (non-Javadoc)
         * @see org.apache.cocoon.generation.Generator#generate()
         */
        public void generate()
@@ -51,17 +74,9 @@
         // start the portal rendering
         // 1. event processing
         // 2. rendering
-        PortalService service = null;
-        try {
-            service = (PortalService)this.manager.lookup(PortalService.ROLE);
-            PortalManager pm = 
service.getComponentManager().getPortalManager();
-            pm.process();
-            pm.showPortal(this.xmlConsumer, this.parameters);
-        } catch (ServiceException ce) {
-            throw new ProcessingException("Unable to lookup portal service.", 
ce);
-        } finally {
-            this.manager.release(service);
-        }
+        PortalManager pm = 
this.portalService.getComponentManager().getPortalManager();
+        pm.process();
+        pm.showPortal(this.xmlConsumer, this.parameters);
        }
 
     /* (non-Javadoc)
@@ -74,20 +89,9 @@
     throws ProcessingException, SAXException, IOException {
         super.setup(resolver, objectModel, src, par);
         
-        // instantiate the portal service for this request
-        PortalService service = null;
-        try {
-            service = (PortalService)this.manager.lookup(PortalService.ROLE);
-            
-            // This is a fix: if we don't use the link service here, we get
-            // in some rare cases a wrong uri!
-            service.getComponentManager().getLinkService().getRefreshLinkURI();
-            
-        } catch (ServiceException ce) {
-            throw new ProcessingException("Unable to lookup portal service.", 
ce);
-        } finally {
-            this.manager.release(service);
-        }
+        // This is a fix: if we don't use the link service here, we get
+        // in some rare cases a wrong uri!
+        
this.portalService.getComponentManager().getLinkService().getRefreshLinkURI();
     }
 
 }

Modified: 
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/impl/DefaultPortalComponentManager.java
URL: 
http://svn.apache.org/viewcvs/cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/impl/DefaultPortalComponentManager.java?view=diff&r1=158825&r2=158826
==============================================================================
--- 
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/impl/DefaultPortalComponentManager.java
 (original)
+++ 
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/impl/DefaultPortalComponentManager.java
 Wed Mar 23 12:08:17 2005
@@ -33,6 +33,7 @@
 import org.apache.cocoon.portal.LinkService;
 import org.apache.cocoon.portal.PortalComponentManager;
 import org.apache.cocoon.portal.PortalManager;
+import org.apache.cocoon.portal.PortalService;
 import org.apache.cocoon.portal.coplet.CopletFactory;
 import org.apache.cocoon.portal.event.EventManager;
 import org.apache.cocoon.portal.layout.LayoutFactory;
@@ -54,8 +55,12 @@
     extends AbstractLogEnabled
     implements PortalComponentManager, Serviceable, Disposable, ThreadSafe, 
Configurable {
 
+    /** The avalon component manager */
     protected ServiceManager manager;
 
+    /** The portal service */
+    protected PortalService portalService;
+
     protected String profileManagerRole;
     protected ProfileManager profileManager;
 
@@ -79,6 +84,18 @@
     protected String portalManagerRole;
     protected PortalManager portalManager;
 
+    /**
+     * Create a new portal component manager. Each portal has a own
+     * component manager that manages all central components for this
+     * portal.
+     * This implementation stores the portal service (a global singleton)
+     * to pass it to the other components (TODO).
+     * @param service The portal service.
+     */
+    public DefaultPortalComponentManager(final PortalService service) {
+        this.portalService = service;
+    }
+
     /* (non-Javadoc)
      * @see 
org.apache.avalon.framework.service.Serviceable#service(org.apache.avalon.framework.service.ServiceManager)
      */
@@ -122,7 +139,7 @@
             try {
                 this.eventManager = (EventManager)this.manager.lookup( 
this.eventManagerRole );
             } catch (ServiceException e) {
-                throw new CascadingRuntimeException("Unable to lookup event 
manager with role " + EventManager.ROLE, e);
+                throw new CascadingRuntimeException("Unable to lookup event 
manager with role " + this.eventManagerRole, e);
             }
         }
         return this.eventManager;
@@ -217,7 +234,7 @@
             try {
                 this.layoutFactory = (LayoutFactory)this.manager.lookup( 
this.layoutFactoryRole);
             } catch (ServiceException e) {
-                throw new CascadingRuntimeException("Unable to lookup layout 
factory with role " + this.copletFactoryRole, e);
+                throw new CascadingRuntimeException("Unable to lookup layout 
factory with role " + this.layoutFactoryRole, e);
             }
         }
         return this.layoutFactory;
@@ -232,7 +249,7 @@
             try {
                 this.portalManager = (PortalManager)this.manager.lookup( 
this.portalManagerRole);
             } catch (ServiceException e) {
-                throw new CascadingRuntimeException("Unable to lookup portal 
manager with role " + this.copletFactoryRole, e);
+                throw new CascadingRuntimeException("Unable to lookup portal 
manager with role " + this.portalManagerRole, e);
             }
         }
         return this.portalManager;

Modified: 
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/impl/PortalManagerImpl.java
URL: 
http://svn.apache.org/viewcvs/cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/impl/PortalManagerImpl.java?view=diff&r1=158825&r2=158826
==============================================================================
--- 
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/impl/PortalManagerImpl.java
 (original)
+++ 
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/impl/PortalManagerImpl.java
 Wed Mar 23 12:08:17 2005
@@ -1,5 +1,5 @@
 /*
- * Copyright 1999-2002,2004 The Apache Software Foundation.
+ * Copyright 1999-2002,2004-2005 The Apache Software Foundation.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -15,6 +15,7 @@
  */
 package org.apache.cocoon.portal.impl;
 
+import org.apache.avalon.framework.activity.Disposable;
 import org.apache.avalon.framework.logger.AbstractLogEnabled;
 import org.apache.avalon.framework.parameters.Parameters;
 import org.apache.avalon.framework.service.ServiceException;
@@ -39,25 +40,41 @@
  */
 public class PortalManagerImpl
        extends AbstractLogEnabled
-       implements PortalManager, Serviceable, ThreadSafe {
+       implements PortalManager, Serviceable, Disposable, ThreadSafe {
 
+    /** The service manager */
     protected ServiceManager manager;
-        
-    /* (non-Javadoc)
+
+    /** The portal service */
+    protected PortalService portalService;
+
+    /**
+     * @see 
org.apache.avalon.framework.service.Serviceable#service(ServiceManager)
+     */
+    public void service(ServiceManager serviceManager)
+    throws ServiceException {
+        this.manager = serviceManager;
+        this.portalService = 
(PortalService)this.manager.lookup(PortalService.ROLE);
+    }
+
+    /**
+     * @see org.apache.avalon.framework.activity.Disposable#dispose()
+     */
+    public void dispose() {
+        if ( this.manager != null ) {
+            this.manager.release(this.portalService);
+            this.portalService = null;
+            this.manager = null;
+        }
+    }
+
+    /**
      * @see org.apache.cocoon.portal.PortalManager#process()
      */
     public void process()
     throws ProcessingException {
-        PortalService service = null;
-        try {
-            service = (PortalService)this.manager.lookup(PortalService.ROLE);
-            EventManager eventManager = 
service.getComponentManager().getEventManager();
-            eventManager.processEvents();
-        } catch (ServiceException ce) {
-            throw new ProcessingException("Unable to lookup portal service.", 
ce);
-        } finally {
-            this.manager.release(service);
-        }
+        EventManager eventManager = 
this.portalService.getComponentManager().getEventManager();
+        eventManager.processEvents();
     }
 
        /**
@@ -65,33 +82,16 @@
         */
        public void showPortal(ContentHandler contentHandler, Parameters 
parameters) 
     throws SAXException {
-        PortalService service = null;
-        try {
-            service = (PortalService)this.manager.lookup(PortalService.ROLE);
-            // first check for a full screen layout
-            Layout portalLayout = service.getEntryLayout(null);
-            if ( portalLayout == null ) {
-                portalLayout = 
service.getComponentManager().getProfileManager().getPortalLayout(null, null);
-            }
-
-            Renderer portalLayoutRenderer = 
service.getComponentManager().getRenderer( portalLayout.getRendererName());     
  
-
-            contentHandler.startDocument();
-            portalLayoutRenderer.toSAX(portalLayout, service, contentHandler);
-            contentHandler.endDocument();
-        } catch (ServiceException ce) {
-            throw new SAXException("Unable to lookup portal service.", ce);
-        } finally {
-            this.manager.release(service);
+        // first check for a full screen layout
+        Layout portalLayout = this.portalService.getEntryLayout(null);
+        if ( portalLayout == null ) {
+            portalLayout = 
this.portalService.getComponentManager().getProfileManager().getPortalLayout(null,
 null);
         }
-       }
 
-       /**
-        * @see 
org.apache.avalon.framework.service.Serviceable#service(ServiceManager)
-        */
-       public void service(ServiceManager serviceManager)
-    throws ServiceException {
-        this.manager = serviceManager;
-       }
+        Renderer portalLayoutRenderer = 
this.portalService.getComponentManager().getRenderer( 
portalLayout.getRendererName());       
 
+        contentHandler.startDocument();
+        portalLayoutRenderer.toSAX(portalLayout, this.portalService, 
contentHandler);
+        contentHandler.endDocument();
+       }
 }

Modified: 
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/impl/PortalServiceImpl.java
URL: 
http://svn.apache.org/viewcvs/cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/impl/PortalServiceImpl.java?view=diff&r1=158825&r2=158826
==============================================================================
--- 
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/impl/PortalServiceImpl.java
 (original)
+++ 
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/impl/PortalServiceImpl.java
 Wed Mar 23 12:08:17 2005
@@ -194,7 +194,7 @@
             final Configuration current = portals[i];
             final String name = current.getAttribute("name");
             try {
-                PortalComponentManager c = new DefaultPortalComponentManager();
+                PortalComponentManager c = new 
DefaultPortalComponentManager(this);
                 this.portalComponentManagers.put( name, c );
                 ContainerUtil.enableLogging( c, this.getLogger() );
                 ContainerUtil.contextualize( c, this.context );

Modified: 
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/AbstractCIncludeAspect.java
URL: 
http://svn.apache.org/viewcvs/cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/AbstractCIncludeAspect.java?view=diff&r1=158825&r2=158826
==============================================================================
--- 
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/AbstractCIncludeAspect.java
 (original)
+++ 
cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/AbstractCIncludeAspect.java
 Wed Mar 23 12:08:17 2005
@@ -27,7 +27,7 @@
  * @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a>
  * @author <a href="mailto:[EMAIL PROTECTED]">Volker Schmitt</a>
  * 
- * @version CVS $Id: AbstractCIncludeAspect.java,v 1.4 2004/04/25 20:09:34 
haul Exp $
+ * @version CVS $Id$
  */
 public abstract class AbstractCIncludeAspect 
     extends AbstractAspect {
@@ -48,7 +48,7 @@
     throws SAXException {
         handler.startPrefixMapping(PREFIX, NAMESPACE);
         AttributesImpl attributes = new AttributesImpl();
-        attributes.addCDATAAttribute("src", source);
+        attributes.addCDATAAttribute(ATTRIBUTE, source);
         handler.startElement(NAMESPACE, ELEMENT, QELEMENT, attributes);
         handler.endElement(NAMESPACE, ELEMENT, QELEMENT);
         handler.endPrefixMapping(PREFIX);


Reply via email to