You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by mc...@apache.org on 2002/07/20 07:03:01 UTC

cvs commit: jakarta-avalon-excalibur/assembly/src/xdocs container.xml deployment.xml index.xml kernel.xml

mcconnell    2002/07/19 22:03:01

  Modified:    assembly build.xml
               assembly/src/etc activation-demo.xml kernel.xml
               assembly/src/java/org/apache/excalibur/merlin
                        DefaultController.java
               assembly/src/java/org/apache/excalibur/merlin/container
                        ProfileRegistry.java ProfileTable.java
               assembly/src/java/org/apache/excalibur/merlin/kernel
                        DefaultKernel.java DefaultLoggerManager.java
                        TypeRegistry.java
               assembly/src/java/org/apache/excalibur/merlin/model
                        LoggingDescriptor.java
               assembly/src/xdocs container.xml deployment.xml index.xml
                        kernel.xml
  Log:
  logging sub-system debugging
  
  Revision  Changes    Path
  1.29      +1 -1      jakarta-avalon-excalibur/assembly/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/assembly/build.xml,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -u -r1.28 -r1.29
  --- build.xml	20 Jul 2002 00:54:06 -0000	1.28
  +++ build.xml	20 Jul 2002 05:03:00 -0000	1.29
  @@ -72,7 +72,7 @@
     <target name="merlin" depends="merlin.javadoc"/>
     <target name="all" depends="clean,deploy,docs"/>
   
  -  <target name="docs" depends="meta,merlin">
  +  <target name="docs">
       <ant antfile="docs.xml"/>
     </target>
   
  
  
  
  1.4       +5 -5      jakarta-avalon-excalibur/assembly/src/etc/activation-demo.xml
  
  Index: activation-demo.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/assembly/src/etc/activation-demo.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- activation-demo.xml	20 Jul 2002 01:55:27 -0000	1.3
  +++ activation-demo.xml	20 Jul 2002 05:03:01 -0000	1.4
  @@ -1,13 +1,13 @@
   
   <kernel>
   
  - <logging>
  -   <loggers priority="WARN">
  -     <category name="lifecycle" priority="INFO"  />
  -   </loggers>
  - </logging>
  + <logging priority="WARN"/>
   
    <container name="root">
  +
  +   <loggers priority="INFO">
  +     <category priority="WARN"  name="loader" />
  +   </loggers>
   
      <classpath>
        <fileset dir="dist">
  
  
  
  1.15      +22 -19    jakarta-avalon-excalibur/assembly/src/etc/kernel.xml
  
  Index: kernel.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/assembly/src/etc/kernel.xml,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- kernel.xml	20 Jul 2002 00:54:06 -0000	1.14
  +++ kernel.xml	20 Jul 2002 05:03:01 -0000	1.15
  @@ -21,14 +21,17 @@
      the corresponds to the name of the logging file.
      -->
   
  -   <logging priority="INFO" target="kernel">
  +   <logging priority="WARN" target="default">
         <target name="kernel">
           <file location="kernel.log" />
         </target>
         <loggers priority="INFO">
  -        <category name="logging" priority="WARN" />
  -        <category name="loader" priority="WARN" />
  -        <category name="installer" priority="WARN"  />
  +        <category priority="WARN"  name="logging" />
  +        <category priority="WARN"  name="loader" />
  +        <category priority="WARN"  name="installer" />
  +        <category priority="WARN"  name="installer.types" />
  +        <category priority="WARN"  name="installer.types.builder" />
  +        <category priority="INFO"  name="export" />
         </loggers>
      </logging>
   
  @@ -50,18 +53,25 @@
   
        <!--
        A container has a number of internal logging catagories that you can modify to
  -     see what's going on.  The following declaration is equivalent to the default
  -     behviour is nothing is specified.
  +     see what's going on. In practice you will probably only declare categories under
  +     components, however - the container level logging categories are presented here 
  +     for completness. 
        -->
   
        <loggers priority="INFO">
  -       <category priority="DEBUG"  name="loader" />
  -       <category priority="DEBUG"  name="types" />
  -       <category priority="INFO"  name="assembly" />
  -       <category priority="INFO"  name="lifecycle" />
  -       <category priority="WARN"  name="verifier" />
  +       <category priority="WARN"  name="loader" />
  +       <category priority="WARN"  name="loader.types" />
  +       <category priority="WARN"  name="loader.types.builder" />
  +       <category priority="WARN"  name="assembly" />
  +       <category priority="WARN"  name="assembly.selector" />
  +       <category priority="WARN"  name="provider" />
  +       <category priority="WARN"  name="lifecycle" />
        </loggers>
   
  +     <!--
  +     Declaration of the classpath for this container.
  +     -->
  +
        <classpath>
          <fileset dir="dist">
            <include name="demo.jar"/>
  @@ -76,7 +86,7 @@
   
        <component name="complex" class="org.apache.excalibur.playground.ComplexComponent" activation="true">
   
  -        <loggers priority="DEBUG">
  +        <loggers priority="INFO">
             <category name="init" priority="DEBUG" />
           </loggers>
   
  @@ -119,13 +129,6 @@
        -->
   
        <container name="sub">
  -
  -       <loggers priority="INFO">
  -         <category priority="WARN"  name="loader" />
  -         <category priority="INFO"  name="assembly" />
  -         <category priority="WARN"  name="profiles" />
  -         <category priority="INFO"  name="lifecycle" />
  -       </loggers>
   
          <container name="demo">
   
  
  
  
  1.5       +1 -9      jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/DefaultController.java
  
  Index: DefaultController.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/DefaultController.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- DefaultController.java	18 Jul 2002 03:40:11 -0000	1.4
  +++ DefaultController.java	20 Jul 2002 05:03:01 -0000	1.5
  @@ -243,14 +243,6 @@
               throw new ControllerException( error, e );
           }
   
  -        ResourceDesignator[] resources = m_kernel.getResources();
  -        System.out.println("\nExportable service list:\n");
  -        for( int i=0; i<resources.length; i++ )
  -        {
  -            System.out.println("  " + resources[i].getPath() );
  -        }
  -        System.out.println("\n");
  -
           m_status = INITIALIZED;
       }
   
  
  
  
  1.11      +21 -39    jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/container/ProfileRegistry.java
  
  Index: ProfileRegistry.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/container/ProfileRegistry.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- ProfileRegistry.java	20 Jul 2002 00:54:07 -0000	1.10
  +++ ProfileRegistry.java	20 Jul 2002 05:03:01 -0000	1.11
  @@ -102,6 +102,11 @@
       */
       private Map m_mapping;
   
  +   /**
  +    * The default selector.
  +    */
  +    private DefaultSelector m_selector = new DefaultSelector();
  +
       //=======================================================================
       // constructor
       //=======================================================================
  @@ -128,6 +133,16 @@
       }
   
       //=======================================================================
  +    // LogEnabled
  +    //=======================================================================
  +
  +    public void enableLogging( Logger logger )
  +    {
  +        super.enableLogging( logger );
  +        m_selector.enableLogging( logger.getChildLogger("selector") );
  +    }
  +
  +    //=======================================================================
       // ProfileRegistry
       //=======================================================================
   
  @@ -218,7 +233,8 @@
               {
                   Profile[] candidates = assembleProfile( profile, dependency, visited, pad2 );
                   Profile[] facilities = getFacilities( dependency.getService() );
  -                Profile provider = selectProfile( dependency, facilities, candidates );
  +                Selector selector = getSelector( dependency );
  +                Profile provider = selector.select( facilities, candidates );
                   if( provider == null )
                   {
                       profile.setEnabled( false );
  @@ -313,7 +329,7 @@
           }
   
           // otherwise create a new table
  -        table = new ProfileTable( service, getLogger().getChildLogger("table")  );
  +        table = new ProfileTable( service );
           m_services.add( table );
           return table;
       }
  @@ -339,7 +355,7 @@
           }
           catch( Throwable e )
           {
  -            return null;
  +            return m_selector;
           }
       }
   
  @@ -358,42 +374,8 @@
       private Profile selectProfile( DependencyDescriptor dependency, Profile[] facilities, Profile[] profiles )
       {
           Selector selector = getSelector( dependency );
  -        if( selector != null )
  -        {
  -            return selector.select( facilities, profiles );
  -        }
  -        else
  -        {
  -            // apply default selection policy
  -            Profile profile = select( profiles, Profile.EXPLICIT );
  -            if( profile == null )
  -            {
  -                profile = select( facilities );
  -            }
  -            if( profile == null )
  -            {
  -                profile = select( profiles );
  -            }
  -            return profile;
  -        }
  +        return selector.select( facilities, profiles );
       }
   
  -    private Profile select( Profile[] profiles )
  -    {
  -        Profile profile = select( profiles, Profile.EXPLICIT );
  -        if( profile == null ) profile = select( profiles, Profile.PACKAGED );
  -        if( profile == null ) profile = select( profiles, Profile.IMPLICIT );
  -        return profile;
  -    }
  -
  -    private Profile select( Profile[] profiles, int mode )
  -    {
  -        for( int i=0; i<profiles.length; i++ )
  -        {
  -            if( profiles[i].getMode() == mode )
  -              return profiles[i];
  -        }
  -        return null;
  -    }
   }
   
  
  
  
  1.3       +3 -4      jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/container/ProfileTable.java
  
  Index: ProfileTable.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/container/ProfileTable.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ProfileTable.java	12 Jul 2002 12:04:54 -0000	1.2
  +++ ProfileTable.java	20 Jul 2002 05:03:01 -0000	1.3
  @@ -22,7 +22,7 @@
    * @author <a href="mailto:mcconnell@apache.org">Stephen McConnell</a>
    * @version $Revision$ $Date$
    */
  -final class ProfileTable extends AbstractLogEnabled
  +final class ProfileTable
   {
   
       //=======================================================================
  @@ -39,10 +39,9 @@
       */
       private ServiceDesignator m_designator;
   
  -    public ProfileTable( ServiceDesignator designator, Logger logger )
  +    public ProfileTable( ServiceDesignator designator )
       {
           m_designator = designator;
  -        super.enableLogging( logger );
       }
   
       //=======================================================================
  
  
  
  1.19      +12 -3     jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/kernel/DefaultKernel.java
  
  Index: DefaultKernel.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/kernel/DefaultKernel.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- DefaultKernel.java	19 Jul 2002 14:08:07 -0000	1.18
  +++ DefaultKernel.java	20 Jul 2002 05:03:01 -0000	1.19
  @@ -146,8 +146,10 @@
           // root container criteria
           //
   
  +
           CategoryDescriptor loggers = m_descriptor.getCategoryDescriptor();
           m_logging.addCategories( loggers );
  +        Logger containerLogger = m_logging.getLoggerForCategory( m_descriptor.getName() );
           
           //
           // classloader setup
  @@ -157,7 +159,7 @@
           final ContainerClassLoader loader = new ContainerClassLoader( m_classloader );
           try
           {
  -            loader.enableLogging( getLogger().getChildLogger( "loader" ) );
  +            loader.enableLogging( containerLogger.getChildLogger( "loader" ) );
               DefaultContext loaderContext = new DefaultContext();
               loaderContext.put( 
                 ContainerClassLoader.CLASSPATH_DESCRIPTOR_KEY, 
  @@ -202,7 +204,7 @@
           try
           {
               m_container = new DefaultContainer();
  -            m_container.enableLogging( m_logging.getLoggerForCategory( m_descriptor.getName() ) );
  +            m_container.enableLogging( containerLogger );
               m_container.contextualize( context );
               m_container.initialize( );
               m_container.verify();
  @@ -213,6 +215,13 @@
               if( getLogger() != null )
                 getLogger().error( error, e );
               throw new KernelException( error, e );
  +        }
  +
  +        ResourceDesignator[] resources = getResources();
  +        Logger export = getLogger().getChildLogger( "export" );
  +        for( int i=0; i<resources.length; i++ )
  +        {
  +            export.info( resources[i].getPath() );
           }
   
           m_initialized = true;
  
  
  
  1.4       +27 -0     jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/kernel/DefaultLoggerManager.java
  
  Index: DefaultLoggerManager.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/kernel/DefaultLoggerManager.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- DefaultLoggerManager.java	12 Jul 2002 19:09:27 -0000	1.3
  +++ DefaultLoggerManager.java	20 Jul 2002 05:03:01 -0000	1.4
  @@ -116,6 +116,33 @@
               addTarget( targets[i] );
           }
   
  +        String name = descriptor.getTarget();
  +        LogTarget target = (LogTarget) m_targets.get( name );
  +        if( target != null )
  +        {
  +            getHierarchy().setDefaultLogTarget( target );
  +        }
  +        else
  +        {
  +            throw new KernelException(
  +              "Supplied default logging target: '" + name + "' does not exist." );
  +        }
  +
  +        //
  +        // make sure the kernel.logging category is declared first
  +        //
  +
  +        CategoryDescriptor[] categories = descriptor.getCategories();
  +        for( int i=0; i<categories.length; i++ )
  +        {
  +            if( categories[i].getPath().equals("kernel.logging") );
  +            addSingleCategory( categories[i] );
  +        }
  +
  +        //
  +        // declare the kernel categories
  +        //
  +
           addCategories( descriptor.getCategoryDescriptor() );
       }
   
  
  
  
  1.3       +2 -1      jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/kernel/TypeRegistry.java
  
  Index: TypeRegistry.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/kernel/TypeRegistry.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- TypeRegistry.java	12 Jul 2002 12:04:54 -0000	1.2
  +++ TypeRegistry.java	20 Jul 2002 05:03:01 -0000	1.3
  @@ -107,6 +107,7 @@
       */
       public Type register( String classname ) throws Exception
       {
  +        getLogger().info("register: " + classname );
           Type type = getType( classname );
           if( type == null )
           {
  
  
  
  1.4       +33 -20    jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/model/LoggingDescriptor.java
  
  Index: LoggingDescriptor.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/merlin/model/LoggingDescriptor.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- LoggingDescriptor.java	14 Jul 2002 00:55:12 -0000	1.3
  +++ LoggingDescriptor.java	20 Jul 2002 05:03:01 -0000	1.4
  @@ -50,7 +50,7 @@
    * @author <a href="mailto:mcconnell@apache.org">Stephen McConnell</a>
    * @version $Revision$ $Date$
    */
  -public final class LoggingDescriptor implements Serializable
  +public final class LoggingDescriptor extends CategoryDescriptor implements Serializable
   {
       /**
        * The root category hierachy.
  @@ -85,50 +85,63 @@
                              final TargetDescriptor[] targets,
                              final CategoryDescriptor category )
       {
  +        super( "", priority, target );
           m_targets = targets;
  -        m_priority = priority;
  -        m_target = target;
           m_category = category;
  +        m_category.setParent( this );
       }
   
       /**
  -     * Return the default logging priority for the group of categories.
  +     * Return the set of logging target descriptors.
        *
  -     * @return the default logging priority
  +     * @return the target descriptors
        */
  -    public String getPriority( )
  +    public TargetDescriptor[] getTargetDescriptors()
       {
  -        return m_priority;
  +        return m_targets;
       }
   
       /**
  -     * Return the default log target for the group of categories.
  +     * Return the root catagory descriptor.
        *
  -     * @return the default target name
  +     * @return the target descriptors
        */
  -    public String getTarget( )
  +    public CategoryDescriptor getCategoryDescriptor()
  +    {
  +        return m_category;
  +    }
  +
  +   /**
  +    * Sets the parent category. Empty implementation.
  +    * @param parent the parent category from which the category name is relative
  +    *   and from which default priority and target information is derived
  +    */
  +    public void setParent( CategoryDescriptor parent )
       {
  -       return m_target;
  +        // null operation
       }
   
       /**
  -     * Return the set of logging target descriptors.
  +     * Return the category path.  A category path is a result of the concatination of 
  +     * the names of the parent category names with this category name.  Names are seperated
  +     * by the period character.
        *
  -     * @return the target descriptors
  +     * @return the category path
        */
  -    public TargetDescriptor[] getTargetDescriptors()
  +    public String getPath()
       {
  -        return m_targets;
  +        return "";
       }
   
       /**
  -     * Return the root catagory descriptor.
  +     * Return the set of logging categories locally container in the category descriptor.
        *
  -     * @return the target descriptors
  +     * @return the set of service provider assignments.
        */
  -    public CategoryDescriptor getCategoryDescriptor()
  +    public CategoryDescriptor[] getCategories()
       {
  -        return m_category;
  +        return m_category.getCategories();
       }
  +
   
   }
  
  
  
  1.2       +6 -4      jakarta-avalon-excalibur/assembly/src/xdocs/container.xml
  
  Index: container.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/assembly/src/xdocs/container.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- container.xml	17 Jul 2002 13:48:37 -0000	1.1
  +++ container.xml	20 Jul 2002 05:03:01 -0000	1.2
  @@ -10,15 +10,15 @@
       <section name="Container">
   
         <p>The Merlin system provides support for a cascading containers. This model enables component assemblers to associate jar files under a protected container scope where each container is associated with its own classloader.</p>
  -      <p>Merlin will handle resolution of service dependencies for components contained in containers by looking for explicitly declared components commencing within the local container, and working progressively up the container hierachy.  If no explict solutions are resolved, Merlin will attempt to build an implicit solution based on components declared in the respective container classpath declarations.</p>
  +      <p>Merlin will handle resolution of service dependencies for components contained in containers by looking for explicitly declared components commencing within the local container, and working progressively up the container hierarchy.  If no explicit solutions are resolved, Merlin will attempt to build an implicit solution based on components declared in the respective container classpath declarations.</p>
   
       </section>
   
       <section name="Container Model">
   
  -      <p>A new container is created using a container model.  The model is the defintion of the container, its classpath, and the profiles of the components it is resposible for managing.  Container models are declared programatically or via an XML description.</p>
  +      <p>A new container is created using a container model.  The model is the definition of the container, its classpath, and the profiles of the components it is responsible for managing.  Container models are declared programmatically or via an XML description.</p>
   
  -      <p><i>Minimilist container defintion.</i></p>
  +      <p><i>Minimilist container definition.</i></p>
   <pre>
       &lt;container name="<font color="darkred">root</font>"&gt;
         &lt;classpath&gt;
  @@ -42,3 +42,5 @@
     </footer>
   
   </document>
  +
  +
  
  
  
  1.2       +7 -5      jakarta-avalon-excalibur/assembly/src/xdocs/deployment.xml
  
  Index: deployment.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/assembly/src/xdocs/deployment.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- deployment.xml	17 Jul 2002 13:48:37 -0000	1.1
  +++ deployment.xml	20 Jul 2002 05:03:01 -0000	1.2
  @@ -15,8 +15,9 @@
       <ul>
         <li>General component type information.</li>
         <li>Context constraints.</li>
  -      <li>Dependecies.</li>
  +      <li>Service dependencies.</li>
         <li>Service declarations.</li>
  +      <li>Logging constraints.</li>
       </ul>
     </li>
     <li>&lt;classname&gt;.xprofile
  @@ -26,13 +27,12 @@
     </li>
     <li>&lt;classname&gt;.xconfig
       <ul>
  -      <li>Default configuration/parameter.</li>
  -      <li>Default context directives.</li>
  +      <li>Default configuration.</li>
       </ul>
     </li>
   </ul>
   
  -      <p>Components assembly rerquires the declaration of at least one component with the kernal configuration profile. The profile enables the declaration of a hierachy of containers and component profiles within containers.  The containers within a hierachy collaborate to resolve service dependecies for the components they respectively manage.</p>
  +      <p>Components assembly requires the declaration of at least one component with the kernel configuration profile. The profile enables the declaration of a hierarchy of containers and component profiles within containers.  The containers within a hierarchy collaborate to resolve service dependencies for the components they respectively manage.</p>
   
         <p>Example components and a kernel.xml profile are included in the distribution.</p>
   
  @@ -48,3 +48,5 @@
     </footer>
   
   </document>
  +
  +
  
  
  
  1.2       +6 -4      jakarta-avalon-excalibur/assembly/src/xdocs/index.xml
  
  Index: index.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/assembly/src/xdocs/index.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- index.xml	17 Jul 2002 13:48:37 -0000	1.1
  +++ index.xml	20 Jul 2002 05:03:01 -0000	1.2
  @@ -23,7 +23,7 @@
         </ul>
         </p>
   
  -      <p>The function of the kernel is to provide a set of bootstap services and context 
  +      <p>The function of the kernel is to provide a set of bootstrap services and context 
         entries to the container it is managing, and subsequently publish establish entries 
         and services (derived from container deployment) towards kernel clients.</p>
   
  @@ -34,7 +34,7 @@
         <p>The Merlin project includes a number of demonstration components.  One of these
         components declares several dependencies, which in turn refer to other components
         with dependencies.  A sample kernel.xml file included in this distribution references
  -      this component as a target.  Merlin handles the resolution of all dependecies, activation
  +      this component as a target.  Merlin handles the resolution of all dependencies, activation
         ordering, and the lifecycle processing automatically.</p>
   
         <p>To build and execute the demo, invoke the following commands:</p>
  @@ -42,7 +42,7 @@
         $ ant
         $ kernel 
         </pre>
  -      <p>For a description of the demo see the javadoc document for the <a href="api/assembly/org/apache/excalibur/merlin/Main.html">Main</a> class.</p>
  +      <p>For a description of the demo see the Javadoc document for the <a href="api/assembly/org/apache/excalibur/merlin/Main.html">Main</a> class.</p>
   
   
       </section>
  @@ -65,3 +65,5 @@
     </footer>
   
   </document>
  +
  +
  
  
  
  1.2       +13 -7     jakarta-avalon-excalibur/assembly/src/xdocs/kernel.xml
  
  Index: kernel.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/assembly/src/xdocs/kernel.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- kernel.xml	17 Jul 2002 13:48:37 -0000	1.1
  +++ kernel.xml	20 Jul 2002 05:03:01 -0000	1.2
  @@ -11,9 +11,9 @@
   
       <section name="Kernel">
   
  -    <p>Merlin seperates the notion of a kernel from a container.  A kernel manages resources (Objects) whereas a container manages services.  The Merlin implementation provides a default kernel that manages a container hierachy.  The <a href="api/assembly/org/apache/excalibur/merlin/kernel/DefaultKernel.html">DefaultKernel</a> implementation provides the framework for overall management including startup, shutting down, extensions management, and other system wide facilities.  The Melin implementation provides a utility class (<a href="api/assembly/org/apache/excalibur/merlin/Main.html">Main</a>) that handles establish of a kernel based on a single command line argument.</p>
  +    <p>Merlin separates the notion of a kernel from a container.  A kernel manages resources (Objects) whereas a container manages services.  The Merlin implementation provides a default kernel that manages a container hierarchy.  The <a href="api/assembly/org/apache/excalibur/merlin/kernel/DefaultKernel.html">DefaultKernel</a> implementation provides the framework for overall management including startup, shutting down, extensions management, and other system wide facilities.  The Merlin implementation provides a utility class (<a href="api/assembly/org/apache/excalibur/merlin/Main.html">Main</a>) that handles establish of a kernel based on a single command line argument.</p>
   
  -    <p>The function of the kernel is to provide a set of bootstap services and context entries to the container it is managing, and subsequently publish establish entries and services (derived from container deployment) towards kernel clients.</p>
  +    <p>The function of the kernel is to provide a set of bootstrap services and context entries to the container it is managing, and subsequently publish establish entries and services (derived from container deployment) towards kernel clients.</p>
   
       <p><i>Kernel to Container conceptual relationship.</i></p>
   
  @@ -23,18 +23,22 @@
   
     <section name="Kernel Model">
   
  -    <p>A merlin kernel is created using a kernel model (<a href="api/assembly/org/apache/excalibur/merlin/model/KernelDescriptor.html">KernelDescriptor</a>).  The model may be defined programatically or through an XML file.  A kernel XML file contains the defintion of kernel execution parameters and a root container.</p>
  +    <p>A Merlin kernel is created using a kernel model (<a href="api/assembly/org/apache/excalibur/merlin/model/KernelDescriptor.html">KernelDescriptor</a>).  The model may be defined programmatically or through an XML file.  A kernel XML file contains the definition of kernel execution parameters and a root container.</p>
   
  -    <p><i>Minimilist kernel defintion.</i></p>
  +    <p><i>Minimilist kernel definition.</i></p>
   <pre>
     &lt;kernel&gt;
       &lt;classpath&gt;
  -      &lt;fileset dir=<font color="darkred">"dist"</font>&gt;
  +      &lt;fileset dir="<font color="darkred">dist</font>"&gt;
           &lt;include name="<font color="darkred">demo.jar</font>"/&gt;
         &lt;/fileset&gt;
  +      &lt;fileset dir="<font color="darkred">lib</font>"&gt;
  +        &lt;include name="<font color="darkred">avalon-framework.jar</font>"/&gt;
  +        &lt;include name="<font color="darkred">logkit.jar</font>"/&gt;
  +      &lt;/fileset&gt;
       &lt;/classpath&gt;
       &lt;container name="<font color="darkred">root</font>"&gt;
  -      &lt;component name="<font color="darkred">test</font>" class="<font color="darkred">org.apache.excalibur.playground.BasicComponent</font>"/&gt;
  +      &lt;component name="<font color="darkred">test</font>" class="<font color="darkred">org.apache.excalibur.playground.BasicComponent</font>"  activation="<font color="darkred">true</font>"/&gt;
       &lt;/container&gt;
     &lt;/kernel&gt;
   </pre>
  @@ -51,3 +55,5 @@
     </footer>
   
   </document>
  +
  +
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>