cziegeler 02/05/28 07:03:18
Modified: src/java/org/apache/cocoon/components/pipeline
AbstractProcessingPipeline.java
ProcessingPipeline.java
src/java/org/apache/cocoon/components/source
SitemapSource.java
src/java/org/apache/cocoon/components/source/impl
SitemapSource.java
src/java/org/apache/cocoon/environment
ForwardRedirector.java
Log:
Changed releasing of processing pipelines
Revision Changes Path
1.13 +11 -1
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.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- AbstractProcessingPipeline.java 27 May 2002 14:56:28 -0000 1.12
+++ AbstractProcessingPipeline.java 28 May 2002 14:03:18 -0000 1.13
@@ -82,7 +82,7 @@
*
* @since @next-version@
* @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a>
- * @version CVS $Id: AbstractProcessingPipeline.java,v 1.12 2002/05/27 14:56:28
cziegeler Exp $
+ * @version CVS $Id: AbstractProcessingPipeline.java,v 1.13 2002/05/28 14:03:18
cziegeler Exp $
*/
public abstract class AbstractProcessingPipeline
extends AbstractLogEnabled
@@ -160,6 +160,16 @@
*/
public void setup(Parameters params) {
this.parameters = params;
+ }
+
+ /**
+ * Release this component
+ * If you get an instance not by a component manager but for example
+ * by a processor, you have to release this component by calling
+ * this method and NOT by using a component manager!
+ */
+ public void release() {
+ this.manager.release( this );
}
/**
1.8 +9 -1
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.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- ProcessingPipeline.java 27 May 2002 14:56:28 -0000 1.7
+++ ProcessingPipeline.java 28 May 2002 14:03:18 -0000 1.8
@@ -79,7 +79,7 @@
*
* @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Giacomo Pati</a>
- * @version CVS $Id: ProcessingPipeline.java,v 1.7 2002/05/27 14:56:28 cziegeler
Exp $
+ * @version CVS $Id: ProcessingPipeline.java,v 1.8 2002/05/28 14:03:18 cziegeler
Exp $
*/
public interface ProcessingPipeline
extends Component, Recomposable {
@@ -90,6 +90,14 @@
* Setup this component
*/
void setup(Parameters params);
+
+ /**
+ * Release this component
+ * If you get an instance not by a component manager but for example
+ * by a processor, you have to release this component by calling
+ * this method and NOT by using a component manager!
+ */
+ void release();
/**
* Set the generator that will be used as the initial step in the pipeline.
1.17 +2 -2
xml-cocoon2/src/java/org/apache/cocoon/components/source/SitemapSource.java
Index: SitemapSource.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/source/SitemapSource.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- SitemapSource.java 28 May 2002 13:08:12 -0000 1.16
+++ SitemapSource.java 28 May 2002 14:03:18 -0000 1.17
@@ -87,7 +87,7 @@
*
* @deprecated by the Avalon Excalibur Source Resolving
* @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a>
- * @version CVS $Id: SitemapSource.java,v 1.16 2002/05/28 13:08:12 cziegeler Exp $
+ * @version CVS $Id: SitemapSource.java,v 1.17 2002/05/28 14:03:18 cziegeler Exp $
*/
public final class SitemapSource
@@ -338,7 +338,7 @@
}
private void reset() {
- if (this.processingPipeline != null)
this.manager.release(this.processingPipeline);
+ if (this.processingPipeline != null) this.processingPipeline.release();
this.processingPipeline = null;
this.lastModificationDate = 0;
this.environment.reset();
1.10 +2 -2
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.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- SitemapSource.java 28 May 2002 13:08:12 -0000 1.9
+++ SitemapSource.java 28 May 2002 14:03:18 -0000 1.10
@@ -92,7 +92,7 @@
* Description of a source which is defined by a pipeline.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a>
- * @version CVS $Id: SitemapSource.java,v 1.9 2002/05/28 13:08:12 cziegeler Exp $
+ * @version CVS $Id: SitemapSource.java,v 1.10 2002/05/28 14:03:18 cziegeler Exp $
*/
public final class SitemapSource
@@ -368,7 +368,7 @@
}
private void reset() {
- if (this.processingPipeline != null)
this.manager.release(this.processingPipeline);
+ if (this.processingPipeline != null) this.processingPipeline.release();
this.processingPipeline = null;
this.sourceValidity = null;
if (this.redirectSource != null)
this.environment.release(this.redirectSource);
1.4 +6 -5
xml-cocoon2/src/java/org/apache/cocoon/environment/ForwardRedirector.java
Index: ForwardRedirector.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/environment/ForwardRedirector.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ForwardRedirector.java 27 May 2002 14:02:30 -0000 1.3
+++ ForwardRedirector.java 28 May 2002 14:03:18 -0000 1.4
@@ -54,11 +54,10 @@
import org.apache.avalon.framework.logger.AbstractLoggable;
import org.apache.avalon.framework.component.ComponentException;
import org.apache.avalon.framework.component.ComponentManager;
-
-import org.apache.cocoon.environment.wrapper.EnvironmentWrapper;
-
import org.apache.cocoon.ProcessingException;
import org.apache.cocoon.Processor;
+import org.apache.cocoon.components.pipeline.ProcessingPipeline;
+import org.apache.cocoon.environment.wrapper.EnvironmentWrapper;
import java.io.IOException;
import java.net.MalformedURLException;
@@ -68,7 +67,7 @@
* redirects using the "cocoon:" pseudo-protocol.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Sylvain Wallez</a>
- * @version CVS $Id: ForwardRedirector.java,v 1.3 2002/05/27 14:02:30 cziegeler Exp
$
+ * @version CVS $Id: ForwardRedirector.java,v 1.4 2002/05/28 14:03:18 cziegeler Exp
$
*/
public class ForwardRedirector extends AbstractLoggable implements Redirector {
@@ -201,7 +200,9 @@
if ( !this.internal ) {
processingResult = actualProcessor.process(newEnv);
} else {
- processingResult = actualProcessor.processInternal(newEnv) != null;
+ ProcessingPipeline pp = actualProcessor.processInternal(newEnv);
+ if (pp != null) pp.release();
+ processingResult = pp != null;
}
if (!processingResult) {
----------------------------------------------------------------------
In case of troubles, e-mail: [EMAIL PROTECTED]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]