sylvain 2003/11/21 10:15:44
Modified: src/java/org/apache/cocoon/components/treeprocessor/sitemap
SerializeNode.java SerializeNodeBuilder.java
Log:
Terminate the ability for serializer to be SitemapModelComponents
Revision Changes Path
1.6 +13 -5
cocoon-2.1/src/java/org/apache/cocoon/components/treeprocessor/sitemap/SerializeNode.java
Index: SerializeNode.java
===================================================================
RCS file:
/home/cvs/cocoon-2.1/src/java/org/apache/cocoon/components/treeprocessor/sitemap/SerializeNode.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- SerializeNode.java 12 Aug 2003 15:48:02 -0000 1.5
+++ SerializeNode.java 21 Nov 2003 18:15:44 -0000 1.6
@@ -56,6 +56,7 @@
import org.apache.cocoon.Constants;
import org.apache.cocoon.components.pipeline.ProcessingPipeline;
import org.apache.cocoon.components.treeprocessor.InvokeContext;
+import
org.apache.cocoon.components.treeprocessor.ParameterizableProcessingNode;
import
org.apache.cocoon.components.treeprocessor.PipelineEventComponentProcessingNode;
import org.apache.cocoon.components.treeprocessor.ProcessingNode;
import org.apache.cocoon.components.treeprocessor.variables.VariableResolver;
@@ -68,14 +69,17 @@
* @version CVS $Id$
*/
-public class SerializeNode extends PipelineEventComponentProcessingNode {
+public class SerializeNode extends PipelineEventComponentProcessingNode
implements ParameterizableProcessingNode{
private String serializerName;
+ private VariableResolver source;
+
private VariableResolver mimeType;
private int statusCode;
+ private Map parameters;
/**
* Build a <code>SerializerNode</code> having a name, a mime-type and a
status code (HTTP codes).
@@ -84,12 +88,16 @@
* @param mimeType the mime-type, or <code>null</code> not specified.
* @param statusCode the HTTP response status code, or <code>-1</code>
if not specified.
*/
- public SerializeNode(String name, VariableResolver mimeType, int
statusCode) throws PatternException {
+ public SerializeNode(String name, VariableResolver source,
VariableResolver mimeType, int statusCode) throws PatternException {
this.serializerName = name;
+ this.source = source;
this.mimeType = mimeType;
this.statusCode = statusCode;
}
+ public void setParameters(Map parameterMap) {
+ this.parameters = parameterMap;
+ }
public final boolean invoke(Environment env, InvokeContext context)
throws Exception {
@@ -129,8 +137,8 @@
pipeline.setSerializer(
this.serializerName,
- null,
- Parameters.EMPTY_PARAMETERS, // No parameters on serializers
+ source.resolve(context, objectModel),
+ VariableResolver.buildParameters(this.parameters, context,
objectModel),
this.pipelineHints == null
? Parameters.EMPTY_PARAMETERS
: VariableResolver.buildParameters(this.pipelineHints,
context, objectModel),
1.2 +4 -3
cocoon-2.1/src/java/org/apache/cocoon/components/treeprocessor/sitemap/SerializeNodeBuilder.java
Index: SerializeNodeBuilder.java
===================================================================
RCS file:
/home/cvs/cocoon-2.1/src/java/org/apache/cocoon/components/treeprocessor/sitemap/SerializeNodeBuilder.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SerializeNodeBuilder.java 9 Mar 2003 00:09:22 -0000 1.1
+++ SerializeNodeBuilder.java 21 Nov 2003 18:15:44 -0000 1.2
@@ -75,9 +75,9 @@
private Collection views;
private Map pipelineHints;
- /** This builder has no parameters -- return <code>false</code> */
+ /** Serializers can have parameters -- return <code>true</code> */
protected boolean hasParameters() {
- return false;
+ return true;
}
public ProcessingNode buildNode(Configuration config) throws Exception {
@@ -89,6 +89,7 @@
this.node = new SerializeNode(
type,
+ VariableResolverFactory.getResolver(config.getAttribute("src",
null), this.manager),
VariableResolverFactory.getResolver(config.getAttribute("mime-type", null),
this.manager),
config.getAttributeAsInteger("status-code", -1)
);