You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by re...@apache.org on 2008/04/20 23:25:59 UTC
svn commit: r649983 -
/cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/SpringControllerComponent.java
Author: reinhard
Date: Sun Apr 20 14:25:58 2008
New Revision: 649983
URL: http://svn.apache.org/viewvc?rev=649983&view=rev
Log:
COCOON-2203
Provide both the Sitemap parameters and the input parameters for the Controller. (patch by Steven Dolg)
Modified:
cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/SpringControllerComponent.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=649983&r1=649982&r2=649983&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 Sun Apr 20 14:25:58 2008
@@ -19,6 +19,7 @@
package org.apache.cocoon.corona.controller;
import java.io.OutputStream;
+import java.util.HashMap;
import java.util.Map;
import org.apache.cocoon.corona.pipeline.component.Finisher;
@@ -30,36 +31,70 @@
public class SpringControllerComponent implements Starter, Finisher, ApplicationContextAware {
private ApplicationContext applicationContext;
+ private String beanName;
private OutputStream outputStream;
private Map<String, Object> parameters;
- private String beanName;
private String selector;
+ private Map<String, ? extends Object> configuration;
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.apache.cocoon.corona.pipeline.component.Starter#execute()
+ */
public void execute() {
- Controller controller = (Controller) this.applicationContext.getBean(Controller.class.getName() + "/"
- + this.beanName, Controller.class);
- controller.invoke(this.outputStream, this.selector, this.parameters);
+ Controller controller = (Controller) this.applicationContext.getBean(Controller.class.getName() + "/" + this.beanName,
+ Controller.class);
+ Map<String, Object> controllerParameters = new HashMap<String, Object>();
+ controllerParameters.putAll(this.configuration);
+ controllerParameters.putAll(this.parameters);
+ controller.invoke(this.outputStream, this.selector, controllerParameters);
}
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.apache.cocoon.corona.pipeline.component.Finisher#getContentType()
+ */
public String getContentType() {
return null;
}
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.springframework.context.ApplicationContextAware#setApplicationContext(org.springframework.context.ApplicationContext)
+ */
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
this.applicationContext = applicationContext;
}
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.apache.cocoon.corona.pipeline.component.PipelineComponent#setConfiguration(java.util.Map)
+ */
public void setConfiguration(Map<String, ? extends Object> configuration) {
+ this.configuration = configuration;
this.beanName = (String) configuration.get("controller");
this.selector = (String) configuration.get("select");
}
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.apache.cocoon.corona.pipeline.component.PipelineComponent#setInputParameters(java.util.Map)
+ */
public void setInputParameters(Map<String, Object> parameters) {
this.parameters = parameters;
}
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.apache.cocoon.corona.pipeline.component.Finisher#setOutputStream(java.io.OutputStream)
+ */
public void setOutputStream(OutputStream outputStream) {
this.outputStream = outputStream;
}
}
-