You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by un...@apache.org on 2004/09/06 14:29:48 UTC
svn commit: rev 43415 - cocoon/trunk/src/java/org/apache/cocoon/components/pipeline/impl
Author: unico
Date: Mon Sep 6 05:29:46 2004
New Revision: 43415
Modified:
cocoon/trunk/src/java/org/apache/cocoon/components/pipeline/impl/AbstractCachingProcessingPipeline.java
Log:
fix bugzilla bug 31012, thanks to Oliver Powell (oliver.powell <at> tvnz.co.nz)
Modified: cocoon/trunk/src/java/org/apache/cocoon/components/pipeline/impl/AbstractCachingProcessingPipeline.java
==============================================================================
--- cocoon/trunk/src/java/org/apache/cocoon/components/pipeline/impl/AbstractCachingProcessingPipeline.java (original)
+++ cocoon/trunk/src/java/org/apache/cocoon/components/pipeline/impl/AbstractCachingProcessingPipeline.java Mon Sep 6 05:29:46 2004
@@ -540,6 +540,7 @@
// we are valid, ok that's it
this.cachedResponse = response.getResponse();
this.cachedLastModified = response.getLastModified();
+ this.toCacheSourceValidities = fromCacheValidityObjects;
} else {
if (this.getLogger().isDebugEnabled()) {
this.getLogger().debug("validatePipeline: cached content is invalid for '" + environment.getURI() + "'.");
@@ -800,26 +801,35 @@
* Otherwise return <code>null</code>
*/
public SourceValidity getValidityForEventPipeline() {
- int vals = 0;
-
- if ( null != this.toCacheKey
- && !this.cacheCompleteResponse
- && this.firstNotCacheableTransformerIndex == super.transformers.size()) {
- vals = this.toCacheKey.size();
- } else if ( null != this.fromCacheKey
- && !this.completeResponseIsCached
- && this.firstProcessedTransformerIndex == super.transformers.size()) {
- vals = this.fromCacheKey.size();
- }
- if ( vals > 0 ) {
+ if (this.cachedResponse != null && this.completeResponseIsCached) {
final AggregatedValidity validity = new AggregatedValidity();
- for(int i=0; i < vals; i++) {
- validity.add(this.getValidityForInternalPipeline(i));
- //validity.add(new DeferredPipelineValidity(this, i));
+ for (int i=0; i < this.toCacheSourceValidities.length; i++) {
+ validity.add(this.toCacheSourceValidities[i]);
}
return validity;
+
+ } else {
+ int vals = 0;
+
+ if ( null != this.toCacheKey
+ && !this.cacheCompleteResponse
+ && this.firstNotCacheableTransformerIndex == super.transformers.size()) {
+ vals = this.toCacheKey.size();
+ } else if ( null != this.fromCacheKey
+ && !this.completeResponseIsCached
+ && this.firstProcessedTransformerIndex == super.transformers.size()) {
+ vals = this.fromCacheKey.size();
+ }
+ if ( vals > 0 ) {
+ final AggregatedValidity validity = new AggregatedValidity();
+ for(int i=0; i < vals; i++) {
+ validity.add(this.getValidityForInternalPipeline(i));
+ //validity.add(new DeferredPipelineValidity(this, i));
+ }
+ return validity;
+ }
+ return null;
}
- return null;
}
/* (non-Javadoc)