cziegeler    02/05/29 05:50:21

  Modified:    .        changes.xml
               src/java/org/apache/cocoon Cocoon.java Processor.java
                        ProcessorWrapper.java
               src/java/org/apache/cocoon/components
                        CocoonComponentManager.java
                        SitemapConfigurable.java
               src/java/org/apache/cocoon/components/treeprocessor
                        TreeProcessor.java
               src/java/org/apache/cocoon/components/treeprocessor/sitemap
                        PipelinesNode.java PipelinesNodeBuilder.java
               src/java/org/apache/cocoon/webapps/authentication/components
                        AuthenticationManager.java
  Log:
  Added custom component configuration
  
  Revision  Changes    Path
  1.177     +4 -1      xml-cocoon2/changes.xml
  
  Index: changes.xml
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/changes.xml,v
  retrieving revision 1.176
  retrieving revision 1.177
  diff -u -r1.176 -r1.177
  --- changes.xml       29 May 2002 12:02:14 -0000      1.176
  +++ changes.xml       29 May 2002 12:50:20 -0000      1.177
  @@ -4,7 +4,7 @@
   
   <!--
     History of Cocoon changes
  -  $Id: changes.xml,v 1.176 2002/05/29 12:02:14 cziegeler Exp $
  +  $Id: changes.xml,v 1.177 2002/05/29 12:50:20 cziegeler Exp $
   -->
   
   <changes title="History of Changes">
  @@ -38,6 +38,9 @@
    </devs>
   
    <release version="@version@" date="@date@">
  +  <action dev="CZ" type="add">
  +    Added custom component configuration to map:pipelines section.
  +  </action>
     <action dev="CZ" type="add">
       Added global parameters to map:pipelines section.
     </action>
  
  
  
  1.29      +9 -1      xml-cocoon2/src/java/org/apache/cocoon/Cocoon.java
  
  Index: Cocoon.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/Cocoon.java,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -u -r1.28 -r1.29
  --- Cocoon.java       27 May 2002 14:02:29 -0000      1.28
  +++ Cocoon.java       29 May 2002 12:50:20 -0000      1.29
  @@ -96,7 +96,7 @@
    * @author <a href="mailto:[EMAIL PROTECTED]";>Pierpaolo Fumagalli</a> (Apache 
Software Foundation, Exoffice Technologies)
    * @author <a href="mailto:[EMAIL PROTECTED]";>Stefano Mazzocchi</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Leo Sutic</a>
  - * @version CVS $Id: Cocoon.java,v 1.28 2002/05/27 14:02:29 cziegeler Exp $
  + * @version CVS $Id: Cocoon.java,v 1.29 2002/05/29 12:50:20 cziegeler Exp $
    */
   public class Cocoon
           extends AbstractLoggable
  @@ -638,6 +638,14 @@
                   --activeRequestCount;
               }
           }
  +    }
  +
  +    /**
  +     * Get the sitemap component configurations
  +     * @since @next-version@
  +     */
  +    public Configuration getComponentConfigurations() {
  +        return null;
       }
   
       /**
  
  
  
  1.8       +8 -1      xml-cocoon2/src/java/org/apache/cocoon/Processor.java
  
  Index: Processor.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/Processor.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- Processor.java    27 May 2002 14:02:29 -0000      1.7
  +++ Processor.java    29 May 2002 12:50:20 -0000      1.8
  @@ -51,6 +51,7 @@
   package org.apache.cocoon;
   
   import org.apache.avalon.framework.component.Component;
  +import org.apache.avalon.framework.configuration.Configuration;
   import org.apache.cocoon.components.pipeline.ProcessingPipeline;
   import org.apache.cocoon.environment.Environment;
   
  @@ -59,7 +60,7 @@
    * @author <a href="mailto:[EMAIL PROTECTED]";>Pierpaolo Fumagalli</a>
    *         (Apache Software Foundation, Exoffice Technologies)
    * @author <a href="mailto:[EMAIL PROTECTED]";>Carsten Ziegeler</a>
  - * @version CVS $Id: Processor.java,v 1.7 2002/05/27 14:02:29 cziegeler Exp $
  + * @version CVS $Id: Processor.java,v 1.8 2002/05/29 12:50:20 cziegeler Exp $
    */
   public interface Processor extends Component {
   
  @@ -85,4 +86,10 @@
        */
       ProcessingPipeline processInternal(Environment environment)
       throws Exception;
  +
  +    /**
  +     * Get the sitemap component configurations
  +     * @since @next-version@
  +     */
  +    Configuration getComponentConfigurations();
   }
  
  
  
  1.8       +10 -1     xml-cocoon2/src/java/org/apache/cocoon/ProcessorWrapper.java
  
  Index: ProcessorWrapper.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/ProcessorWrapper.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ProcessorWrapper.java     27 May 2002 14:02:29 -0000      1.7
  +++ ProcessorWrapper.java     29 May 2002 12:50:20 -0000      1.8
  @@ -52,6 +52,7 @@
   
   import org.apache.avalon.framework.activity.Disposable;
   import org.apache.avalon.framework.component.Component;
  +import org.apache.avalon.framework.configuration.Configuration;
   import org.apache.avalon.framework.thread.ThreadSafe;
   import org.apache.cocoon.components.pipeline.ProcessingPipeline;
   import org.apache.cocoon.environment.Environment;
  @@ -60,7 +61,7 @@
    * This class is a wrapper around the real processor (the <code>Cocoon</code> 
class).
    * It is necessary to avoid infinite dispose loops
    * @author <a href="mailto:[EMAIL PROTECTED]";>Carsten Ziegeler</a>
  - * @version CVS $Id: ProcessorWrapper.java,v 1.7 2002/05/27 14:02:29 cziegeler Exp $
  + * @version CVS $Id: ProcessorWrapper.java,v 1.8 2002/05/29 12:50:20 cziegeler Exp $
    */
   public final class ProcessorWrapper
   implements Processor, Component, Disposable, ThreadSafe {
  @@ -91,6 +92,14 @@
       public ProcessingPipeline processInternal(Environment environment)
       throws Exception {
           return this.processor.processInternal(environment);
  +    }
  +
  +    /**
  +     * Get the sitemap component configurations
  +     * @since @next-version@
  +     */
  +    public Configuration getComponentConfigurations() {
  +        return this.processor.getComponentConfigurations();
       }
   
   }
  
  
  
  1.20      +23 -9     
