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 2008/07/15 15:00:33 UTC
svn commit: r676903 - in /cocoon/whiteboard/corona/trunk:
corona-controller/src/main/java/org/apache/cocoon/corona/controller/
corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/
corona-pipeline/src/main/java/org/apache/cocoon/corona/pipel...
Author: cziegeler
Date: Tue Jul 15 06:00:32 2008
New Revision: 676903
URL: http://svn.apache.org/viewvc?rev=676903&view=rev
Log:
- Rename setInputParameters to setup to be consistent with Pipeline and Actions
- Add new finish() method to pipeline components.
Modified:
cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/SpringControllerComponent.java
cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/AbstractPipeline.java
cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/CachingPipeline.java
cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/Pipeline.java
cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/component/AbstractSerializer.java
cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/component/AbstractXMLProducer.java
cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/component/FileReaderComponent.java
cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/component/PipelineComponent.java
cocoon/whiteboard/corona/trunk/corona-servlet/src/main/java/org/apache/cocoon/corona/servlet/component/RedirectorComponent.java
cocoon/whiteboard/corona/trunk/corona-servlet/src/main/java/org/apache/cocoon/corona/servlet/component/RequestParametersGenerator.java
cocoon/whiteboard/corona/trunk/corona-servlet/src/main/java/org/apache/cocoon/corona/servlet/ssf/ServiceConsumerGenerator.java
cocoon/whiteboard/corona/trunk/corona-sitemap/src/main/java/org/apache/cocoon/corona/sitemap/component/ExceptionGenerator.java
Modified: cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/SpringControllerComponent.java
URL: http://svn.apache.org/viewvc/cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/SpringControllerComponent.java?rev=676903&r1=676902&r2=676903&view=diff
==============================================================================
--- cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/SpringControllerComponent.java (original)
+++ cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/SpringControllerComponent.java Tue Jul 15 06:00:32 2008
@@ -38,7 +38,7 @@
/**
* {@inheritDoc}
- *
+ *
* @see org.apache.cocoon.corona.pipeline.component.Starter#execute()
*/
public void execute() {
@@ -49,7 +49,7 @@
/**
* {@inheritDoc}
- *
+ *
* @see org.apache.cocoon.corona.pipeline.component.Finisher#getContentType()
*/
public String getContentType() {
@@ -58,7 +58,7 @@
/**
* {@inheritDoc}
- *
+ *
* @see org.springframework.context.ApplicationContextAware#setApplicationContext(org.springframework.context.ApplicationContext)
*/
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
@@ -67,7 +67,7 @@
/**
* {@inheritDoc}
- *
+ *
* @see org.apache.cocoon.corona.pipeline.component.PipelineComponent#setConfiguration(java.util.Map)
*/
public void setConfiguration(Map<String, ? extends Object> configuration) {
@@ -78,16 +78,25 @@
/**
* {@inheritDoc}
- *
- * @see org.apache.cocoon.corona.pipeline.component.PipelineComponent#setInputParameters(java.util.Map)
+ *
+ * @see org.apache.cocoon.corona.pipeline.component.PipelineComponent#setup(java.util.Map)
*/
- public void setInputParameters(Map<String, Object> parameters) {
+ public void setup(Map<String, Object> parameters) {
this.parameters = parameters;
}
/**
* {@inheritDoc}
- *
+ *
+ * @see org.apache.cocoon.corona.pipeline.component.PipelineComponent#finish()
+ */
+ public void finish() {
+ // nothing to do
+ }
+
+ /**
+ * {@inheritDoc}
+ *
* @see org.apache.cocoon.corona.pipeline.component.Finisher#setOutputStream(java.io.OutputStream)
*/
public void setOutputStream(OutputStream outputStream) {
Modified: cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/AbstractPipeline.java
URL: http://svn.apache.org/viewvc/cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/AbstractPipeline.java?rev=676903&r1=676902&r2=676903&view=diff
==============================================================================
--- cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/AbstractPipeline.java (original)
+++ cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/AbstractPipeline.java Tue Jul 15 06:00:32 2008
@@ -58,8 +58,7 @@
*
* @see org.apache.cocoon.corona.pipeline.Pipeline#setup(java.util.Map, java.io.OutputStream)
*/
- public void setup(Map<String, Object> parameters, OutputStream outputStream)
- throws Exception {
+ public void setup(Map<String, Object> parameters, OutputStream outputStream) {
this.setupComponents(parameters, outputStream);
}
@@ -120,7 +119,7 @@
// now try to link the components, always two components at a time
// start at the first component
PipelineComponent currentComponent = first;
- first.setInputParameters(parameters);
+ first.setup(parameters);
// next component to link is the second in the list
for (ListIterator<PipelineComponent> i = this.components.listIterator(1); i.hasNext();) {
@@ -130,7 +129,7 @@
// now advance to the next component
currentComponent = nextComponent;
- currentComponent.setInputParameters(parameters);
+ currentComponent.setup(parameters);
}
// configure the finisher
Modified: cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/CachingPipeline.java
URL: http://svn.apache.org/viewvc/cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/CachingPipeline.java?rev=676903&r1=676902&r2=676903&view=diff
==============================================================================
--- cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/CachingPipeline.java (original)
+++ cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/CachingPipeline.java Tue Jul 15 06:00:32 2008
@@ -49,8 +49,7 @@
protected CachingOutputStream cachingOutputStream;
@Override
- public void setup(Map<String, Object> parameters, OutputStream outputStream)
- throws Exception {
+ public void setup(Map<String, Object> parameters, OutputStream outputStream) {
// create a caching output stream to intercept the result
this.cachingOutputStream = new CachingOutputStream(outputStream);
Modified: cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/Pipeline.java
URL: http://svn.apache.org/viewvc/cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/Pipeline.java?rev=676903&r1=676902&r2=676903&view=diff
==============================================================================
--- cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/Pipeline.java (original)
+++ cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/Pipeline.java Tue Jul 15 06:00:32 2008
@@ -30,8 +30,13 @@
/**
* <p>
* A pipeline expects one or more {@link PipelineComponent}s that passed by using
- * {@link #addComponent(PipelineComponent)}. Then these components linked with each other in the order they were passed
- * and the {@link #execute(Map, OutputStream)} method finally produces an {@link OutputStream} as result.
+ * {@link #addComponent(PipelineComponent)}. Then these components get linked with
+ * each other in the order they were added.
+ * The {@link #setup(Map, OutputStream)} method, calls the setup method on
+ * all pipeline components and assembles the pipeline.
+ * Finally the {@link #execute()} method produces the result and writes it
+ * to the {@link OutputStream} which has been passed to the {@link #setup(Map, OutputStream)}
+ * method.
* </p>
*
* <p>
@@ -67,9 +72,8 @@
* order to setup and initialize the pipeline and its components.
*
* @param parameters A {@link Map} of parameters that are available to all {@link PipelineComponent}s.
- * @throws Exception Any problem that might occur while setting up the pipeline.
*/
- void setup(Map<String, Object> parameters, OutputStream outputStream) throws Exception;
+ void setup(Map<String, Object> parameters, OutputStream outputStream);
/**
* After the pipeline has been setup ({@link #setup(Map, OutputStream)}, this method can be invoked in
Modified: cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/component/AbstractSerializer.java
URL: http://svn.apache.org/viewvc/cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/component/AbstractSerializer.java?rev=676903&r1=676902&r2=676903&view=diff
==============================================================================
--- cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/component/AbstractSerializer.java (original)
+++ cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/component/AbstractSerializer.java Tue Jul 15 06:00:32 2008
@@ -40,9 +40,9 @@
}
/**
- *
+ *
* {@inheritDoc}
- *
+ *
* @see org.apache.cocoon.corona.pipeline.component.Finisher#getContentType()
*/
public String getContentType() {
@@ -64,9 +64,9 @@
}
/**
- *
+ *
* {@inheritDoc}
- *
+ *
* @see org.apache.cocoon.corona.pipeline.component.PipelineComponent#setConfiguration(java.util.Map)
*/
public void setConfiguration(Map<String, ? extends Object> configuration) {
@@ -83,19 +83,27 @@
}
/**
- *
* {@inheritDoc}
- *
- * @see org.apache.cocoon.corona.pipeline.component.PipelineComponent#setInputParameters(java.util.Map)
+ *
+ * @see org.apache.cocoon.corona.pipeline.component.PipelineComponent#setup(java.util.Map)
*/
- public void setInputParameters(Map<String, Object> inputParameters) {
+ public void setup(Map<String, Object> inputParameters) {
this.inputParameters = inputParameters;
}
/**
- *
* {@inheritDoc}
- *
+ *
+ * @see org.apache.cocoon.corona.pipeline.component.PipelineComponent#finish()
+ */
+ public void finish() {
+ // nothing to do
+ }
+
+ /**
+ *
+ * {@inheritDoc}
+ *
* @see org.apache.cocoon.corona.pipeline.component.Finisher#setOutputStream(java.io.OutputStream)
*/
public void setOutputStream(OutputStream outputStream) {
@@ -103,9 +111,9 @@
}
/**
- *
+ *
* {@inheritDoc}
- *
+ *
* @see java.lang.Object#toString()
*/
@Override
Modified: cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/component/AbstractXMLProducer.java
URL: http://svn.apache.org/viewvc/cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/component/AbstractXMLProducer.java?rev=676903&r1=676902&r2=676903&view=diff
==============================================================================
--- cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/component/AbstractXMLProducer.java (original)
+++ cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/component/AbstractXMLProducer.java Tue Jul 15 06:00:32 2008
@@ -28,7 +28,7 @@
/**
* {@inheritDoc}
- *
+ *
* @see org.apache.cocoon.corona.pipeline.component.Producer#setConsumer(org.apache.cocoon.corona.pipeline.component.Consumer)
*/
public final void setConsumer(Consumer consumer) {
@@ -41,18 +41,29 @@
/**
* {@inheritDoc}
- *
+ *
* @see org.apache.cocoon.corona.pipeline.component.PipelineComponent#setConfiguration(java.util.Map)
*/
public void setConfiguration(Map<String, ? extends Object> configuration) {
+ // nothing to do
}
/**
* {@inheritDoc}
- *
- * @see org.apache.cocoon.corona.pipeline.component.PipelineComponent#setInputParameters(java.util.Map)
+ *
+ * @see org.apache.cocoon.corona.pipeline.component.PipelineComponent#setup(java.util.Map)
*/
- public void setInputParameters(Map<String, Object> inputParameters) {
+ public void setup(Map<String, Object> inputParameters) {
+ // nothing to do
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.apache.cocoon.corona.pipeline.component.PipelineComponent#finish()
+ */
+ public void finish() {
+ // nothing to do
}
protected XMLConsumer getXMLConsumer() {
Modified: cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/component/FileReaderComponent.java
URL: http://svn.apache.org/viewvc/cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/component/FileReaderComponent.java?rev=676903&r1=676902&r2=676903&view=diff
==============================================================================
--- cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/component/FileReaderComponent.java (original)
+++ cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/component/FileReaderComponent.java Tue Jul 15 06:00:32 2008
@@ -50,7 +50,7 @@
/**
* {@inheritDoc}
- *
+ *
* @see org.apache.cocoon.corona.pipeline.component.CachingPipelineComponent#constructCacheKey()
*/
public CacheKey constructCacheKey() {
@@ -66,7 +66,7 @@
/**
* {@inheritDoc}
- *
+ *
* @see org.apache.cocoon.corona.pipeline.component.Starter#execute()
*/
public void execute() {
@@ -101,7 +101,7 @@
/**
* {@inheritDoc}
- *
+ *
* @see org.apache.cocoon.corona.pipeline.component.Finisher#getContentType()
*/
public String getContentType() {
@@ -122,7 +122,7 @@
/**
* {@inheritDoc}
- *
+ *
* @see org.apache.cocoon.corona.pipeline.component.PipelineComponent#setConfiguration(java.util.Map)
*/
public void setConfiguration(Map<String, ? extends Object> configuration) {
@@ -132,15 +132,25 @@
/**
* {@inheritDoc}
- *
- * @see org.apache.cocoon.corona.pipeline.component.PipelineComponent#setInputParameters(java.util.Map)
+ *
+ * @see org.apache.cocoon.corona.pipeline.component.PipelineComponent#setup(java.util.Map)
*/
- public void setInputParameters(Map<String, Object> inputParameters) {
+ public void setup(Map<String, Object> inputParameters) {
+ // nothing to do
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.apache.cocoon.corona.pipeline.component.PipelineComponent#finish()
+ */
+ public void finish() {
+ // nothing to do
}
/**
* Set the mime-type directly which is useful when this component is used directly.
- *
+ *
* @param mimeType The mime-type that belongs to the content that is produced by this component.
*/
public void setMimeType(String mimeType) {
@@ -149,7 +159,7 @@
/**
* Set the source {@link URL} directly when this component is used directly.
- *
+ *
* @param source A {@link URL} that will be used by this component.
*/
public void setSource(URL source) {
@@ -158,7 +168,7 @@
/**
* {@inheritDoc}
- *
+ *
* @see org.apache.cocoon.corona.pipeline.component.Finisher#setOutputStream(java.io.OutputStream)
*/
public void setOutputStream(OutputStream outputStream) {
@@ -167,7 +177,7 @@
/**
* {@inheritDoc}
- *
+ *
* @see java.lang.Object#toString()
*/
@Override
Modified: cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/component/PipelineComponent.java
URL: http://svn.apache.org/viewvc/cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/component/PipelineComponent.java?rev=676903&r1=676902&r2=676903&view=diff
==============================================================================
--- cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/component/PipelineComponent.java (original)
+++ cocoon/whiteboard/corona/trunk/corona-pipeline/src/main/java/org/apache/cocoon/corona/pipeline/component/PipelineComponent.java Tue Jul 15 06:00:32 2008
@@ -20,9 +20,30 @@
import java.util.Map;
+/**
+ * This is a component used in a pipeline.
+ *
+ * If the environment has some configuration for this component
+ * {@link #setConfiguration(Map)} is called as the first step.
+ * After the component has been added to pipeline,
+ * {@link #setup(Map)} is called before the pipeline is executed.
+ * When the pipeline is finished or if any error ocurred
+ * {@link #finish} is called.
+ */
public interface PipelineComponent {
void setConfiguration(Map<String, ? extends Object> configuration);
- void setInputParameters(Map<String, Object> parameters);
+ /**
+ * The shared object map for this pipeline run.
+ * @param parameters A {@link Map} of parameters that are available to all {@link PipelineComponent}s.
+ * This is a modifiable map that can be changed by this pipeline component.
+ */
+ void setup(Map<String, Object> parameters);
+
+ /**
+ * This method is called after pipeline run - regardless if the
+ * run was successful or an exception was thrown.
+ */
+ void finish();
}
Modified: cocoon/whiteboard/corona/trunk/corona-servlet/src/main/java/org/apache/cocoon/corona/servlet/component/RedirectorComponent.java
URL: http://svn.apache.org/viewvc/cocoon/whiteboard/corona/trunk/corona-servlet/src/main/java/org/apache/cocoon/corona/servlet/component/RedirectorComponent.java?rev=676903&r1=676902&r2=676903&view=diff
==============================================================================
--- cocoon/whiteboard/corona/trunk/corona-servlet/src/main/java/org/apache/cocoon/corona/servlet/component/RedirectorComponent.java (original)
+++ cocoon/whiteboard/corona/trunk/corona-servlet/src/main/java/org/apache/cocoon/corona/servlet/component/RedirectorComponent.java Tue Jul 15 06:00:32 2008
@@ -42,7 +42,7 @@
/**
* {@inheritDoc}
- *
+ *
* @see org.apache.cocoon.corona.pipeline.component.Starter#execute()
*/
public void execute() {
@@ -77,20 +77,23 @@
/**
* {@inheritDoc}
- *
+ *
* @see org.apache.cocoon.corona.pipeline.component.PipelineComponent#setConfiguration(java.util.Map)
*/
public void setConfiguration(Map<String, ? extends Object> configuration) {
this.uri = (String) configuration.get("uri");
}
- public void setInputParameters(Map<String, Object> parameters) {
+ public void setup(Map<String, Object> parameters) {
this.parameters = parameters;
}
+ public void finish() {
+ }
+
/**
* {@inheritDoc}
- *
+ *
* @see org.apache.cocoon.corona.pipeline.component.Finisher#setOutputStream(java.io.OutputStream)
*/
public void setOutputStream(OutputStream outputStream) {
@@ -99,7 +102,7 @@
/**
* {@inheritDoc}
- *
+ *
* @see java.lang.Object#toString()
*/
@Override
Modified: cocoon/whiteboard/corona/trunk/corona-servlet/src/main/java/org/apache/cocoon/corona/servlet/component/RequestParametersGenerator.java
URL: http://svn.apache.org/viewvc/cocoon/whiteboard/corona/trunk/corona-servlet/src/main/java/org/apache/cocoon/corona/servlet/component/RequestParametersGenerator.java?rev=676903&r1=676902&r2=676903&view=diff
==============================================================================
--- cocoon/whiteboard/corona/trunk/corona-servlet/src/main/java/org/apache/cocoon/corona/servlet/component/RequestParametersGenerator.java (original)
+++ cocoon/whiteboard/corona/trunk/corona-servlet/src/main/java/org/apache/cocoon/corona/servlet/component/RequestParametersGenerator.java Tue Jul 15 06:00:32 2008
@@ -36,7 +36,7 @@
/**
* {@inheritDoc}
- *
+ *
* @see org.apache.cocoon.corona.pipeline.component.Starter#execute()
*/
@SuppressWarnings("unchecked")
@@ -64,7 +64,8 @@
}
@Override
- public void setInputParameters(Map<String, Object> parameters) {
+ public void setup(Map<String, Object> parameters) {
+ super.setup(parameters);
this.parameters = parameters;
}
}
Modified: cocoon/whiteboard/corona/trunk/corona-servlet/src/main/java/org/apache/cocoon/corona/servlet/ssf/ServiceConsumerGenerator.java
URL: http://svn.apache.org/viewvc/cocoon/whiteboard/corona/trunk/corona-servlet/src/main/java/org/apache/cocoon/corona/servlet/ssf/ServiceConsumerGenerator.java?rev=676903&r1=676902&r2=676903&view=diff
==============================================================================
--- cocoon/whiteboard/corona/trunk/corona-servlet/src/main/java/org/apache/cocoon/corona/servlet/ssf/ServiceConsumerGenerator.java (original)
+++ cocoon/whiteboard/corona/trunk/corona-servlet/src/main/java/org/apache/cocoon/corona/servlet/ssf/ServiceConsumerGenerator.java Tue Jul 15 06:00:32 2008
@@ -49,7 +49,8 @@
}
@Override
- public void setInputParameters(Map<String, Object> inputParameters) {
+ public void setup(Map<String, Object> inputParameters) {
+ super.setup(inputParameters);
this.inputParameters = inputParameters;
}
}
\ No newline at end of file
Modified: cocoon/whiteboard/corona/trunk/corona-sitemap/src/main/java/org/apache/cocoon/corona/sitemap/component/ExceptionGenerator.java
URL: http://svn.apache.org/viewvc/cocoon/whiteboard/corona/trunk/corona-sitemap/src/main/java/org/apache/cocoon/corona/sitemap/component/ExceptionGenerator.java?rev=676903&r1=676902&r2=676903&view=diff
==============================================================================
--- cocoon/whiteboard/corona/trunk/corona-sitemap/src/main/java/org/apache/cocoon/corona/sitemap/component/ExceptionGenerator.java (original)
+++ cocoon/whiteboard/corona/trunk/corona-sitemap/src/main/java/org/apache/cocoon/corona/sitemap/component/ExceptionGenerator.java Tue Jul 15 06:00:32 2008
@@ -81,7 +81,8 @@
}
@Override
- public void setInputParameters(Map<String, Object> parameters) {
+ public void setup(Map<String, Object> parameters) {
+ super.setup(parameters);
this.parameters = parameters;
}
}