cziegeler    02/05/06 23:37:32

  Modified:    src/java/org/apache/cocoon/components/pipeline/impl
                        CachingProcessingPipeline.java
  Log:
  Minor update
  
  Revision  Changes    Path
  1.7       +15 -6     
xml-cocoon2/src/java/org/apache/cocoon/components/pipeline/impl/CachingProcessingPipeline.java
  
  Index: CachingProcessingPipeline.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/pipeline/impl/CachingProcessingPipeline.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- CachingProcessingPipeline.java    6 May 2002 14:17:54 -0000       1.6
  +++ CachingProcessingPipeline.java    7 May 2002 06:37:32 -0000       1.7
  @@ -89,7 +89,7 @@
    *
    * @since @next-version@
    * @author <a href="mailto:[EMAIL PROTECTED]";>Carsten Ziegeler</a>
  - * @version CVS $Id: CachingProcessingPipeline.java,v 1.6 2002/05/06 14:17:54 
cziegeler Exp $
  + * @version CVS $Id: CachingProcessingPipeline.java,v 1.7 2002/05/07 06:37:32 
cziegeler Exp $
    */
   public class CachingProcessingPipeline
   extends AbstractProcessingPipeline
  @@ -272,8 +272,11 @@
   
           // is the generator cacheable?
           long key = 0;
  +        boolean generatorIsCacheableProcessingComponent = false;
  +        boolean serializerIsCacheableProcessingComponent = false;
           if (this.generator instanceof CacheableProcessingComponent) {
               key = ((CacheableProcessingComponent)this.generator).generateKey();
  +            generatorIsCacheableProcessingComponent = true;
           } else if (this.generator instanceof Cacheable) {
               key = ((Cacheable)this.generator).generateKey();
           }
  @@ -314,6 +317,7 @@
   
                   if (this.serializer instanceof CacheableProcessingComponent) {
                       key = 
((CacheableProcessingComponent)this.serializer).generateKey();
  +                    serializerIsCacheableProcessingComponent = true;
                   } else if (this.serializer instanceof Cacheable) {
                       key = ((Cacheable)this.serializer).generateKey();
                   }
  @@ -341,15 +345,20 @@
                           final SourceValidity validity;
                           if (i == 0) {
                               // test generator
  -                            if (this.generator instanceof Cacheable) {
  -                                validity = new 
CacheValidityToSourceValidity(((Cacheable)this.generator).generateValidity());
  -                            } else {
  +                            if (generatorIsCacheableProcessingComponent) {
                                   validity = 
((CacheableProcessingComponent)this.generator).generateValidity();
  +                            } else {
  +                                validity = new 
CacheValidityToSourceValidity(((Cacheable)this.generator).generateValidity());
                               }
                           } else if (i >= firstNotCacheableTransformerIndex + 1) {
                               // test transformer
  -                            // FIXME
  -                            validity = null;
  +                            final Transformer trans =
  +                               (Transformer)this.transformers.get(i-1);
  +                            if (trans instanceof CacheableProcessingComponent) {
  +                                validity = 
((CacheableProcessingComponent)trans).generateValidity();
  +                            } else {
  +                                validity = new 
CacheValidityToSourceValidity(((Cacheable)trans).generateValidity());
  +                            }
                           } else {
                               // test serializer
                               // FIXME
  
  
  

----------------------------------------------------------------------
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