xml-cocoon2/src/java/org/apache/cocoon/components/CocoonComponentManager.java
  
  Index: CocoonComponentManager.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/CocoonComponentManager.java,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- CocoonComponentManager.java       29 May 2002 09:12:04 -0000      1.19
  +++ CocoonComponentManager.java       29 May 2002 12:50:20 -0000      1.20
  @@ -63,7 +63,9 @@
   import org.apache.avalon.framework.component.ComponentManager;
   import org.apache.avalon.framework.component.ComponentSelector;
   import org.apache.avalon.framework.component.Recomposable;
  +import org.apache.avalon.framework.configuration.Configuration;
   import org.apache.cocoon.ProcessingException;
  +import org.apache.cocoon.Processor;
   import org.apache.cocoon.environment.Environment;
   import java.net.MalformedURLException;
   import org.apache.excalibur.source.Source;
  @@ -79,7 +81,7 @@
    * and by handling the lookup of the <code>SourceResolver</code> (in development)
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Carsten Ziegeler</a>
  - * @version CVS $Id: CocoonComponentManager.java,v 1.19 2002/05/29 09:12:04 
cziegeler Exp $
  + * @version CVS $Id: CocoonComponentManager.java,v 1.20 2002/05/29 12:50:20 
cziegeler Exp $
    */
   public final class CocoonComponentManager
   extends ExcaliburComponentManager
  @@ -123,7 +125,7 @@
        */
       public static void enterEnvironment(Environment env,
                                           Map         objectModel,
  -                                        Object      processor) {
  +                                        Processor   processor) {
           if (environmentStack.get() == null) {
               environmentStack.set(new Stack());
           }
  @@ -131,11 +133,11 @@
           if ( !stack.empty() ) {
               final Object[] objects = (Object[])stack.peek();
               if ( objects[1] == objectModel ) {
  -                stack.push(new Object[] {env, objectModel, objects[2], TWO, 
processor});
  +                stack.push(new Object[] {env, objectModel, objects[2], TWO, 
processor, processor.getComponentConfigurations()});
                   return;
               }
           }
  -        stack.push(new Object[] {env, objectModel, new HashMap(5), ONE, processor, 
new ArrayList(2)});
  +        stack.push(new Object[] {env, objectModel, new HashMap(5), ONE, processor, 
processor.getComponentConfigurations(), new ArrayList(2)});
       }
   
       /**
  @@ -153,8 +155,8 @@
                       final Component component = (Component)o[0];
                       ((CocoonComponentManager)o[1]).releaseRLComponent( component );
                   }
  -                if (objects.length > 5) {
  -                    final List automaticReleasedComponents = (List)objects[5];
  +                if (objects.length > 6) {
  +                    final List automaticReleasedComponents = (List)objects[6];
                       for(int i = 0; i < automaticReleasedComponents.size(); i++) {
                           final Object[] o = 
(Object[])automaticReleasedComponents.get(i);
                           final Component component = (Component)o[0];
  @@ -225,6 +227,18 @@
                       }
                       ((RequestLifecycleComponent) 
component).setup((org.apache.cocoon.environment.SourceResolver)objects[0],
                                                                     (Map)objects[1]);
  +                    if (component instanceof SitemapConfigurable) {
  +                        for(int i=0; i < stack.size(); i++) {
  +                            Object[] o = (Object[])stack.get(i);
  +                            Configuration cc = (Configuration)o[5];
  +                            if ( null != cc ) {
  +                                cc = cc.getChild( role, false );
  +                                if ( null != cc ) {
  +                                    ((SitemapConfigurable) 
component).setSitemapConfiguration(cc);
  +                                }
  +                            }
  +                        }
  +                    }
                   } catch (Exception local) {
                       throw new ComponentException("Exception during setup of 
RequestLifecycleComponent with role '"+role+"'", local);
                   }
  @@ -262,7 +276,7 @@
           final Stack stack = (Stack)environmentStack.get();
           if ( null != stack && !stack.empty()) {
               final Object[] objects = (Object[])stack.firstElement();
  -            final List automaticReleasedComponents = (List)objects[5];
  +            final List automaticReleasedComponents = (List)objects[6];
               automaticReleasedComponents.add(new Object[] {component, selector, 
manager});
           } else {
               throw new ProcessingException("Unable to add component for automatic 
release: no environment available.");
  @@ -278,7 +292,7 @@
           final Stack stack = (Stack)environmentStack.get();
           if ( null != stack && !stack.empty()) {
               final Object[] objects = (Object[])stack.firstElement();
  -            final List automaticReleasedComponents = (List)objects[5];
  +            final List automaticReleasedComponents = (List)objects[6];
               automaticReleasedComponents.add(new Object[] {component, manager});
           } else {
               throw new ProcessingException("Unable to add component for automatic 
release: no environment available.");
  @@ -293,7 +307,7 @@
           final Stack stack = (Stack)environmentStack.get();
           if ( null != stack && !stack.empty()) {
               final Object[] objects = (Object[])stack.firstElement();
  -            final List automaticReleasedComponents = (List)objects[5];
  +            final List automaticReleasedComponents = (List)objects[6];
               int i = 0;
               boolean found = false;
               while (i < automaticReleasedComponents.size() && !found) {
  
  
  
  1.2       +3 -2      
xml-cocoon2/src/java/org/apache/cocoon/components/SitemapConfigurable.java
  
  Index: SitemapConfigurable.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/SitemapConfigurable.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- SitemapConfigurable.java  29 May 2002 12:02:14 -0000      1.1
  +++ SitemapConfigurable.java  29 May 2002 12:50:20 -0000      1.2
  @@ -60,9 +60,10 @@
    *
    * @since @next-version@
    * @author <a href="mailto:[EMAIL PROTECTED]";>Carsten Ziegeler</a>
  - * @version CVS $Id: SitemapConfigurable.java,v 1.1 2002/05/29 12:02:14 cziegeler 
Exp $
  + * @version CVS $Id: SitemapConfigurable.java,v 1.2 2002/05/29 12:50:20 cziegeler 
Exp $
    */
  -public interface SitemapConfigurable {
  +public interface SitemapConfigurable
  +    extends RequestLifecycleComponent {
   
       /**
        * Set the <code>Configuration</code>.
  
  
  
  1.12      +29 -3     
xml-cocoon2/src/java/org/apache/cocoon/components/treeprocessor/TreeProcessor.java
  
  Index: TreeProcessor.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/treeprocessor/TreeProcessor.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- TreeProcessor.java        27 May 2002 14:02:29 -0000      1.11
  +++ TreeProcessor.java        29 May 2002 12:50:21 -0000      1.12
  @@ -94,11 +94,19 @@
    * Interpreted tree-traversal implementation of a pipeline assembly language.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Sylvain Wallez</a>
  - * @version CVS $Id: TreeProcessor.java,v 1.11 2002/05/27 14:02:29 cziegeler Exp $
  + * @version CVS $Id: TreeProcessor.java,v 1.12 2002/05/29 12:50:21 cziegeler Exp $
    */
   
  -public class TreeProcessor extends AbstractLoggable implements ThreadSafe, 
Processor,
  -  Composable, Configurable, LogKitManageable, RoleManageable, Contextualizable, 
Disposable {
  +public class TreeProcessor
  +    extends AbstractLoggable
  +    implements ThreadSafe,
  +               Processor,
  +               Composable,
  +               Configurable,
  +               LogKitManageable,
  +               RoleManageable,
  +               Contextualizable,
  +               Disposable {
   
       private static final String XCONF_URL =
           
"resource://org/apache/cocoon/components/treeprocessor/treeprocessor-builtins.xml";
  @@ -148,6 +156,9 @@
       /** Check for reload? */
       protected boolean checkReload;
   
  +    /** component configurations */
  +    protected Configuration componentConfigurations;
  +
       /**
        * Create a TreeProcessor.
        */
  @@ -337,6 +348,21 @@
           } finally {
               context.dispose();
           }
  +    }
  +
  +    /**
  +     * Set the sitemap component configurations
  +     */
  +    public void setComponentConfigurations(Configuration componentConfigurations) {
  +        this.componentConfigurations = componentConfigurations;
  +    }
  +
  +    /**
  +     * Get the sitemap component configurations
  +     * @since @next-version@
  +     */
  +    public Configuration getComponentConfigurations() {
  +        return this.componentConfigurations;
       }
   
       protected synchronized void setupRootNode(Environment env) throws Exception {
  
  
  
  1.7       +3 -6      
xml-cocoon2/src/java/org/apache/cocoon/components/treeprocessor/sitemap/PipelinesNode.java
  
  Index: PipelinesNode.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/treeprocessor/sitemap/PipelinesNode.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- PipelinesNode.java        29 May 2002 12:02:15 -0000      1.6
  +++ PipelinesNode.java        29 May 2002 12:50:21 -0000      1.7
  @@ -73,7 +73,7 @@
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Sylvain Wallez</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Carsten Ziegeler</a>
  - * @version CVS $Id: PipelinesNode.java,v 1.6 2002/05/29 12:02:15 cziegeler Exp $
  + * @version CVS $Id: PipelinesNode.java,v 1.7 2002/05/29 12:50:21 cziegeler Exp $
    */
   
   public final class PipelinesNode extends SimpleParentProcessingNode
  @@ -85,20 +85,17 @@
   
       private Processor processor;
   
  +    /** Global sitemap parameters */
       private Map globalParameters;
   
       /**
        * Constructor
        * @param processor               The processor for this sitemap
        * @param parameters              Optional global parameters for this sitemap 
(can be null)
  -     * @param componentConfigurations Optional sitemap configurations for components
        */
       public PipelinesNode(Processor       processor,
  -                         Map             parameters,
  -                         Configuration[] componentConfigurations) {
  +                         Map             parameters) {
           this.processor = processor;
  -        // FIXME - we have the parameters and the component configurations
  -        // and now?
           this.globalParameters = parameters;
       }
   
  
  
  
  1.4       +3 -5      
xml-cocoon2/src/java/org/apache/cocoon/components/treeprocessor/sitemap/PipelinesNodeBuilder.java
  
  Index: PipelinesNodeBuilder.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/treeprocessor/sitemap/PipelinesNodeBuilder.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- PipelinesNodeBuilder.java 29 May 2002 12:02:15 -0000      1.3
  +++ PipelinesNodeBuilder.java 29 May 2002 12:50:21 -0000      1.4
  @@ -63,7 +63,7 @@
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Sylvain Wallez</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Carsten Ziegeler</a>
  - * @version CVS $Id: PipelinesNodeBuilder.java,v 1.3 2002/05/29 12:02:15 cziegeler 
Exp $
  + * @version CVS $Id: PipelinesNodeBuilder.java,v 1.4 2002/05/29 12:50:21 cziegeler 
Exp $
    */
   
   public class PipelinesNodeBuilder extends ContainerNodeBuilder implements 
ThreadSafe {
  @@ -71,7 +71,6 @@
       public ProcessingNode buildNode(Configuration config)
       throws Exception {
           Map parameters = null;
  -        Configuration[] componentConfigs = null;
   
           // check for global paramters
           Configuration child = config.getChild("global-parameters", false);
  @@ -92,11 +91,10 @@
           child = config.getChild("component-configurations", false);
           if (child != null) {
               this.checkNamespace(child);
  -            componentConfigs = child.getChildren();
  +            this.treeBuilder.getProcessor().setComponentConfigurations(child);
           }
           PipelinesNode node = new PipelinesNode(this.treeBuilder.getProcessor(),
  -                                               parameters,
  -                                               componentConfigs);
  +                                               parameters);
           this.treeBuilder.setupNode(node, config);
   
           ProcessingNode[] children = buildChildNodes(config);
  
  
  
  1.5       +11 -2     
xml-cocoon2/src/java/org/apache/cocoon/webapps/authentication/components/AuthenticationManager.java
  
  Index: AuthenticationManager.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/webapps/authentication/components/AuthenticationManager.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- AuthenticationManager.java        29 Apr 2002 08:52:07 -0000      1.4
  +++ AuthenticationManager.java        29 May 2002 12:50:21 -0000      1.5
  @@ -61,6 +61,7 @@
   import org.apache.avalon.framework.configuration.ConfigurationException;
   import org.apache.avalon.framework.parameters.Parameters;
   import org.apache.cocoon.ProcessingException;
  +import org.apache.cocoon.components.SitemapConfigurable;
   import org.apache.cocoon.environment.ObjectModelHelper;
   import org.apache.cocoon.environment.Redirector;
   import org.apache.cocoon.environment.Request;
  @@ -97,11 +98,11 @@
    *  This is the basis authentication component.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Carsten Ziegeler</a>
  - * @version CVS $Id: AuthenticationManager.java,v 1.4 2002/04/29 08:52:07 cziegeler 
Exp $
  + * @version CVS $Id: AuthenticationManager.java,v 1.5 2002/05/29 12:50:21 cziegeler 
Exp $
   */
   public final class AuthenticationManager
   extends AbstractSessionComponent
  -implements Configurable {
  +implements Configurable, SitemapConfigurable {
   
       /** The Avalon Role */
       public static final String ROLE = AuthenticationManager.class.getName();
  @@ -180,6 +181,14 @@
           this.handler = null;
           this.handlerName = null;
           this.userHandlers = null;
  +    }
  +
  +    /**
  +     * Set the <code>Configuration</code>.
  +     */
  +    public void setSitemapConfiguration(Configuration config)
  +    throws ConfigurationException {
  +        System.out.println("Got config: " + config);
       }
   
       /**
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     [EMAIL PROTECTED]
To unsubscribe, e-mail:          [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to