cziegeler 2003/01/13 06:38:17
Modified: src/java/org/apache/cocoon/components/pipeline/impl
AbstractCachingProcessingPipeline.java
SourceDeferredValidity.java
src/java/org/apache/cocoon/components/pipeline
ProcessingPipeline.java
AbstractProcessingPipeline.java
src/java/org/apache/cocoon/components/source/impl
SitemapSource.java
Log:
Next step for caching
Revision Changes Path
1.17 +9 -4
xml-cocoon2/src/java/org/apache/cocoon/components/pipeline/impl/AbstractCachingProcessingPipeline.java
Index: AbstractCachingProcessingPipeline.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/pipeline/impl/AbstractCachingProcessingPipeline.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- AbstractCachingProcessingPipeline.java 13 Jan 2003 13:12:29 -0000 1.16
+++ AbstractCachingProcessingPipeline.java 13 Jan 2003 14:38:16 -0000 1.17
@@ -63,6 +63,7 @@
import org.apache.cocoon.environment.Environment;
import org.apache.cocoon.transformation.Transformer;
import org.apache.excalibur.source.SourceValidity;
+import org.apache.excalibur.source.impl.validity.DeferredAggregatedValidity;
import java.io.ByteArrayOutputStream;
import java.io.OutputStream;
@@ -769,10 +770,14 @@
* serializer) is cacheable and valid, return all validity objects.
* Otherwise return <code>null</code>
*/
- public SourceValidity[] getValiditiesForEventPipeline() {
+ public SourceValidity getValidityForEventPipeline() {
if (!this.completeResponseIsCached
&& this.firstNotCacheableTransformerIndex ==
super.transformers.size()) {
- return this.toCacheSourceValidities;
+ DeferredAggregatedValidity validity = new DeferredAggregatedValidity();
+ for(int i=0; i < this.toCacheKey.size(); i++) {
+ validity.add(new SourceDeferredValidity(this, i));
+ }
+ return validity;
}
return null;
}
@@ -781,7 +786,7 @@
*
* @see
org.apache.cocoon.components.pipeline.ProcessingPipeline#getValidityForInternalPipeline(int)
*/
- protected SourceValidity getValidityForInternalPipeline(int index) {
+ SourceValidity getValidityForInternalPipeline(int index) {
final SourceValidity validity;
if (index == 0) {
// test generator
1.2 +4 -5
xml-cocoon2/src/java/org/apache/cocoon/components/pipeline/impl/SourceDeferredValidity.java
Index: SourceDeferredValidity.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/pipeline/impl/SourceDeferredValidity.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SourceDeferredValidity.java 13 Jan 2003 13:12:29 -0000 1.1
+++ SourceDeferredValidity.java 13 Jan 2003 14:38:16 -0000 1.2
@@ -63,11 +63,10 @@
*/
public final class SourceDeferredValidity implements DeferredValidity {
- private ProcessingPipeline pipeline;
+ private AbstractCachingProcessingPipeline pipeline;
private int index;
- private SourceValidity[] validities;
- public SourceDeferredValidity(ProcessingPipeline pipeline, int index) {
+ public SourceDeferredValidity(AbstractCachingProcessingPipeline pipeline, int
index) {
this.pipeline = pipeline;
this.index = index;
}
@@ -76,7 +75,7 @@
* @see
org.apache.excalibur.source.impl.validity.DeferredValidity#getValidity()
*/
public SourceValidity getValidity() {
- return this.validities[this.index];
+ return pipeline.getValidityForInternalPipeline(this.index);
}
}
1.16 +2 -2
xml-cocoon2/src/java/org/apache/cocoon/components/pipeline/ProcessingPipeline.java
Index: ProcessingPipeline.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/pipeline/ProcessingPipeline.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- ProcessingPipeline.java 13 Jan 2003 13:12:29 -0000 1.15
+++ ProcessingPipeline.java 13 Jan 2003 14:38:16 -0000 1.16
@@ -181,6 +181,6 @@
* serializer) is cacheable and valid, return all validity objects.
* Otherwise return <code>null</code>
*/
- SourceValidity[] getValiditiesForEventPipeline();
+ SourceValidity getValidityForEventPipeline();
}
1.30 +2 -2
xml-cocoon2/src/java/org/apache/cocoon/components/pipeline/AbstractProcessingPipeline.java
Index: AbstractProcessingPipeline.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/pipeline/AbstractProcessingPipeline.java,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- AbstractProcessingPipeline.java 13 Jan 2003 13:12:29 -0000 1.29
+++ AbstractProcessingPipeline.java 13 Jan 2003 14:38:16 -0000 1.30
@@ -680,7 +680,7 @@
* serializer) is cacheable and valid, return all validity objects.
* Otherwise return <code>null</code>
*/
- public SourceValidity[] getValiditiesForEventPipeline() {
+ public SourceValidity getValidityForEventPipeline() {
return null;
}
1.34 +2 -11
xml-cocoon2/src/java/org/apache/cocoon/components/source/impl/SitemapSource.java
Index: SitemapSource.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/source/impl/SitemapSource.java,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- SitemapSource.java 10 Jan 2003 14:19:45 -0000 1.33
+++ SitemapSource.java 13 Jan 2003 14:38:17 -0000 1.34
@@ -69,7 +69,6 @@
import org.apache.excalibur.source.SourceException;
import org.apache.excalibur.source.SourceNotFoundException;
import org.apache.excalibur.source.SourceValidity;
-import org.apache.excalibur.source.impl.validity.DeferredAggregatedValidity;
import org.xml.sax.Attributes;
import org.xml.sax.ContentHandler;
import org.xml.sax.Locator;
@@ -340,15 +339,7 @@
this.pipelineProcessor = this.environment.changeToLastContext();
String redirectURL = this.environment.getRedirectURL();
if (redirectURL == null) {
- SourceValidity[] eventPipelineValidities =
this.processingPipeline.getValiditiesForEventPipeline();
- if ( eventPipelineValidities != null ) {
- DeferredAggregatedValidity av = new
DeferredAggregatedValidity();
- for(int i=0; i < eventPipelineValidities.length;i++) {
- av.add(eventPipelineValidities[i]);
- }
- this.sourceValidity = av;
-
- }
+ this.sourceValidity =
this.processingPipeline.getValidityForEventPipeline();
} else {
if (redirectURL.indexOf(":") == -1) {
redirectURL = this.protocol + ":/" + redirectURL;
----------------------------------------------------------------------
In case of troubles, e-mail: [EMAIL PROTECTED]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]