You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by di...@apache.org on 2001/04/13 18:02:29 UTC

cvs commit: xml-cocoon/src/org/apache/cocoon/transformation AbstractDOMTransformer.java FragmentExtractorTransformer.java SQLTransformer.java TraxTransformer.java XIncludeTransformer.java XTTransformer.java

dims        01/04/13 09:02:29

  Modified:    src/org/apache/cocoon/acting Tag: xml-cocoon2
                        AbstractAction.java AbstractDatabaseAction.java
               src/org/apache/cocoon/components/language/generator Tag:
                        xml-cocoon2 GeneratorSelector.java
                        ProgramGeneratorImpl.java
               src/org/apache/cocoon/components/language/programming/java
                        Tag: xml-cocoon2 JavaLanguage.java
               src/org/apache/cocoon/components/pipeline Tag: xml-cocoon2
                        AbstractEventPipeline.java
                        CachingEventPipeline.java
                        NonCachingStreamPipeline.java
               src/org/apache/cocoon/generation Tag: xml-cocoon2
                        FileGenerator.java ServerPagesGenerator.java
               src/org/apache/cocoon/reading Tag: xml-cocoon2
                        DatabaseReader.java
               src/org/apache/cocoon/sitemap Tag: xml-cocoon2
                        AbstractSitemap.java Handler.java
               src/org/apache/cocoon/transformation Tag: xml-cocoon2
                        AbstractDOMTransformer.java
                        FragmentExtractorTransformer.java
                        SQLTransformer.java TraxTransformer.java
                        XIncludeTransformer.java XTTransformer.java
  Log:
  Added release in dispose() for releasing look'ed up components.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.6   +11 -2     xml-cocoon/src/org/apache/cocoon/acting/Attic/AbstractAction.java
  
  Index: AbstractAction.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/acting/Attic/AbstractAction.java,v
  retrieving revision 1.1.2.5
  retrieving revision 1.1.2.6
  diff -u -r1.1.2.5 -r1.1.2.6
  --- AbstractAction.java	2001/03/12 04:38:30	1.1.2.5
  +++ AbstractAction.java	2001/04/13 16:02:17	1.1.2.6
  @@ -7,6 +7,7 @@
    *****************************************************************************/
   package org.apache.cocoon.acting;
   
  +import org.apache.avalon.Disposable;
   import org.apache.avalon.configuration.Configurable;
   import org.apache.avalon.configuration.Configuration;
   import org.apache.avalon.configuration.ConfigurationException;
  @@ -19,15 +20,23 @@
    * Actions.  In order to get at the Logger, use getLogger().
    *
    * @author <a href="mailto:Giacomo.Pati@pwr.ch">Giacomo Pati</a>
  - * @version CVS $Revision: 1.1.2.5 $ $Date: 2001/03/12 04:38:30 $
  + * @version CVS $Revision: 1.1.2.6 $ $Date: 2001/04/13 16:02:17 $
    */
   public abstract class AbstractAction extends AbstractLoggable
  -implements Action, Configurable {
  +implements Action, Configurable, Disposable {
   
       /**
        * Configures the Action.  This implementation currently does nothing.
        */
       public void configure(Configuration conf) throws ConfigurationException {
  +        // Purposely empty so that we don't need to implement it in every
  +        // class.
  +    }
  +
  +    /**
  +     *  dispose
  +     */
  +    public void dispose() {
           // Purposely empty so that we don't need to implement it in every
           // class.
       }
  
  
  
  1.1.2.26  +11 -2     xml-cocoon/src/org/apache/cocoon/acting/Attic/AbstractDatabaseAction.java
  
  Index: AbstractDatabaseAction.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/acting/Attic/AbstractDatabaseAction.java,v
  retrieving revision 1.1.2.25
  retrieving revision 1.1.2.26
  diff -u -r1.1.2.25 -r1.1.2.26
  --- AbstractDatabaseAction.java	2001/04/11 12:41:11	1.1.2.25
  +++ AbstractDatabaseAction.java	2001/04/13 16:02:18	1.1.2.26
  @@ -40,6 +40,7 @@
   import org.apache.avalon.ComponentManager;
   import org.apache.avalon.ComponentSelector;
   import org.apache.avalon.ComponentManagerException;
  +import org.apache.avalon.Disposable;
   import org.apache.avalon.component.ComponentException;
   import org.apache.avalon.configuration.Configurable;
   import org.apache.avalon.configuration.Configuration;
  @@ -175,9 +176,9 @@
    * </table>
    *
    * @author <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>
  - * @version CVS $Revision: 1.1.2.25 $ $Date: 2001/04/11 12:41:11 $
  + * @version CVS $Revision: 1.1.2.26 $ $Date: 2001/04/13 16:02:18 $
    */
  -public abstract class AbstractDatabaseAction extends AbstractComplimentaryConfigurableAction implements Configurable {
  +public abstract class AbstractDatabaseAction extends AbstractComplimentaryConfigurableAction implements Configurable, Disposable {
       protected Map files = new HashMap();
       private static final Map typeConstants;
       protected ComponentSelector dbselector;
  @@ -548,5 +549,13 @@
       private final long dateValue(String value, String format) throws Exception {
           DateFormat formatter = new SimpleDateFormat(format);
           return formatter.parse(value).getTime();
  +    }
  +
  +    /**
  +     *  dispose
  +     */
  +    public void dispose() {
  +        this.manager.release((Component)dbselector);
  +        super.dispose();
       }
   }
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.11  +11 -2     xml-cocoon/src/org/apache/cocoon/components/language/generator/Attic/GeneratorSelector.java
  
  Index: GeneratorSelector.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/components/language/generator/Attic/GeneratorSelector.java,v
  retrieving revision 1.1.2.10
  retrieving revision 1.1.2.11
  diff -u -r1.1.2.10 -r1.1.2.11
  --- GeneratorSelector.java	2001/04/11 16:39:39	1.1.2.10
  +++ GeneratorSelector.java	2001/04/13 16:02:19	1.1.2.11
  @@ -13,6 +13,7 @@
   import org.apache.avalon.ComponentManager;
   import org.apache.avalon.ComponentManagerException;
   import org.apache.avalon.component.ComponentException;
  +import org.apache.avalon.Disposable;
   import org.apache.avalon.configuration.DefaultConfiguration;
   
   import org.apache.cocoon.components.classloader.ClassLoaderManager;
  @@ -26,13 +27,17 @@
    * includes Sitemaps and XSP Pages
    *
    * @author <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>
  - * @version CVS $Revision: 1.1.2.10 $ $Date: 2001/04/11 16:39:39 $
  + * @version CVS $Revision: 1.1.2.11 $ $Date: 2001/04/13 16:02:19 $
    */
  -public class GeneratorSelector extends DefaultComponentSelector {
  +public class GeneratorSelector extends DefaultComponentSelector implements Disposable {
       private ClassLoaderManager classManager;
   
  +    /** The component manager */
  +    protected ComponentManager manager = null;
  +
       public void compose (ComponentManager manager) throws ComponentException {
           super.compose(manager);
  +        this.manager = manager;
   
           try {
               this.classManager = (ClassLoaderManager) manager.lookup(Roles.CLASS_LOADER);
  @@ -71,5 +76,9 @@
   
       public void addGenerator(Object hint, Class generator) throws ComponentException {
           super.addComponent(hint, generator, new DefaultConfiguration("", "GeneratorSelector"));
  +    }
  +
  +    public void dispose() {
  +        this.manager.release((Component)this.classManager);
       }
   }
  
  
  
  1.1.2.47  +14 -2     xml-cocoon/src/org/apache/cocoon/components/language/generator/Attic/ProgramGeneratorImpl.java
  
  Index: ProgramGeneratorImpl.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/components/language/generator/Attic/ProgramGeneratorImpl.java,v
  retrieving revision 1.1.2.46
  retrieving revision 1.1.2.47
  diff -u -r1.1.2.46 -r1.1.2.47
  --- ProgramGeneratorImpl.java	2001/04/12 17:17:35	1.1.2.46
  +++ ProgramGeneratorImpl.java	2001/04/13 16:02:20	1.1.2.47
  @@ -19,6 +19,7 @@
   import org.apache.avalon.Composer;
   import org.apache.avalon.Context;
   import org.apache.avalon.Contextualizable;
  +import org.apache.avalon.Disposable;
   import org.apache.avalon.Loggable;
   import org.apache.avalon.Modifiable;
   import org.apache.avalon.ThreadSafe;
  @@ -47,9 +48,10 @@
   /**
    * The default implementation of <code>ProgramGenerator</code>
    * @author <a href="mailto:ricardo@apache.org">Ricardo Rocha</a>
  - * @version CVS $Revision: 1.1.2.46 $ $Date: 2001/04/12 17:17:35 $
  + * @version CVS $Revision: 1.1.2.47 $ $Date: 2001/04/13 16:02:20 $
    */
  -public class ProgramGeneratorImpl extends AbstractLoggable implements ProgramGenerator, Contextualizable, Composer, Configurable, ThreadSafe {
  +public class ProgramGeneratorImpl extends AbstractLoggable 
  +    implements ProgramGenerator, Contextualizable, Composer, Configurable, ThreadSafe, Disposable {
   
       /** The auto-reloading option */
       protected boolean autoReload = false;
  @@ -269,5 +271,15 @@
   
       public void release(CompiledComponent component) {
           this.cache.release((Component) component);
  +    }
  +
  +    /**
  +     *  dispose
  +     */
  +    public void dispose() {
  +        this.manager.release((Component)this.cache);
  +        this.manager.release((Component)this.repository);
  +        this.manager.release((Component)this.markupSelector);
  +        this.manager.release((Component)this.languageSelector);
       }
   }
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.25  +13 -3     xml-cocoon/src/org/apache/cocoon/components/language/programming/java/Attic/JavaLanguage.java
  
  Index: JavaLanguage.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/components/language/programming/java/Attic/JavaLanguage.java,v
  retrieving revision 1.1.2.24
  retrieving revision 1.1.2.25
  diff -u -r1.1.2.24 -r1.1.2.25
  --- JavaLanguage.java	2001/03/19 21:20:29	1.1.2.24
  +++ JavaLanguage.java	2001/04/13 16:02:21	1.1.2.25
  @@ -18,6 +18,7 @@
   import org.apache.avalon.Composer;
   import org.apache.avalon.Component;
   import org.apache.avalon.ComponentManager;
  +import org.apache.avalon.Disposable;
   import org.apache.avalon.ThreadSafe;
   import org.apache.avalon.Loggable;
   
  @@ -33,14 +34,15 @@
    * The Java programming language processor
    *
    * @author <a href="mailto:ricardo@apache.org">Ricardo Rocha</a>
  - * @version CVS $Revision: 1.1.2.24 $ $Date: 2001/03/19 21:20:29 $
  + * @version CVS $Revision: 1.1.2.25 $ $Date: 2001/04/13 16:02:21 $
    */
  -public class JavaLanguage extends CompiledProgrammingLanguage implements ThreadSafe, Composer {
  +public class JavaLanguage extends CompiledProgrammingLanguage implements ThreadSafe, Composer, Disposable {
   
     /** The class loader */
     private ClassLoaderManager classLoaderManager;
   
  -  //private ComponentManager manager;
  +  /** The component manager */
  +  protected ComponentManager manager = null;
   
     /**
      * Return the language name
  @@ -93,6 +95,7 @@
      * @param manager The global component manager
      */
     public void compose(ComponentManager manager) {
  +    this.manager = manager;
       if (this.classLoaderManager == null) {
         try {
             log.debug("Looking up " + Roles.CLASS_LOADER);
  @@ -290,5 +293,12 @@
           buffer.append(files[i]).append(File.pathSeparator);
       }
       return buffer.toString();
  +  }
  +
  +  /**
  +   *  dispose
  +   */
  +  public void dispose() {
  +    manager.release((Component)this.classLoaderManager);
     }
   }
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.3   +27 -19    xml-cocoon/src/org/apache/cocoon/components/pipeline/Attic/AbstractEventPipeline.java
  
  Index: AbstractEventPipeline.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/components/pipeline/Attic/AbstractEventPipeline.java,v
  retrieving revision 1.1.2.2
  retrieving revision 1.1.2.3
  diff -u -r1.1.2.2 -r1.1.2.3
  --- AbstractEventPipeline.java	2001/04/12 12:30:34	1.1.2.2
  +++ AbstractEventPipeline.java	2001/04/13 16:02:22	1.1.2.3
  @@ -16,6 +16,7 @@
   import org.apache.avalon.ComponentSelector;
   import org.apache.avalon.Component;
   import org.apache.avalon.Composer;
  +import org.apache.avalon.Disposable;
   import org.apache.avalon.configuration.Parameters;
   
   import org.apache.cocoon.ProcessingException;
  @@ -37,15 +38,17 @@
   /**
    * @author <a href="mailto:Giacomo.Pati@pwr.ch">Giacomo Pati</a>
    * @author <a href="mailto:cziegeler@Carsten Ziegeler">Carsten Ziegeler</a>
  - * @version CVS $Revision: 1.1.2.2 $ $Date: 2001/04/12 12:30:34 $
  + * @version CVS $Revision: 1.1.2.3 $ $Date: 2001/04/13 16:02:22 $
    */
   public abstract class AbstractEventPipeline
   extends AbstractXMLProducer
  -implements EventPipeline {
  +implements EventPipeline, Disposable {
   
       protected Generator generator;
       protected Parameters generatorParam;
       protected String generatorSource;
  +    protected ComponentSelector generatorSelector;
  +    protected ComponentSelector transformerSelector;
       protected ArrayList transformers = new ArrayList();
       protected ArrayList transformerParams = new ArrayList();
       protected ArrayList transformerSources = new ArrayList();
  @@ -57,6 +60,8 @@
       public void compose (ComponentManager manager)
       throws ComponentManagerException {
           this.manager = manager;
  +        generatorSelector = (ComponentSelector) this.manager.lookup(Roles.GENERATORS);
  +        transformerSelector = (ComponentSelector)this.manager.lookup(Roles.TRANSFORMERS);
       }
   
       public void setGenerator (String role, String source, Parameters param, Exception e)
  @@ -75,18 +80,14 @@
           if (this.generator != null) {
               throw new ProcessingException ("Generator already set. You can only select one Generator (" + role + ")");
           }
  -        ComponentSelector selector = (ComponentSelector) this.manager.lookup(Roles.GENERATORS);
  -        this.generator = (Generator) selector.select(role);
  -        this.manager.release((Component)selector);
  +        this.generator = (Generator) generatorSelector.select(role);
           this.generatorSource = source;
           this.generatorParam = param;
       }
   
       public void addTransformer (String role, String source, Parameters param)
       throws Exception {
  -        ComponentSelector selector = (ComponentSelector) this.manager.lookup(Roles.TRANSFORMERS);
  -        this.transformers.add ((Transformer)selector.select(role));
  -        this.manager.release((Component)selector);
  +        this.transformers.add ((Transformer)transformerSelector.select(role));
           this.transformerSources.add (source);
           this.transformerParams.add (param);
       }
  @@ -225,24 +226,31 @@
   
       }
   
  +    public void dispose() {
  +        if(generatorSelector != null)        
  +            manager.release((Component)generatorSelector);
  +        if(transformerSelector != null)        
  +            manager.release((Component)transformerSelector);
  +    }
  +
       public void recycle() {
           super.recycle();
           try {
  -            // release generator
  -            if ( this.generator != null ) {
  -                ((ComponentSelector) this.manager.lookup(Roles.GENERATORS))
  -                    .release(this.generator);
  +            // Release generator.
  +            if ( this.generatorSelector != null ) {
  +                if ( this.generator != null ) {
  +                    generatorSelector.release(this.generator);
  +                }
               }
               this.generator = null;
   
               // Release transformers
  -            ComponentSelector transformerSelector;
  -            transformerSelector = (ComponentSelector)this.manager.lookup(Roles.TRANSFORMERS);
  -            Iterator itt = this.transformers.iterator();
  -            while ( itt.hasNext() ) {
  -                transformerSelector.release((Component)itt.next());
  +            if(transformerSelector != null) {
  +                Iterator itt = this.transformers.iterator();
  +                while ( itt.hasNext() ) {
  +                    transformerSelector.release((Component)itt.next());
  +                }
               }
  -            this.manager.release((Component)transformerSelector);
   
               this.transformers.clear();
               this.transformerParams.clear();
  @@ -254,7 +262,7 @@
                   this.manager.release((Component) itc.next());
               }
               this.connectors.clear();
  -        } catch ( ComponentManagerException e ) {
  +        } catch ( Exception e ) {
               getLogger().warn(
                   "Failed to release components from event pipeline.",
                   e
  
  
  
  1.1.2.4   +9 -3      xml-cocoon/src/org/apache/cocoon/components/pipeline/Attic/CachingEventPipeline.java
  
  Index: CachingEventPipeline.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/components/pipeline/Attic/CachingEventPipeline.java,v
  retrieving revision 1.1.2.3
  retrieving revision 1.1.2.4
  diff -u -r1.1.2.3 -r1.1.2.4
  --- CachingEventPipeline.java	2001/04/12 14:15:26	1.1.2.3
  +++ CachingEventPipeline.java	2001/04/13 16:02:22	1.1.2.4
  @@ -18,6 +18,7 @@
   import org.apache.avalon.ComponentSelector;
   import org.apache.avalon.Component;
   import org.apache.avalon.Composer;
  +import org.apache.avalon.Disposable;
   import org.apache.avalon.configuration.Parameters;
   
   import org.apache.cocoon.ProcessingException;
  @@ -51,9 +52,9 @@
    * The CachingEventPipeline
    *
    * @author <a href="mailto:cziegeler@apache.org">Carsten Ziegeler</a>
  - * @version CVS $Revision: 1.1.2.3 $ $Date: 2001/04/12 14:15:26 $
  + * @version CVS $Revision: 1.1.2.4 $ $Date: 2001/04/13 16:02:22 $
    */
  -public class CachingEventPipeline extends AbstractEventPipeline {
  +public class CachingEventPipeline extends AbstractEventPipeline implements Disposable {
   
       /** The store for the cached sax events */
       private EventCache saxStore;
  @@ -294,10 +295,15 @@
           getLogger().debug("Recycling of CachingEventPipeline");
   
           super.recycle();
  -
  +        
           this.producer = null;
           this.generatorRole = null;
           this.transformerRoles.clear();
           this.notCacheableTransformers.clear();
  +    }
  +
  +    public void dispose() {
  +        if(this.saxStore != null) 
  +            this.manager.release((Component)this.saxStore);
       }
   }
  
  
  
  1.1.2.4   +29 -19    xml-cocoon/src/org/apache/cocoon/components/pipeline/Attic/NonCachingStreamPipeline.java
  
  Index: NonCachingStreamPipeline.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/components/pipeline/Attic/NonCachingStreamPipeline.java,v
  retrieving revision 1.1.2.3
  retrieving revision 1.1.2.4
  diff -u -r1.1.2.3 -r1.1.2.4
  --- NonCachingStreamPipeline.java	2001/04/12 12:30:34	1.1.2.3
  +++ NonCachingStreamPipeline.java	2001/04/13 16:02:22	1.1.2.4
  @@ -12,9 +12,10 @@
   
   import org.apache.avalon.Component;
   import org.apache.avalon.ComponentManager;
  -import org.apache.avalon.component.ComponentException;
  +import org.apache.avalon.ComponentManagerException;
   import org.apache.avalon.ComponentSelector;
   import org.apache.avalon.Composer;
  +import org.apache.avalon.Disposable;
   import org.apache.avalon.configuration.Parameters;
   import org.apache.avalon.AbstractLoggable;
   
  @@ -37,9 +38,9 @@
    * resource
    * </UL>
    * @author <a href="mailto:Giacomo.Pati@pwr.ch">Giacomo Pati</a>
  - * @version CVS $Revision: 1.1.2.3 $ $Date: 2001/04/12 12:30:34 $
  + * @version CVS $Revision: 1.1.2.4 $ $Date: 2001/04/13 16:02:22 $
    */
  -public class NonCachingStreamPipeline extends AbstractLoggable implements StreamPipeline {
  +public class NonCachingStreamPipeline extends AbstractLoggable implements StreamPipeline, Disposable {
       private EventPipeline eventPipeline;
       private Reader reader;
       private Parameters readerParam;
  @@ -51,6 +52,8 @@
       private String serializerSource;
       private String serializerMimeType;
       private String sitemapSerializerMimeType;
  +    private SitemapComponentSelector readerSelector;
  +    private SitemapComponentSelector serializerSelector;
   
       /** the component manager */
       private ComponentManager manager;
  @@ -63,9 +66,11 @@
        *
        * @param manager The <code>ComponentManager</code> which this
        *               <code>Composer</code> uses.
  -     * @throws ComponentException  */
  -    public void compose (ComponentManager manager) throws ComponentException {
  +     * @throws ComponentManagerException  */
  +    public void compose (ComponentManager manager) throws ComponentManagerException {
           this.manager = manager;
  +        readerSelector = (SitemapComponentSelector) this.manager.lookup(Roles.READERS);
  +        serializerSelector = (SitemapComponentSelector) this.manager.lookup(Roles.SERIALIZERS);
       }
   
       public void setEventPipeline (EventPipeline eventPipeline) throws Exception {
  @@ -97,13 +102,11 @@
           if (this.reader != null) {
               throw new ProcessingException ("Reader already set. You can only select one Reader (" + role + ")");
           }
  -        SitemapComponentSelector selector = (SitemapComponentSelector) this.manager.lookup(Roles.READERS);
  -        this.reader = (Reader)selector.select(role);
  +        this.reader = (Reader)readerSelector.select(role);
           this.readerSource = source;
           this.readerParam = param;
           this.readerMimeType = mimeType;
  -        this.sitemapReaderMimeType = selector.getMimeTypeForRole(role);
  -        this.manager.release((Component)selector);
  +        this.sitemapReaderMimeType = readerSelector.getMimeTypeForRole(role);
       }
   
       public void setSerializer (String role, String source, Parameters param)
  @@ -116,13 +119,11 @@
           if (this.serializer != null) {
               throw new ProcessingException ("Serializer already set. You can only select one Serializer (" + role + ")");
           }
  -        SitemapComponentSelector selector = (SitemapComponentSelector) this.manager.lookup(Roles.SERIALIZERS);
  -        this.serializer = (Serializer)selector.select(role);
  +        this.serializer = (Serializer)serializerSelector.select(role);
           this.serializerSource = source;
           this.serializerParam = param;
           this.serializerMimeType = mimeType;
  -        this.sitemapSerializerMimeType = selector.getMimeTypeForRole(role);
  -        this.manager.release((Component)selector);
  +        this.sitemapSerializerMimeType = serializerSelector.getMimeTypeForRole(role);
       }
   
       public void addTransformer (String role, String source, Parameters param) throws Exception {
  @@ -231,14 +232,22 @@
           prev.setConsumer(this.serializer);
       }
   
  +    public void dispose() {
  +        if(readerSelector != null)        
  +            manager.release((Component)readerSelector);
  +        if(serializerSelector != null)        
  +            manager.release((Component)serializerSelector);
  +    }
  +
       public void recycle() {
           getLogger().debug("Recycling of NonCachingStreamPipeline");
   
           try {
               // release reader.
  -            if ( this.reader != null ) {
  -                ((ComponentSelector) this.manager.lookup(Roles.READERS))
  -                    .release(this.reader);
  +            if ( this.readerSelector != null) {
  +                if ( this.reader != null ) {
  +                    readerSelector.release(this.reader);
  +                }
               }
               this.reader = null;
   
  @@ -246,9 +255,10 @@
               this.eventPipeline = null;
   
               // release serializer
  -            if ( this.serializer != null ) {
  -                ((ComponentSelector) this.manager.lookup(Roles.SERIALIZERS))
  -                    .release(this.serializer);
  +            if ( this.serializerSelector != null ) {
  +                if ( this.serializer != null ) {
  +                    serializerSelector.release(this.serializer);
  +                }
               }
               this.serializer = null;
           } catch ( Exception e ) {
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.29  +1 -6      xml-cocoon/src/org/apache/cocoon/generation/Attic/FileGenerator.java
  
  Index: FileGenerator.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/generation/Attic/FileGenerator.java,v
  retrieving revision 1.1.2.28
  retrieving revision 1.1.2.29
  diff -u -r1.1.2.28 -r1.1.2.29
  --- FileGenerator.java	2001/04/12 09:40:03	1.1.2.28
  +++ FileGenerator.java	2001/04/13 16:02:23	1.1.2.29
  @@ -37,7 +37,7 @@
    * @author <a href="mailto:fumagalli@exoffice.com">Pierpaolo Fumagalli</a>
    *         (Apache Software Foundation, Exoffice Technologies)
    * @author <a href="mailto:cziegeler@apache.org">Carsten Ziegeler</a>
  - * @version CVS $Revision: 1.1.2.28 $ $Date: 2001/04/12 09:40:03 $
  + * @version CVS $Revision: 1.1.2.29 $ $Date: 2001/04/13 16:02:23 $
    */
   public class FileGenerator extends ComposerGenerator
   implements Cacheable {
  @@ -53,11 +53,6 @@
        */
       public void compose(ComponentManager manager) {
           super.compose(manager);
  -        try {
  -            getLogger().debug("Looking up " + Roles.STORE);
  -        } catch (Exception e) {
  -            getLogger().error("Could not find component", e);
  -        }
       }
   
       /**
  
  
  
  1.1.2.22  +13 -2     xml-cocoon/src/org/apache/cocoon/generation/Attic/ServerPagesGenerator.java
  
  Index: ServerPagesGenerator.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/generation/Attic/ServerPagesGenerator.java,v
  retrieving revision 1.1.2.21
  retrieving revision 1.1.2.22
  diff -u -r1.1.2.21 -r1.1.2.22
  --- ServerPagesGenerator.java	2001/03/02 12:21:05	1.1.2.21
  +++ ServerPagesGenerator.java	2001/04/13 16:02:23	1.1.2.22
  @@ -20,8 +20,11 @@
   import org.xml.sax.ext.LexicalHandler;
   
   import org.apache.avalon.Composer;
  +import org.apache.avalon.Component;
   import org.apache.avalon.ComponentManager;
   import org.apache.avalon.Poolable;
  +import org.apache.avalon.Recyclable;
  +import org.apache.avalon.Disposable;
   import org.apache.avalon.Loggable;
   
   import org.apache.cocoon.components.language.generator.CompiledComponent;
  @@ -41,11 +44,11 @@
    * delegating actual SAX event generation.
    *
    * @author <a href="mailto:ricardo@apache.org">Ricardo Rocha</a>
  - * @version CVS $Revision: 1.1.2.21 $ $Date: 2001/03/02 12:21:05 $
  + * @version CVS $Revision: 1.1.2.22 $ $Date: 2001/04/13 16:02:23 $
    */
   public class ServerPagesGenerator
     extends ServletGenerator
  -  implements ContentHandler, LexicalHandler, Poolable
  +  implements ContentHandler, LexicalHandler, Recyclable, Disposable
   {
     /**
      * The sitemap-defined server pages program generator
  @@ -392,4 +395,12 @@
       protected String getSystemId() { return this.systemId; }
       protected String getName() { return this.name; }
     }
  +
  +    /**
  +     * dispose
  +     */
  +    public void dispose() {
  +        if(this.programGenerator != null) manager.release((Component)this.programGenerator);
  +        if(this.factory != null) manager.release((Component)this.factory);
  +    }
   }
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.10  +13 -1     xml-cocoon/src/org/apache/cocoon/reading/Attic/DatabaseReader.java
  
  Index: DatabaseReader.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/reading/Attic/DatabaseReader.java,v
  retrieving revision 1.1.2.9
  retrieving revision 1.1.2.10
  diff -u -r1.1.2.9 -r1.1.2.10
  --- DatabaseReader.java	2001/03/30 17:14:35	1.1.2.9
  +++ DatabaseReader.java	2001/04/13 16:02:24	1.1.2.10
  @@ -12,6 +12,7 @@
   import org.apache.avalon.ComponentSelector;
   import org.apache.avalon.ComponentManager;
   import org.apache.avalon.ComponentManagerException;
  +import org.apache.avalon.Disposable;
   import org.apache.avalon.util.datasource.DataSourceComponent;
   import org.apache.avalon.configuration.Configurable;
   import org.apache.avalon.configuration.Configuration;
  @@ -45,15 +46,18 @@
    *
    * @author <a href="bloritsch@apache.org">Berin Loritsch</a>
    */
  -public class DatabaseReader extends AbstractReader implements Composer, Configurable {
  +public class DatabaseReader extends AbstractReader implements Composer, Configurable, Disposable {
       ComponentSelector dbselector;
       String dsn;
   
  +    private ComponentManager manager;
  +
       /**
        * Compose the object so that we get the <code>Component</code>s we need from
        * the <code>ComponentManager</code>.
        */
       public void compose(ComponentManager manager) throws ComponentManagerException {
  +        this.manager = manager;
           this.dbselector = (ComponentSelector) manager.lookup(Roles.DB_CONNECTION);
       }
   
  @@ -232,5 +236,13 @@
           }
           is.close();
           out.flush();
  +    }
  +
  +    /**
  +     * dispose()
  +     */
  +    public void dispose()
  +    {
  +        if (this.dbselector != null) this.manager.release((Component)this.dbselector);
       }
   }
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.32  +17 -2     xml-cocoon/src/org/apache/cocoon/sitemap/Attic/AbstractSitemap.java
  
  Index: AbstractSitemap.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/sitemap/Attic/AbstractSitemap.java,v
  retrieving revision 1.1.2.31
  retrieving revision 1.1.2.32
  diff -u -r1.1.2.31 -r1.1.2.32
  --- AbstractSitemap.java	2001/04/12 16:00:57	1.1.2.31
  +++ AbstractSitemap.java	2001/04/13 16:02:25	1.1.2.32
  @@ -25,6 +25,7 @@
   import org.apache.avalon.component.ComponentException;
   import org.apache.avalon.component.ComponentException;
   import org.apache.avalon.AbstractLoggable;
  +import org.apache.avalon.Disposable;
   import org.apache.avalon.component.DefaultComponentSelector;
   
   import org.apache.cocoon.ProcessingException;
  @@ -43,9 +44,9 @@
    * Base class for generated <code>Sitemap</code> classes
    *
    * @author <a href="mailto:Giacomo.Pati@pwr.ch">Giacomo Pati</a>
  - * @version CVS $Revision: 1.1.2.31 $ $Date: 2001/04/12 16:00:57 $
  + * @version CVS $Revision: 1.1.2.32 $ $Date: 2001/04/13 16:02:25 $
    */
  -public abstract class AbstractSitemap extends AbstractLoggable implements Sitemap {
  +public abstract class AbstractSitemap extends AbstractLoggable implements Sitemap, Disposable {
       private Context context;
   
       private static final int BYTE_ARRAY_SIZE = 1024;
  @@ -249,4 +250,18 @@
        */
       public abstract boolean process (Environment environment, StreamPipeline pipeline, EventPipeline eventPipeline)
       throws Exception;
  +
  +    /**
  +     * dispose
  +     */
  +    public void dispose() {
  +        if (this.urlFactory!=null)  manager.release((Component)this.urlFactory);
  +        if (this.generators!=null)  manager.release((Component)this.generators);
  +        if (this.transformers!=null)  manager.release((Component)this.transformers);
  +        if (this.serializers!=null)  manager.release((Component)this.serializers);
  +        if (this.readers!=null)  manager.release((Component)this.readers);
  +        if (this.actions!=null)  manager.release((Component)this.actions);
  +        if (this.matchers!=null)  manager.release((Component)this.matchers);
  +        if (this.selectors!=null)  manager.release((Component)this.selectors);
  +    }
   }
  
  
  
  1.1.2.23  +10 -2     xml-cocoon/src/org/apache/cocoon/sitemap/Attic/Handler.java
  
  Index: Handler.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/sitemap/Attic/Handler.java,v
  retrieving revision 1.1.2.22
  retrieving revision 1.1.2.23
  diff -u -r1.1.2.22 -r1.1.2.23
  --- Handler.java	2001/04/12 16:00:57	1.1.2.22
  +++ Handler.java	2001/04/13 16:02:25	1.1.2.23
  @@ -34,6 +34,7 @@
   import org.apache.avalon.Contextualizable;
   import org.apache.avalon.Context;
   import org.apache.avalon.Component;
  +import org.apache.avalon.Disposable;
   import org.apache.avalon.AbstractLoggable;
   import org.apache.avalon.Loggable;
   
  @@ -42,9 +43,9 @@
    *
    * @author <a href="mailto:Giacomo.Pati@pwr.ch">Giacomo Pati</a>
    * @author <a href="mailto:stefano@apache.org">Stefano Mazzocchi</a>
  - * @version CVS $Revision: 1.1.2.22 $ $Date: 2001/04/12 16:00:57 $
  + * @version CVS $Revision: 1.1.2.23 $ $Date: 2001/04/13 16:02:25 $
    */
  -public class Handler extends AbstractLoggable implements Runnable, Configurable, Composer, Contextualizable, Processor {
  +public class Handler extends AbstractLoggable implements Runnable, Configurable, Composer, Contextualizable, Processor, Disposable {
       private Context context;
   
       /** the configuration */
  @@ -216,5 +217,12 @@
   
       public void throwEventualException() throws Exception {
           if (this.exception != null) throw this.exception;
  +    }
  +
  +    /**
  +     * dispose
  +     */
  +    public void dispose() {
  +        if(urlFactory != null) manager.release((Component)urlFactory);
       }
   }
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.8   +10 -2     xml-cocoon/src/org/apache/cocoon/transformation/Attic/AbstractDOMTransformer.java
  
  Index: AbstractDOMTransformer.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/transformation/Attic/AbstractDOMTransformer.java,v
  retrieving revision 1.1.2.7
  retrieving revision 1.1.2.8
  diff -u -r1.1.2.7 -r1.1.2.8
  --- AbstractDOMTransformer.java	2001/03/19 21:20:44	1.1.2.7
  +++ AbstractDOMTransformer.java	2001/04/13 16:02:26	1.1.2.8
  @@ -16,9 +16,10 @@
   import org.apache.cocoon.components.parser.Parser;
   import org.apache.cocoon.Roles;
   import org.apache.avalon.Composer;
  +import org.apache.avalon.Component;
   import org.apache.avalon.ComponentManager;
   import org.apache.avalon.configuration.Parameters;
  -import org.apache.avalon.Recyclable;
  +import org.apache.avalon.Disposable;
   
   /**
    * An Abstract DOM Transformer, for use when a transformer needs a DOM-based
  @@ -32,7 +33,7 @@
    * @version CVS $Revision $Date
    */
   public abstract class AbstractDOMTransformer extends DOMBuilder
  -    implements Transformer, DOMBuilder.Listener, Composer {
  +    implements Transformer, DOMBuilder.Listener, Composer, Disposable {
   
       /** The SAX entity resolver */
       protected EntityResolver resolver;
  @@ -145,5 +146,12 @@
        */
       public void setLexicalHandler(LexicalHandler handler) {
           this.lexicalHandler = handler;
  +    }
  +
  +    /**
  +     * dispose
  +     */
  +    public void dispose() {
  +        if(super.factory != null) manager.release((Component)super.factory);
       }
   }
  
  
  
  1.1.2.7   +14 -14    xml-cocoon/src/org/apache/cocoon/transformation/Attic/FragmentExtractorTransformer.java
  
  Index: FragmentExtractorTransformer.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/transformation/Attic/FragmentExtractorTransformer.java,v
  retrieving revision 1.1.2.6
  retrieving revision 1.1.2.7
  diff -u -r1.1.2.6 -r1.1.2.7
  --- FragmentExtractorTransformer.java	2001/03/19 21:20:45	1.1.2.6
  +++ FragmentExtractorTransformer.java	2001/04/13 16:02:26	1.1.2.7
  @@ -18,6 +18,7 @@
   import org.apache.avalon.Composer;
   import org.apache.avalon.ComponentManagerException;
   import org.apache.avalon.Component;
  +import org.apache.avalon.Disposable;
   
   import org.xml.sax.SAXException;
   import org.xml.sax.Attributes;
  @@ -40,9 +41,9 @@
    * <a href="http://c2.com/cgi/wiki?YouArentGonnaNeedIt">you aren't gonna need it</a>,
    * so I've just used very simple extraction based on a URI and local name.
    * @author <a href="mailto:paul@luminas.co.uk">Paul Russell</a>
  - * @version CVS $Revision: 1.1.2.6 $ $Date: 2001/03/19 21:20:45 $
  + * @version CVS $Revision: 1.1.2.7 $ $Date: 2001/04/13 16:02:26 $
    */
  -public class FragmentExtractorTransformer extends AbstractTransformer implements Composer {
  +public class FragmentExtractorTransformer extends AbstractTransformer implements Composer, Disposable {
       private static String EXTRACT_URI="http://www.w3.org/2000/svg";
       private static String EXTRACT_ELEMENT="svg";
   
  @@ -63,8 +64,10 @@
   
       private DOMFactory documentFactory;
   
  -    public void compose(ComponentManager manager) {
  +    public void compose(ComponentManager manager) 
  +        throws ComponentManagerException{
           this.manager = manager;
  +        documentFactory = (DOMFactory) manager.lookup(Roles.PARSER);
       }
   
       /** Setup the transformer.
  @@ -81,14 +84,6 @@
        */
       public void startDocument()
       throws SAXException {
  -        try {
  -            documentFactory = (DOMFactory) manager.lookup(Roles.PARSER);
  -        } catch ( ComponentManagerException cme ) {
  -            documentFactory = null;
  -            getLogger().error("FragmentExtractorTransformer could not lookup parser.");
  -            throw new SAXException("Could not get documentFactory", cme);
  -        }
  -
           super.startDocument();
       }
   
  @@ -98,9 +93,6 @@
       public void endDocument()
       throws SAXException {
           super.endDocument();
  -
  -        this.manager.release((Component) this.documentFactory);
  -        this.documentFactory = null;
       }
   
       /**
  @@ -387,5 +379,13 @@
           } else {
               this.currentBuilder.comment(ch,start,len);
           }
  +    }
  +
  +    /**
  +     * dispose
  +     */
  +    public void dispose() {
  +        if(this.documentFactory!=null) this.manager.release((Component) this.documentFactory);
  +        this.documentFactory = null;
       }
   }
  
  
  
  1.1.2.22  +13 -2     xml-cocoon/src/org/apache/cocoon/transformation/Attic/SQLTransformer.java
  
  Index: SQLTransformer.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/transformation/Attic/SQLTransformer.java,v
  retrieving revision 1.1.2.21
  retrieving revision 1.1.2.22
  diff -u -r1.1.2.21 -r1.1.2.22
  --- SQLTransformer.java	2001/03/19 21:20:47	1.1.2.21
  +++ SQLTransformer.java	2001/04/13 16:02:27	1.1.2.22
  @@ -26,7 +26,9 @@
   import org.apache.avalon.ComponentManagerException;
   import org.apache.avalon.ComponentSelector;
   import org.apache.avalon.Composer;
  +import org.apache.avalon.Component;
   import org.apache.avalon.Poolable;
  +import org.apache.avalon.Disposable;
   import org.apache.avalon.util.datasource.DataSourceComponent;
   
   import org.apache.cocoon.ProcessingException;
  @@ -48,10 +50,10 @@
    * @author <a href="mailto:balld@webslingerZ.com">Donald Ball</a>
    * @author <a href="mailto:giacomo.pati@pwr.ch">Giacomo Pati</a>
    *         (PWR Organisation & Entwicklung)
  - * @version CVS $Revision: 1.1.2.21 $ $Date: 2001/03/19 21:20:47 $ $Author: bloritsch $
  + * @version CVS $Revision: 1.1.2.22 $ $Date: 2001/04/13 16:02:27 $ $Author: dims $
    */
   
  -public class SQLTransformer extends AbstractTransformer implements Composer, Loggable, Poolable {
  +public class SQLTransformer extends AbstractTransformer implements Composer, Loggable, Poolable, Disposable {
   
       private Logger log;
   
  @@ -104,9 +106,11 @@
       protected LexicalHandler lexical_handler;
   
       protected ComponentSelector dbSelector = null;
  +    protected ComponentManager manager;
   
       public void compose(ComponentManager manager) {
           try {
  +            this.manager = manager;
               this.dbSelector = (ComponentSelector) manager.lookup(Roles.DB_CONNECTION);
           } catch (ComponentManagerException cme) {
               this.log.warn("Could not get the DataSource Selector", cme);
  @@ -637,4 +641,11 @@
   
       }
   
  +
  +    /**
  +     * dispose 
  +     */
  +    public void dispose() {
  +        if(this.dbSelector != null) this.manager.release((Component) this.dbSelector);
  +    }
   }
  
  
  
  1.1.2.15  +12 -2     xml-cocoon/src/org/apache/cocoon/transformation/Attic/TraxTransformer.java
  
  Index: TraxTransformer.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/transformation/Attic/TraxTransformer.java,v
  retrieving revision 1.1.2.14
  retrieving revision 1.1.2.15
  diff -u -r1.1.2.14 -r1.1.2.15
  --- TraxTransformer.java	2001/04/11 10:53:04	1.1.2.14
  +++ TraxTransformer.java	2001/04/13 16:02:27	1.1.2.15
  @@ -27,6 +27,7 @@
   import org.apache.avalon.configuration.Configuration;
   import org.apache.avalon.Poolable;
   import org.apache.avalon.Recyclable;
  +import org.apache.avalon.Disposable;
   import org.apache.avalon.configuration.Parameters;
   import org.apache.avalon.Loggable;
   
  @@ -62,10 +63,10 @@
    *         (Apache Software Foundation, Exoffice Technologies)
    * @author <a href="mailto:dims@yahoo.com">Davanum Srinivas</a>
    * @author <a href="mailto:cziegeler@apache.org">Carsten Ziegeler</a>
  - * @version CVS $Revision: 1.1.2.14 $ $Date: 2001/04/11 10:53:04 $
  + * @version CVS $Revision: 1.1.2.15 $ $Date: 2001/04/13 16:02:27 $
    */
   public class TraxTransformer extends ContentHandlerWrapper
  -implements Transformer, Composer, Recyclable, Configurable, Cacheable {
  +implements Transformer, Composer, Recyclable, Configurable, Cacheable, Disposable {
       private static String FILE = "file:/";
   
       /** The store service instance */
  @@ -80,6 +81,8 @@
       /** Is the store turned on? (default is on) */
       private boolean useStore = true;
   
  +    private ComponentManager manager;
  +
       /** The InputSource */
       private InputSource inputSource;
       private String systemID;
  @@ -155,6 +158,7 @@
        */
       public void compose(ComponentManager manager) {
           try {
  +            this.manager = manager;
               log.debug("Looking up " + Roles.STORE);
               this.store = (Store) manager.lookup(Roles.STORE);
           } catch (Exception e) {
  @@ -318,6 +322,12 @@
           }
   
           return true;
  +    }
  +
  +    public void dispose() 
  +    {
  +        if(this.store != null)
  +            this.manager.release((Component)this.store);
       }
   
       public void recycle()
  
  
  
  1.1.2.26  +9 -2      xml-cocoon/src/org/apache/cocoon/transformation/Attic/XIncludeTransformer.java
  
  Index: XIncludeTransformer.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/transformation/Attic/XIncludeTransformer.java,v
  retrieving revision 1.1.2.25
  retrieving revision 1.1.2.26
  diff -u -r1.1.2.25 -r1.1.2.26
  --- XIncludeTransformer.java	2001/04/12 12:30:36	1.1.2.25
  +++ XIncludeTransformer.java	2001/04/13 16:02:27	1.1.2.26
  @@ -34,6 +34,7 @@
   import org.apache.avalon.Loggable;
   import org.apache.avalon.AbstractLoggable;
   import org.apache.avalon.Poolable;
  +import org.apache.avalon.Disposable;
   import org.apache.avalon.Component;
   import org.apache.cocoon.Roles;
   import org.apache.cocoon.ProcessingException;
  @@ -52,9 +53,9 @@
    * by the SAX event FSM yet.
    *
    * @author <a href="mailto:balld@webslingerZ.com">Donald Ball</a>
  - * @version CVS $Revision: 1.1.2.25 $ $Date: 2001/04/12 12:30:36 $ $Author: dims $
  + * @version CVS $Revision: 1.1.2.26 $ $Date: 2001/04/13 16:02:27 $ $Author: dims $
    */
  -public class XIncludeTransformer extends AbstractTransformer implements Composer, Poolable {
  +public class XIncludeTransformer extends AbstractTransformer implements Composer, Poolable, Disposable {
   
       protected URLFactory urlFactory;
   
  @@ -380,5 +381,11 @@
               throws SAXException {
               lexical_handler.comment(ary,start,length);
           }
  +    }
  +
  +    public void dispose()
  +    {
  +        if(this.urlFactory != null)
  +            this.manager.release((Component)this.urlFactory);
       }
   }
  
  
  
  1.1.2.20  +12 -2     xml-cocoon/src/org/apache/cocoon/transformation/Attic/XTTransformer.java
  
  Index: XTTransformer.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/transformation/Attic/XTTransformer.java,v
  retrieving revision 1.1.2.19
  retrieving revision 1.1.2.20
  diff -u -r1.1.2.19 -r1.1.2.20
  --- XTTransformer.java	2001/04/12 12:30:36	1.1.2.19
  +++ XTTransformer.java	2001/04/13 16:02:27	1.1.2.20
  @@ -24,6 +24,7 @@
   import org.apache.avalon.Modifiable;
   import org.apache.avalon.configuration.Parameters;
   import org.apache.avalon.Poolable;
  +import org.apache.avalon.Disposable;
   
   import org.apache.cocoon.Constants;
   import org.apache.cocoon.Roles;
  @@ -71,10 +72,10 @@
    * This Transformer use the XT processor.
    *
    * @author <a href="mailto:ssahuc@imediation.com">Sahuc Sebastien</a>
  - * @version CVS $Revision: 1.1.2.19 $ $Date: 2001/04/12 12:30:36 $
  + * @version CVS $Revision: 1.1.2.20 $ $Date: 2001/04/13 16:02:27 $
    */
   public class XTTransformer extends DocumentHandlerWrapper
  -implements Transformer, Composer, Loggable, Poolable {
  +implements Transformer, Composer, Loggable, Poolable, Disposable {
       private Logger log;
   
       /** The component manager */
  @@ -276,6 +277,15 @@
           public void unparsedEntityDecl (String name, String publicId, String systemId, String notationName) throws SAXException {
               builder.unparsedEntityDecl (name, publicId, systemId, notationName);
           }
  +    }
  +
  +    /**
  +    * dispose
  +    */
  +    public void dispose()
  +    {
  +        if(this.store != null)
  +            this.manager.release((Component)this.store);
       }
   }
   
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     webmaster@xml.apache.org
To unsubscribe, e-mail:          cocoon-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: cocoon-cvs-help@xml.apache.org