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)
           );
  
  
  

Reply via email to