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]