vgritsenko    01/06/21 19:30:43

  Modified:    src/org/apache/cocoon/components/pipeline
                        AbstractEventPipeline.java
                        CachingEventPipeline.java
  Log:
  code cleanup, make sure that everything is recycle()d
  
  Revision  Changes    Path
  1.10      +17 -18    
xml-cocoon2/src/org/apache/cocoon/components/pipeline/AbstractEventPipeline.java
  
  Index: AbstractEventPipeline.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/org/apache/cocoon/components/pipeline/AbstractEventPipeline.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- AbstractEventPipeline.java        2001/06/21 06:53:02     1.9
  +++ AbstractEventPipeline.java        2001/06/22 02:30:41     1.10
  @@ -34,7 +34,7 @@
   /**
    * @author <a href="mailto:[EMAIL PROTECTED]";>Giacomo Pati</a>
    * @author <a href="mailto:cziegeler@Carsten Ziegeler">Carsten Ziegeler</a>
  - * @version CVS $Revision: 1.9 $ $Date: 2001/06/21 06:53:02 $
  + * @version CVS $Revision: 1.10 $ $Date: 2001/06/22 02:30:41 $
    */
   public abstract class AbstractEventPipeline
   extends AbstractXMLProducer
  @@ -60,7 +60,7 @@
       throws ComponentException {
           this.manager = manager;
           generatorSelector = (ComponentSelector) 
this.manager.lookup(Roles.GENERATORS);
  -        transformerSelector = 
(ComponentSelector)this.manager.lookup(Roles.TRANSFORMERS);
  +        transformerSelector = (ComponentSelector) 
this.manager.lookup(Roles.TRANSFORMERS);
           Component saxConnector = null;
           this.configuredSAXConnector = false;
           try {
  @@ -241,10 +241,14 @@
       }
   
       public void dispose() {
  -        if(generatorSelector != null)
  +        if(generatorSelector != null){
               manager.release(generatorSelector);
  -        if(transformerSelector != null)
  +            generatorSelector = null;
  +        }
  +        if(transformerSelector != null){
               manager.release(transformerSelector);
  +            transformerSelector = null;
  +        }
       }
   
       public void recycle() {
  @@ -252,39 +256,34 @@
   
           try {
               // Release generator.
  -            if ( this.generatorSelector != null ) {
  -                if ( this.generator != null ) {
  -                    generatorSelector.release(this.generator);
  -                }
  +            if ( generatorSelector != null && this.generator != null ) {
  +                generatorSelector.release(this.generator);
               }
  -            this.generator = null;
   
               // Release transformers
  -            if(transformerSelector != null) {
  +            if ( transformerSelector != null ) {
                   Iterator itt = this.transformers.iterator();
                   while ( itt.hasNext() ) {
                       transformerSelector.release((Component)itt.next());
                   }
               }
   
  -            this.transformers.clear();
  -            this.transformerParams.clear();
  -            this.transformerSources.clear();
  -
               // Release connectors
               Iterator itc = this.connectors.iterator();
               while ( itc.hasNext() ) {
                   this.manager.release((Component) itc.next());
               }
  -            this.connectors.clear();
           } catch ( Exception e ) {
               getLogger().warn(
                   "Failed to release components from event pipeline.",
                   e
               );
  -        } finally {
  -            this.generator = null;
  -            this.transformers.clear();
           }
  +
  +        this.generator = null;
  +        this.transformers.clear();
  +        this.transformerParams.clear();
  +        this.transformerSources.clear();
  +        this.connectors.clear();
       }
   }
  
  
  
  1.12      +7 -11     
xml-cocoon2/src/org/apache/cocoon/components/pipeline/CachingEventPipeline.java
  
  Index: CachingEventPipeline.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/org/apache/cocoon/components/pipeline/CachingEventPipeline.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- CachingEventPipeline.java 2001/06/21 06:53:03     1.11
  +++ CachingEventPipeline.java 2001/06/22 02:30:41     1.12
  @@ -52,7 +52,7 @@
    * does not cache! (If it would cache, the response would be cached twice!)
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Carsten Ziegeler</a>
  - * @version CVS $Revision: 1.11 $ $Date: 2001/06/21 06:53:03 $
  + * @version CVS $Revision: 1.12 $ $Date: 2001/06/22 02:30:41 $
    */
   public final class CachingEventPipeline
   extends AbstractEventPipeline
  @@ -216,16 +216,12 @@
                                        this.transformers,
                                        xmlSerializer);
                   // execute the pipeline:
  -                try {
  -                    this.generator.generate();
  -                    // did we have cacheable components?
  -                    if (xmlSerializer != null) {
  -                        this.eventCache.store(this.pipelineCacheKey,
  -                            new CachedEventObject(this.validityObjects,
  -                            xmlSerializer.getSAXFragment()));
  -                    }
  -                } catch ( Exception e ) {
  -                    throw e;
  +                this.generator.generate();
  +                // did we have cacheable components?
  +                if (xmlSerializer != null) {
  +                    this.eventCache.store(this.pipelineCacheKey,
  +                        new CachedEventObject(this.validityObjects,
  +                        xmlSerializer.getSAXFragment()));
                   }
               }
           } finally {
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     [EMAIL PROTECTED]
To unsubscribe, e-mail:          [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to