cocoon-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ovi...@apache.org
Subject cvs commit: xml-cocoon2/src/scratchpad/schecoon/src/org/apache/cocoon/components/treeprocessor/sitemap CallFunctionNode.java
Date Mon, 18 Mar 2002 06:47:01 GMT
ovidiu      02/03/17 22:47:01

  Modified:    src/scratchpad/schecoon/src/org/apache/cocoon/components/treeprocessor/sitemap
                        CallFunctionNode.java
  Log:
  Implement Initializable. Set the `resources' on the interpreter in
  initialize(). This is suboptimal as there can be many call function
  nodes in the sitemap tree, but only one setResources on the
  Interpreter is needed.
  
  Revision  Changes    Path
  1.4       +27 -7     xml-cocoon2/src/scratchpad/schecoon/src/org/apache/cocoon/components/treeprocessor/sitemap/CallFunctionNode.java
  
  Index: CallFunctionNode.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/scratchpad/schecoon/src/org/apache/cocoon/components/treeprocessor/sitemap/CallFunctionNode.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- CallFunctionNode.java	15 Mar 2002 23:40:56 -0000	1.3
  +++ CallFunctionNode.java	18 Mar 2002 06:47:01 -0000	1.4
  @@ -23,18 +23,14 @@
   import org.apache.cocoon.sitemap.PatternException;
   
   public class CallFunctionNode extends AbstractProcessingNode
  -  implements Configurable, Composable
  +  implements Configurable, Composable, Initializable
   {
     protected String functionName;
     protected ArrayList parameters;
     protected MapStackResolver resourceResolver;
     protected ComponentManager manager;
  -  String language;
  -
  -  public CallFunctionNode(String funName)
  -  {
  -    functionName = funName;
  -  }
  +  protected CategoryNode resources;
  +  protected String language;
   
     public static List resolveList(List expressions, List mapStack)
       throws PatternException 
  @@ -54,6 +50,17 @@
       return result;
     }
   
  +  public CallFunctionNode(String funName)
  +  {
  +    functionName = funName;
  +  }
  +
  +  public void setResources(CategoryNode resources)
  +    throws Exception
  +  {
  +    this.resources = resources;
  +  }
  +
     /**
      * Obtain the configuration specific to this node type and update
      * the internal state.
  @@ -90,6 +97,19 @@
     public void compose(ComponentManager manager)
     {
       this.manager = manager;
  +  }
  +
  +  public void initialize()
  +    throws Exception
  +  {
  +    InterpreterSelector selector
  +      = (InterpreterSelector)manager.lookup(Interpreter.ROLE);
  +    if (language == null)
  +      language = selector.getDefaultLanguage();
  +    
  +    // Obtain the Interpreter instance for this language
  +    Interpreter interpreter = (Interpreter)selector.select(language);
  +    interpreter.setResources(resources);
     }
   
     public boolean invoke(Environment env, InvokeContext context)
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     webmaster@xml.apache.org
To unsubscribe, e-mail:          cocoon-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: cocoon-cvs-help@xml.apache.org


Mime
View raw message