cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Reinhard Poetz <>
Subject CallFunctionNode problems in trunk
Date Fri, 12 May 2006 11:39:21 GMT

I'm not sure if I'm on the right track. What I found so far is that if a node is 
a LinkedProcessingNodeBuilder its linkNode() method is called. When the tree 
processor is set up, a node builder is registered for this step by adding it to 
the linkedBuilders collection:

     public ProcessingNodeBuilder createNodeBuilder
         (Configuration config) throws Exception {

         // FIXME : check namespace
         String nodeName = config.getName();

         if (getLogger().isDebugEnabled()) {
             getLogger().debug("Creating node builder for " + nodeName);

         ProcessingNodeBuilder builder;
         try {
             builder = (ProcessingNodeBuilder);
         } catch (ServiceException ce) {
             // Is it because this element is unknown ?
             if (this.itsBuilders.isSelectable(nodeName)) {
                 // No : rethrow
                 throw ce;
             // Throw a more meaningful exception
             String msg = ...
             throw new ConfigurationException(msg);


         if (builder instanceof LinkedProcessingNodeBuilder) {

         return builder;

IIUC always returns the same instance of the 
CallNodeBuilder object. As the CallNodeBuilder has state (node --> a 
CallFunctionNode object), the linkNode() method always operates on the same object.

Reinhard Pötz           Independent Consultant, Trainer & (IT)-Coach 

{Software Engineering, Open Source, Web Applications, Apache Cocoon}



Telefonate ohne weitere Kosten vom PC zum PC:

View raw message