You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by cz...@apache.org on 2003/10/19 18:12:54 UTC
cvs commit: cocoon-2.2/src/java/org/apache/cocoon/components/pipeline AbstractProcessingPipeline.java
cziegeler 2003/10/19 09:12:54
Modified: src/java/org/apache/cocoon/components/treeprocessor
TreeProcessor.java
src/java/org/apache/cocoon Cocoon.java
src/java/org/apache/cocoon/components/pipeline
AbstractProcessingPipeline.java
Log:
Setting per sitemap source resolver during setup
Revision Changes Path
1.17 +3 -3 cocoon-2.2/src/java/org/apache/cocoon/components/treeprocessor/TreeProcessor.java
Index: TreeProcessor.java
===================================================================
RCS file: /home/cvs/cocoon-2.2/src/java/org/apache/cocoon/components/treeprocessor/TreeProcessor.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- TreeProcessor.java 19 Oct 2003 16:06:32 -0000 1.16
+++ TreeProcessor.java 19 Oct 2003 16:12:54 -0000 1.17
@@ -591,8 +591,8 @@
* @see org.apache.cocoon.Processor#getSourceResolver()
*/
public org.apache.cocoon.environment.SourceResolver getSourceResolver() {
- // TODO Auto-generated method stub
- return null;
+ // TODO (CZ) Add real resolver here
+ return (org.apache.cocoon.environment.SourceResolver)this.resolver;
}
}
1.22 +2 -2 cocoon-2.2/src/java/org/apache/cocoon/Cocoon.java
Index: Cocoon.java
===================================================================
RCS file: /home/cvs/cocoon-2.2/src/java/org/apache/cocoon/Cocoon.java,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- Cocoon.java 19 Oct 2003 16:06:32 -0000 1.21
+++ Cocoon.java 19 Oct 2003 16:12:54 -0000 1.22
@@ -487,7 +487,7 @@
*/
public org.apache.cocoon.environment.SourceResolver getSourceResolver() {
// TODO (CZ) Implement me
- return null;
+ return (org.apache.cocoon.environment.SourceResolver)this.sourceResolver;
}
}
1.10 +19 -69 cocoon-2.2/src/java/org/apache/cocoon/components/pipeline/AbstractProcessingPipeline.java
Index: AbstractProcessingPipeline.java
===================================================================
RCS file: /home/cvs/cocoon-2.2/src/java/org/apache/cocoon/components/pipeline/AbstractProcessingPipeline.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- AbstractProcessingPipeline.java 15 Oct 2003 18:03:53 -0000 1.9
+++ AbstractProcessingPipeline.java 19 Oct 2003 16:12:54 -0000 1.10
@@ -50,8 +50,15 @@
*/
package org.apache.cocoon.components.pipeline;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.net.SocketException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.NoSuchElementException;
+import java.util.StringTokenizer;
+
import org.apache.avalon.excalibur.pool.Recyclable;
-import org.apache.avalon.framework.activity.Disposable;
import org.apache.avalon.framework.component.Component;
import org.apache.avalon.framework.component.ComponentException;
import org.apache.avalon.framework.component.ComponentManager;
@@ -62,6 +69,7 @@
import org.apache.avalon.framework.parameters.Parameters;
import org.apache.cocoon.ConnectionResetException;
import org.apache.cocoon.ProcessingException;
+import org.apache.cocoon.Processor;
import org.apache.cocoon.components.CocoonComponentManager;
import org.apache.cocoon.environment.Environment;
import org.apache.cocoon.environment.ObjectModelHelper;
@@ -72,21 +80,9 @@
import org.apache.cocoon.transformation.Transformer;
import org.apache.cocoon.xml.XMLConsumer;
import org.apache.cocoon.xml.XMLProducer;
-import org.apache.excalibur.source.Source;
-import org.apache.excalibur.source.SourceResolver;
import org.apache.excalibur.source.SourceValidity;
import org.xml.sax.SAXException;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.SocketException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.NoSuchElementException;
-import java.util.StringTokenizer;
-
/**
* This is the base for all implementations of a <code>ProcessingPipeline</code>.
*
@@ -96,7 +92,7 @@
*/
public abstract class AbstractProcessingPipeline
extends AbstractLogEnabled
- implements ProcessingPipeline, Parameterizable, Recyclable, Disposable {
+ implements ProcessingPipeline, Parameterizable, Recyclable {
// Generator stuff
protected Generator generator;
@@ -155,11 +151,8 @@
/** Output Buffer Size */
protected int outputBufferSize;
- /** The source resolver */
- protected SourceResolver resolver;
-
- /** The wrapper passed on the sitemap components */
- protected org.apache.cocoon.environment.SourceResolver resolverWrapper;
+ /** The current Processor */
+ protected Processor processor;
/**
* Composable Interface
@@ -168,8 +161,6 @@
throws ComponentException {
this.manager = manager;
this.newManager = manager;
- this.resolver = (SourceResolver)this.manager.lookup(SourceResolver.ROLE);
- this.resolverWrapper = new SourceResolverWrapper(this.resolver);
}
/**
@@ -392,7 +383,7 @@
try {
// setup the generator
this.generator.setup(
- this.resolverWrapper,
+ this.processor.getSourceResolver(),
environment.getObjectModel(),
generatorSource,
generatorParam
@@ -405,7 +396,7 @@
while ( transformerItt.hasNext() ) {
Transformer trans = (Transformer)transformerItt.next();
trans.setup(
- this.resolverWrapper,
+ this.processor.getSourceResolver(),
environment.getObjectModel(),
(String)transformerSourceItt.next(),
(Parameters)transformerParamItt.next()
@@ -511,6 +502,8 @@
*/
protected void preparePipeline(Environment environment)
throws ProcessingException {
+ // TODO (CZ) Get the processor set via IoC
+ this.processor = CocoonComponentManager.getCurrentProcessor();
if ( !checkPipeline() ) {
throw new ProcessingException("Attempted to process incomplete pipeline.");
}
@@ -576,7 +569,7 @@
throws ProcessingException {
try {
String mimeType;
- this.reader.setup(this.resolverWrapper,environment.getObjectModel(),readerSource,readerParam);
+ this.reader.setup(this.processor.getSourceResolver(),environment.getObjectModel(),readerSource,readerParam);
mimeType = this.reader.getMimeType();
if ( mimeType != null ) {
environment.setContentType(mimeType);
@@ -680,6 +673,7 @@
}
this.serializer = null;
this.parameters = null;
+ this.processor = null;
}
/**
@@ -784,50 +778,6 @@
*/
public String getKeyForEventPipeline() {
return null;
- }
-
- /* (non-Javadoc)
- * @see org.apache.avalon.framework.activity.Disposable#dispose()
- */
- public void dispose() {
- if ( this.manager != null ) {
- this.manager.release(this.resolver);
- this.resolver = null;
- this.manager = null;
- }
- }
-
-}
-
-final class SourceResolverWrapper
-implements org.apache.cocoon.environment.SourceResolver {
-
- protected SourceResolver resolver;
-
- public SourceResolverWrapper(SourceResolver resolver) {
- this.resolver = resolver;
- }
- /* (non-Javadoc)
- * @see org.apache.excalibur.source.SourceResolver#release(org.apache.excalibur.source.Source)
- */
- public void release(Source source) {
- this.resolver.release(source);
- }
-
- /* (non-Javadoc)
- * @see org.apache.excalibur.source.SourceResolver#resolveURI(java.lang.String, java.lang.String, java.util.Map)
- */
- public Source resolveURI(String arg0, String arg1, Map arg2)
- throws MalformedURLException, IOException {
- return this.resolveURI(arg0, arg1, arg2);
- }
-
- /* (non-Javadoc)
- * @see org.apache.excalibur.source.SourceResolver#resolveURI(java.lang.String)
- */
- public Source resolveURI(String arg0)
- throws MalformedURLException, IOException {
- return this.resolver.resolveURI(arg0);
}
}