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]