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 2003/06/22 15:57:59 UTC

cvs commit: avalon-sandbox/merlin/merlin-platform/xdocs/starting/examples/james block.xml

mcconnell    2003/06/22 06:57:59

  Modified:    merlin/merlin-core/src/java/org/apache/avalon/merlin/block/impl
                        StandardBlockLoader.java XMLContainerCreator.java
               merlin/merlin-platform/src/config kernel-service.xml
                        kernel.xml
               merlin/merlin-platform/tutorials/composition/src/config
                        block.xml block2.xml
               merlin/merlin-platform/tutorials/composition/src/config/application
                        block.xml
               merlin/merlin-platform/tutorials/includes/src/config
                        block.xml include.xml
               merlin/merlin-platform/xdocs/meta/model/block index.xml
               merlin/merlin-platform/xdocs/meta/model/block/container
                        includes.xml index.xml navigation.xml
               merlin/merlin-platform/xdocs/meta/model/block/container/components
                        navigation.xml
               merlin/merlin-platform/xdocs/meta/model/block/container/components/categories
                        navigation.xml
               merlin/merlin-platform/xdocs/meta/model/block/container/components/context
                        navigation.xml
               merlin/merlin-platform/xdocs/meta/model/block/container/components/context/entry
                        navigation.xml
               merlin/merlin-platform/xdocs/meta/model/block/container/components/parameters
                        navigation.xml
               merlin/merlin-platform/xdocs/meta/model/block/container/engine
                        extensions.xml index.xml navigation.xml
               merlin/merlin-platform/xdocs/meta/model/block/container/engine/classpath
                        navigation.xml
               merlin/merlin-platform/xdocs/meta/model/block/container/engine/classpath/repository
                        navigation.xml
               merlin/merlin-platform/xdocs/meta/model/block/container/include
                        index.xml navigation.xml source.xml
               merlin/merlin-platform/xdocs/meta/model/block/container/include/targets
                        navigation.xml
               merlin/merlin-platform/xdocs/starting/advanced composite.xml
                        includes.xml
               merlin/merlin-platform/xdocs/starting/examples/james
                        block.xml
  Log:
  Migrate from <engine> to <classloader> (this commit is dedicated to Leo).
  
  Revision  Changes    Path
  1.16      +8 -2      avalon-sandbox/merlin/merlin-core/src/java/org/apache/avalon/merlin/block/impl/StandardBlockLoader.java
  
  Index: StandardBlockLoader.java
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/merlin-core/src/java/org/apache/avalon/merlin/block/impl/StandardBlockLoader.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- StandardBlockLoader.java	21 Jun 2003 17:10:02 -0000	1.15
  +++ StandardBlockLoader.java	22 Jun 2003 13:57:56 -0000	1.16
  @@ -320,8 +320,14 @@
           // the block in a seperate thread?)
           //
   
  +        Configuration classLoaderConfig = implementation.getChild( "classloader", false );
  +        if( classLoaderConfig == null )
  +        {
  +            classLoaderConfig = implementation.getChild( "engine" );
  +        }
  +
           EngineClassLoader engine = 
  -          createEngine( implementation.getChild( "engine" ), path );
  +          createEngine( classLoaderConfig, path );
           Thread.currentThread().setContextClassLoader( engine );
   
           //
  
  
  
  1.6       +55 -3     avalon-sandbox/merlin/merlin-core/src/java/org/apache/avalon/merlin/block/impl/XMLContainerCreator.java
  
  Index: XMLContainerCreator.java
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/merlin-core/src/java/org/apache/avalon/merlin/block/impl/XMLContainerCreator.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- XMLContainerCreator.java	18 Jun 2003 11:28:12 -0000	1.5
  +++ XMLContainerCreator.java	22 Jun 2003 13:57:56 -0000	1.6
  @@ -215,7 +215,7 @@
       * or &lt;container&gt; directive.
       *
       * @param base the base url
  -    * @param parent the classloader
  +    * @param engine the parent classloader
       * @param config the implementation or container directive
       * @param targets a set of relative supplimentary configuration targets
       * @return the component profile set
  @@ -555,6 +555,7 @@
   
           DependencyDescriptor[] dependencies = 
             getBlockLogicalDependencies( config.getChild( "dependencies" ) );
  +        verifyDependencyImport( parent, dependencies );
   
           //
           // create the logical services
  @@ -562,6 +563,7 @@
   
           VirtualService[] services = 
             getVirtualServices( config.getChild( "services" ) );
  +        verifyServiceExport( parent, services );
   
           //
           // create the container descriptor
  @@ -582,6 +584,47 @@
           }
       }
   
  +    private void verifyDependencyImport( EngineClassLoader parent, DependencyDescriptor[] dependencies )
  +      throws ContainerException
  +    {
  +        for( int i=0; i<dependencies.length; i++ )
  +        {
  +            DependencyDescriptor dependency = dependencies[i];
  +            String classname = dependency.getReference().getClassname();
  +            try
  +            {
  +                parent.loadClass( classname );
  +            }
  +            catch( Throwable e )
  +            {
  +                final String error =
  +                  "Illegal attempt to import a block that imports a service that is unknown with the scope of the containing block classloader.  The depedent service: " + classname + " must be declared within the scope of the classloader of the enclosing block.";
  +                throw new ContainerException( error, e );
  +            }
  +        }
  +    }
  +
  +    private void verifyServiceExport( EngineClassLoader parent, VirtualService[] services )
  +      throws ContainerException
  +    {
  +        for( int i=0; i<services.length; i++ )
  +        {
  +            ServiceDescriptor service = services[i].getService();
  +            String classname = service.getReference().getClassname();
  +            try
  +            {
  +                parent.loadClass( classname );
  +            }
  +            catch( Throwable e )
  +            {
  +                final String error =
  +                  "Illegal attempt to import a block that exports a service that is unknown with the scope of the containing block.  The exported service: " + classname + " must be declared within the scope of the classloader of the enclosing block.";
  +                throw new ContainerException( error, e );
  +            }
  +        }
  +    }
  +
  +
      /**
       * Creation of a containment profile based on a supplied &lt;container%gt; directive.
       * 
  @@ -622,7 +665,16 @@
         String name, VirtualService[] services, DependencyDescriptor[] dependencies ) 
         throws Exception 
       {
  -        Configuration conf = config.getChild( "engine" );
  +        //
  +        // get the classloader directive (check for the old style
  +        // "engine" for compatibility)
  +        //
  +
  +        Configuration conf = config.getChild( "classloader", false );
  +        if( conf == null )
  +        {
  +            conf = config.getChild( "engine" );
  +        }
   
           try
           {
  
  
  
  1.2       +7 -19     avalon-sandbox/merlin/merlin-platform/src/config/kernel-service.xml
  
  Index: kernel-service.xml
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/src/config/kernel-service.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- kernel-service.xml	10 Jun 2003 02:47:15 -0000	1.1
  +++ kernel-service.xml	22 Jun 2003 13:57:56 -0000	1.2
  @@ -30,27 +30,15 @@
      <!-- logging categories for the kernel -->
   
      <categories>
  -      <category name="/sys" priority="INFO"/>
  +      <category name="/sys" priority="WARN"/>
      </categories>
   
  -   <!-- root engine -->
  +   <!-- pool configuration -->
   
  -   <engine>
  -
  -     <!-- The shared extension directory. -->
  -
  -     <library scope="system" dir="." >
  -       <include name="ext"/>
  -     </library>
  -  
  -     <!-- Setup the thread, command and pool manager parameters. -->
  -
  -     <pool>
  -       <threads-per-processor>2</threads-per-processor>
  -       <sleep>1000</sleep>
  -       <timeout>250</timeout>
  -     </pool>
  -
  -   </engine>
  +   <pool>
  +     <threads-per-processor>2</threads-per-processor>
  +     <sleep>1000</sleep>
  +     <timeout>250</timeout>
  +   </pool>
   
   </kernel>
  
  
  
  1.3       +12 -23    avalon-sandbox/merlin/merlin-platform/src/config/kernel.xml
  
  Index: kernel.xml
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/src/config/kernel.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- kernel.xml	15 Jun 2003 18:16:01 -0000	1.2
  +++ kernel.xml	22 Jun 2003 13:57:56 -0000	1.3
  @@ -6,12 +6,12 @@
   
      1. a system descriptor that declares the hostname of this machine
      2. a logging descriptor for establishment of the logging subsystem
  -   3. a logging catagories descriptor that establishes logging priority
  +   3. a catagories descriptor that establishes logging priority
         for the kernel
  -   4. an engine descriptor used to configure the pool
  +   4. the pool configuration
   
  -Once a kernel is established the controlling application supplies one or block
  -configurations to the kernel for deployment.
  +Once a kernel is established the controlling application supplies a root
  +block configurations to the kernel for deployment.
   -->
   
   <kernel>
  @@ -21,6 +21,7 @@
      <!-- logging system parameters -->
   
      <logging target="default" priority="INFO">
  +
         <category name="/sys/logger" priority="WARN"/>
   
         <!-- file target example -->
  @@ -35,27 +36,15 @@
      <!-- logging categories for the kernel -->
   
      <categories>
  -      <category name="/sys" priority="INFO"/>
  +      <category name="/sys" priority="WARN"/>
      </categories>
   
  -   <!-- root engine -->
  -
  -   <engine>
  -
  -     <!-- The shared extension directory. -->
  -
  -     <library scope="system" dir="." >
  -       <include name="ext"/>
  -     </library>
  -  
  -     <!-- Setup the thread, command and pool manager parameters. -->
  -
  -     <pool>
  -       <threads-per-processor>2</threads-per-processor>
  -       <sleep>1000</sleep>
  -       <timeout>250</timeout>
  -     </pool>
  +   <!-- pool configuration -->
   
  -   </engine>
  +   <pool>
  +     <threads-per-processor>2</threads-per-processor>
  +     <sleep>1000</sleep>
  +     <timeout>250</timeout>
  +   </pool>
   
   </kernel>
  
  
  
  1.2       +2 -2      avalon-sandbox/merlin/merlin-platform/tutorials/composition/src/config/block.xml
  
  Index: block.xml
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/tutorials/composition/src/config/block.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- block.xml	10 Jun 2003 02:12:19 -0000	1.1
  +++ block.xml	22 Jun 2003 13:57:57 -0000	1.2
  @@ -7,13 +7,13 @@
   
      <implementation>
   
  -     <engine>
  +     <classloader>
          <classpath>
            <repository>
              <resource id="tutorial:composition-api" version="1.0"/>
            </repository>
          </classpath>
  -     </engine>
  +     </classloader>
   
        <include id="tutorial:composition-publisher" version="1.0"/>
        <include id="tutorial:composition-application" version="1.0"/>
  
  
  
  1.2       +2 -2      avalon-sandbox/merlin/merlin-platform/tutorials/composition/src/config/block2.xml
  
  Index: block2.xml
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/tutorials/composition/src/config/block2.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- block2.xml	10 Jun 2003 02:12:19 -0000	1.1
  +++ block2.xml	22 Jun 2003 13:57:57 -0000	1.2
  @@ -7,7 +7,7 @@
   
      <implementation>
   
  -     <engine>
  +     <classloader>
          <classpath>
            <repository>
              <resource id="tutorial:composition-api" version="1.0"/>
  @@ -16,7 +16,7 @@
              <resource id="tutorial:composition-application" version="1.0"/>
            </repository>
          </classpath>
  -     </engine>
  +     </classloader>
   
        <component name="application" class="tutorial.application.Application" activation="startup"/>
   
  
  
  
  1.2       +2 -2      avalon-sandbox/merlin/merlin-platform/tutorials/composition/src/config/application/block.xml
  
  Index: block.xml
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/tutorials/composition/src/config/application/block.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- block.xml	10 Jun 2003 02:12:19 -0000	1.1
  +++ block.xml	22 Jun 2003 13:57:57 -0000	1.2
  @@ -12,13 +12,13 @@
   
      <implementation>
   
  -     <engine>
  +     <classloader>
          <classpath>
            <repository>
              <resource id="tutorial:composition-api" version="1.0"/>
            </repository>
          </classpath>
  -     </engine>
  +     </classloader>
   
        <component name="application" 
           class="tutorial.application.Application" activation="startup">
  
  
  
  1.3       +2 -2      avalon-sandbox/merlin/merlin-platform/tutorials/includes/src/config/block.xml
  
  Index: block.xml
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/tutorials/includes/src/config/block.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- block.xml	15 Jun 2003 17:45:32 -0000	1.2
  +++ block.xml	22 Jun 2003 13:57:57 -0000	1.3
  @@ -7,13 +7,13 @@
   
      <implementation>
   
  -     <engine>
  +     <classloader>
          <classpath>
            <repository>
              <resource id="tutorial:tutorial" version="1.0"/>
            </repository>
          </classpath>
  -     </engine>
  +     </classloader>
   
        <component name="test1" class="tutorial.TestComponent" activation="startup"/>
   
  
  
  
  1.2       +2 -2      avalon-sandbox/merlin/merlin-platform/tutorials/includes/src/config/include.xml
  
  Index: include.xml
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/tutorials/includes/src/config/include.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- include.xml	10 Jun 2003 02:12:24 -0000	1.1
  +++ include.xml	22 Jun 2003 13:57:57 -0000	1.2
  @@ -7,13 +7,13 @@
   
      <implementation>
   
  -     <engine>
  +     <classloader>
          <classpath>
            <repository>
              <resource id="tutorial:tutorial" version="1.0"/>
            </repository>
          </classpath>
  -     </engine>
  +     </classloader>
   
        <component name="test3" class="tutorial.TestComponent" 
          activation="startup"/>
  
  
  
  1.2       +2 -2      avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/index.xml
  
  Index: index.xml
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/index.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- index.xml	10 Jun 2003 02:14:18 -0000	1.1
  +++ index.xml	22 Jun 2003 13:57:57 -0000	1.2
  @@ -53,13 +53,13 @@
   
      <implementation>
   
  -     <engine>
  +     <classloader>
          <classpath>
            <repository>
              <resource id="demo:merlin-demo" version="1.0"/>
            </repository>
          </classpath>
  -     </engine>
  +     </classloader>
   
        <component name="standard" 
          class="org.apache.avalon.playground.StandardComponent" activation="startup">
  
  
  
  1.2       +2 -2      avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/includes.xml
  
  Index: includes.xml
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/includes.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- includes.xml	10 Jun 2003 02:14:19 -0000	1.1
  +++ includes.xml	22 Jun 2003 13:57:57 -0000	1.2
  @@ -71,13 +71,13 @@
   
      <implementation>
   
  -     <engine>
  +     <classloader>
          <classpath>
            <repository>
              <resource id="tutorial:composition-api" version="1.0"/>
            </repository>
          </classpath>
  -     </engine>
  +     </classloader>
   
        <include id="tutorial:composition-publisher" version="1.0"/>
        <include id="tutorial:composition-application" version="1.0"/>
  
  
  
  1.3       +4 -6      avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/index.xml
  
  Index: index.xml
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/index.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- index.xml	15 Jun 2003 17:43:23 -0000	1.2
  +++ index.xml	22 Jun 2003 13:57:57 -0000	1.3
  @@ -31,11 +31,9 @@
           <table>
             <tr><th>Element</th><th>Occurance</th><th>Description</th></tr>
             <tr>
  -            <td><a href="engine/index.html">engine</a></td><td>0..1</td>
  +            <td><a href="engine/index.html">classloader</a></td><td>0..1</td>
               <td>
  -             An engine is an extended classloader.  A block implementation
  -             may have at most one engine within which additional resources
  -             (jar files, etc.) may be declared.
  +             A block implementation may have at most one classloader.
               </td>
             </tr>
             <tr>
  @@ -122,13 +120,13 @@
        will execute within 
        -->
   
  -     <engine>
  +     <classloader>
          <classpath>
            <repository>
              <resource id="tutorial:composition-api" version="1.0"/>
            </repository>
          </classpath>
  -     </engine>
  +     </classloader>
   
        <!-- 
        declaration of a root component (services provided by this component
  
  
  
  1.3       +1 -1      avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/navigation.xml
  
  Index: navigation.xml
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/navigation.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- navigation.xml	15 Jun 2003 17:43:23 -0000	1.2
  +++ navigation.xml	22 Jun 2003 13:57:57 -0000	1.3
  @@ -25,7 +25,7 @@
               <item name="Services" href="/meta/model/block/export/index.html"/>
               <item name="Dependencies" href="/meta/model/block/import/index.html"/>
               <item name="Implementation" href="/meta/model/block/container/index.html">
  -              <item name="Engine" href="/meta/model/block/container/engine/index.html"/>
  +              <item name="Classloader" href="/meta/model/block/container/engine/index.html"/>
                 <item name="Component" href="/meta/model/block/container/components/index.html"/>
                 <item name="Container" href="/meta/model/block/container/containers.html"/>
                 <item name="Include" href="/meta/model/block/container/include/index.html"/>
  
  
  
  1.3       +1 -1      avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/components/navigation.xml
  
  Index: navigation.xml
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/components/navigation.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- navigation.xml	15 Jun 2003 17:43:23 -0000	1.2
  +++ navigation.xml	22 Jun 2003 13:57:57 -0000	1.3
  @@ -25,7 +25,7 @@
               <item name="Services" href="/meta/model/block/export/index.html"/>
               <item name="Dependencies" href="/meta/model/block/import/index.html"/>
               <item name="Implementation" href="/meta/model/block/container/index.html">
  -              <item name="Engine" href="/meta/model/block/container/engine/index.html"/>
  +              <item name="Classloader" href="/meta/model/block/container/engine/index.html"/>
                 <item name="Component"
                   href="/meta/model/block/container/components/index.html">
                   <item name="Categories" 
  
  
  
  1.3       +1 -1      avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/components/categories/navigation.xml
  
  Index: navigation.xml
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/components/categories/navigation.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- navigation.xml	15 Jun 2003 17:43:23 -0000	1.2
  +++ navigation.xml	22 Jun 2003 13:57:57 -0000	1.3
  @@ -25,7 +25,7 @@
               <item name="Services" href="/meta/model/block/export/index.html"/>
               <item name="Dependencies" href="/meta/model/block/import/index.html"/>
               <item name="Implementation" href="/meta/model/block/container/index.html">
  -              <item name="Engine" href="/meta/model/block/container/engine/index.html"/>
  +              <item name="Classloader" href="/meta/model/block/container/engine/index.html"/>
                 <item name="Component" 
                   href="/meta/model/block/container/components/index.html">
                   <item name="Categories" href="/meta/model/block/container/components/categories/index.html">
  
  
  
  1.3       +1 -1      avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/components/context/navigation.xml
  
  Index: navigation.xml
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/components/context/navigation.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- navigation.xml	15 Jun 2003 17:43:24 -0000	1.2
  +++ navigation.xml	22 Jun 2003 13:57:57 -0000	1.3
  @@ -25,7 +25,7 @@
               <item name="Services" href="/meta/model/block/export/index.html"/>
               <item name="Dependencies" href="/meta/model/block/import/index.html"/>
               <item name="Implementation" href="/meta/model/block/container/index.html">
  -              <item name="Engine" href="/meta/model/block/container/engine/index.html"/>
  +              <item name="Classloader" href="/meta/model/block/container/engine/index.html"/>
                 <item name="Component" 
                   href="/meta/model/block/container/components/index.html">
                   <item name="Categories" href="/meta/model/block/container/components/categories/index.html"/>
  
  
  
  1.3       +1 -1      avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/components/context/entry/navigation.xml
  
  Index: navigation.xml
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/components/context/entry/navigation.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- navigation.xml	15 Jun 2003 17:43:24 -0000	1.2
  +++ navigation.xml	22 Jun 2003 13:57:57 -0000	1.3
  @@ -25,7 +25,7 @@
               <item name="Services" href="/meta/model/block/export/index.html"/>
               <item name="Dependencies" href="/meta/model/block/import/index.html"/>
               <item name="Implementation" href="/meta/model/block/container/index.html">
  -              <item name="Engine" href="/meta/model/block/container/engine/index.html"/>
  +              <item name="Classloader" href="/meta/model/block/container/engine/index.html"/>
                 <item name="Component" 
                   href="/meta/model/block/container/components/index.html">
                   <item name="Categories" href="/meta/model/block/container/components/categories/index.html"/>
  
  
  
  1.3       +1 -1      avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/components/parameters/navigation.xml
  
  Index: navigation.xml
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/components/parameters/navigation.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- navigation.xml	15 Jun 2003 17:43:24 -0000	1.2
  +++ navigation.xml	22 Jun 2003 13:57:58 -0000	1.3
  @@ -25,7 +25,7 @@
               <item name="Services" href="/meta/model/block/export/index.html"/>
               <item name="Dependencies" href="/meta/model/block/import/index.html"/>
               <item name="Implementation" href="/meta/model/block/container/index.html">
  -              <item name="Engine" href="/meta/model/block/container/engine/index.html"/>
  +              <item name="Classloader" href="/meta/model/block/container/engine/index.html"/>
                 <item name="Component"
                   href="/meta/model/block/container/components/index.html">
                   <item name="Categories" 
  
  
  
  1.3       +3 -3      avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/engine/extensions.xml
  
  Index: extensions.xml
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/engine/extensions.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- extensions.xml	17 Jun 2003 20:17:55 -0000	1.2
  +++ extensions.xml	22 Jun 2003 13:57:58 -0000	1.3
  @@ -20,7 +20,7 @@
               <td>include</td><td>0..n</td>
               <td>
                Declaration of a directory within which the container may
  -             use to resolve opinional jar file dependencies.
  +             use to resolve optional jar file dependencies.
               </td>
             </tr>
           </table>
  @@ -37,12 +37,12 @@
   <p>An example of an extensions dir declaration is included below.</p>
   
   <source><![CDATA[
  -  <engine>
  +  <classloader>
       <library dir=".">
         <include name="dist"/>
         <include name="lib"/>
       </library>
  -  </engine>
  +  </classloader>
   ]]></source>
   
         </subsection>
  
  
  
  1.2       +4 -4      avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/engine/index.xml
  
  Index: index.xml
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/engine/index.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- index.xml	10 Jun 2003 02:14:22 -0000	1.1
  +++ index.xml	22 Jun 2003 13:57:58 -0000	1.2
  @@ -3,7 +3,7 @@
   <document>
   
     <header>
  -    <title>Engine</title>
  +    <title>Classloader</title>
       <authors>
         <person name="Stephen McConnell" email="mcconnell@apache.org"/>
       </authors>
  @@ -11,7 +11,7 @@
   
     <body>
   
  -    <section name="Engine Directive">
  +    <section name="Classloader Directive">
   
         <subsection name="Nested Elements">
           <table>
  @@ -41,13 +41,13 @@
   
         <subsection name="Example XML">
   <source><![CDATA[
  -<engine>
  +<classloader>
     <classpath>
       <repository>
         <resource id="tutorial:composition-api" version="1.0"/>
       </repository>
     </classpath>
  -</engine>
  +</classloader>
   ]]></source>
         </subsection>
   
  
  
  
  1.3       +1 -1      avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/engine/navigation.xml
  
  Index: navigation.xml
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/engine/navigation.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- navigation.xml	15 Jun 2003 17:43:24 -0000	1.2
  +++ navigation.xml	22 Jun 2003 13:57:58 -0000	1.3
  @@ -25,7 +25,7 @@
               <item name="Services" href="/meta/model/block/export/index.html"/>
               <item name="Dependencies" href="/meta/model/block/import/index.html"/>
               <item name="Implementation" href="/meta/model/block/container/index.html">
  -              <item name="Engine" href="/meta/model/block/container/engine/index.html">
  +              <item name="Classloader" href="/meta/model/block/container/engine/index.html">
                   <item name="Classpath" href="/meta/model/block/container/engine/classpath/index.html"/>
                   <item name="Library" href="/meta/model/block/container/engine/extensions.html"/>
                 </item>
  
  
  
  1.4       +1 -1      avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/engine/classpath/navigation.xml
  
  Index: navigation.xml
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/engine/classpath/navigation.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- navigation.xml	20 Jun 2003 19:01:39 -0000	1.3
  +++ navigation.xml	22 Jun 2003 13:57:58 -0000	1.4
  @@ -25,7 +25,7 @@
               <item name="Services" href="/meta/model/block/export/index.html"/>
               <item name="Dependencies" href="/meta/model/block/import/index.html"/>
               <item name="Implementation" href="/meta/model/block/container/index.html">
  -              <item name="Engine" href="/meta/model/block/container/engine/index.html">
  +              <item name="Classloader" href="/meta/model/block/container/engine/index.html">
                   <item name="Classpath" href="/meta/model/block/container/engine/classpath/index.html">
                     <item name="Repository" href="/meta/model/block/container/engine/classpath/repository/index.html"/>
                     <item name="Fileset" href="/meta/model/block/container/engine/classpath/fileset.html"/>
  
  
  
  1.2       +1 -1      avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/engine/classpath/repository/navigation.xml
  
  Index: navigation.xml
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/engine/classpath/repository/navigation.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- navigation.xml	20 Jun 2003 19:01:39 -0000	1.1
  +++ navigation.xml	22 Jun 2003 13:57:58 -0000	1.2
  @@ -25,7 +25,7 @@
               <item name="Services" href="/meta/model/block/export/index.html"/>
               <item name="Dependencies" href="/meta/model/block/import/index.html"/>
               <item name="Implementation" href="/meta/model/block/container/index.html">
  -              <item name="Engine" href="/meta/model/block/container/engine/index.html">
  +              <item name="Classloader" href="/meta/model/block/container/engine/index.html">
                   <item name="Classpath" href="/meta/model/block/container/engine/classpath/index.html">
                     <item name="Repository" href="/meta/model/block/container/engine/classpath/repository/index.html">
                       <item name="Resource" href="/meta/model/block/container/engine/classpath/repository/resource.html"/>
  
  
  
  1.3       +2 -2      avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/include/index.xml
  
  Index: index.xml
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/include/index.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- index.xml	20 Jun 2003 19:01:39 -0000	1.2
  +++ index.xml	22 Jun 2003 13:57:58 -0000	1.3
  @@ -75,13 +75,13 @@
   
      <implementation>
   
  -     <engine>
  +     <classloader>
          <classpath>
            <repository>
              <resource id="tutorial:composition-api" version="1.0"/>
            </repository>
          </classpath>
  -     </engine>
  +     </classloader>
   
        <include name="publisher">
          <resource id="tutorial:composition-publisher" version="1.0"/>
  
  
  
  1.2       +1 -1      avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/include/navigation.xml
  
  Index: navigation.xml
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/include/navigation.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- navigation.xml	15 Jun 2003 17:43:24 -0000	1.1
  +++ navigation.xml	22 Jun 2003 13:57:58 -0000	1.2
  @@ -25,7 +25,7 @@
               <item name="Services" href="/meta/model/block/export/index.html"/>
               <item name="Dependencies" href="/meta/model/block/import/index.html"/>
               <item name="Implementation" href="/meta/model/block/container/index.html">
  -              <item name="Engine" href="/meta/model/block/container/engine/index.html"/>
  +              <item name="Classloader" href="/meta/model/block/container/engine/index.html"/>
                 <item name="Component" href="/meta/model/block/container/components/index.html"/>
                 <item name="Container" href="/meta/model/block/container/containers.html"/>
                 <item name="Include" href="/meta/model/block/container/include/index.html">
  
  
  
  1.2       +2 -2      avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/include/source.xml
  
  Index: source.xml
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/include/source.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- source.xml	15 Jun 2003 17:43:24 -0000	1.1
  +++ source.xml	22 Jun 2003 13:57:58 -0000	1.2
  @@ -42,13 +42,13 @@
   
      <implementation>
   
  -     <engine>
  +     <classloader>
          <classpath>
            <repository>
              <resource id="tutorial:composition-api" version="1.0"/>
            </repository>
          </classpath>
  -     </engine>
  +     </classloader>
   
        <include name="publisher">
          <source path="conf/include.xml"/>
  
  
  
  1.2       +1 -1      avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/include/targets/navigation.xml
  
  Index: navigation.xml
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/include/targets/navigation.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- navigation.xml	15 Jun 2003 17:43:24 -0000	1.1
  +++ navigation.xml	22 Jun 2003 13:57:58 -0000	1.2
  @@ -25,7 +25,7 @@
               <item name="Services" href="/meta/model/block/export/index.html"/>
               <item name="Dependencies" href="/meta/model/block/import/index.html"/>
               <item name="Implementation" href="/meta/model/block/container/index.html">
  -              <item name="Engine" href="/meta/model/block/container/engine/index.html"/>
  +              <item name="Classloader" href="/meta/model/block/container/engine/index.html"/>
                 <item name="Component" href="/meta/model/block/container/components/index.html"/>
                 <item name="Container" href="/meta/model/block/container/containers.html"/>
                 <item name="Include" href="/meta/model/block/container/include/index.html">
  
  
  
  1.2       +5 -5      avalon-sandbox/merlin/merlin-platform/xdocs/starting/advanced/composite.xml
  
  Index: composite.xml
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/starting/advanced/composite.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- composite.xml	10 Jun 2003 02:14:26 -0000	1.1
  +++ composite.xml	22 Jun 2003 13:57:58 -0000	1.2
  @@ -51,13 +51,13 @@
   
      <implementation>
   
  -     <engine>
  +     <classloader>
          <classpath>
            <repository>
              <resource id="tutorial:composition-api" version="1.0"/>
            </repository>
          </classpath>
  -     </engine>
  +     </classloader>
   
        <include id="tutorial:composition-publisher" version="1.0"/>
        <include id="tutorial:composition-application" version="1.0"/>
  @@ -95,13 +95,13 @@
   
      <implementation>
   
  -     <engine>
  +     <classloader>
          <classpath>
            <repository>
              <resource id="tutorial:composition-api" version="1.0"/>
            </repository>
          </classpath>
  -     </engine>
  +     </classloader>
   
        <component name="application" 
           class="tutorial.application.Application" activation="startup">
  @@ -134,7 +134,7 @@
      <implementation>
   
        <component name="location" 
  -       class="tutorial.location.LocationComponent" activation="startup">
  +         class="tutorial.location.LocationComponent" activation="startup">
          <configuration>
            <source>Paris</source>
          </configuration>
  
  
  
  1.4       +2 -2      avalon-sandbox/merlin/merlin-platform/xdocs/starting/advanced/includes.xml
  
  Index: includes.xml
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/starting/advanced/includes.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- includes.xml	16 Jun 2003 14:23:03 -0000	1.3
  +++ includes.xml	22 Jun 2003 13:57:58 -0000	1.4
  @@ -50,13 +50,13 @@
   
      <implementation>
   
  -     <engine>
  +     <classloader>
          <classpath>
            <repository>
              <resource id="tutorial:tutorial" version="1.0"/>
            </repository>
          </classpath>
  -     </engine>
  +     </classloader>
   
        <component name="test1" class="tutorial.TestComponent" activation="startup"/>
   
  
  
  
  1.2       +100 -110  avalon-sandbox/merlin/merlin-platform/xdocs/starting/examples/james/block.xml
  
  Index: block.xml
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/starting/examples/james/block.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- block.xml	10 Jun 2003 02:14:32 -0000	1.1
  +++ block.xml	22 Jun 2003 13:57:58 -0000	1.2
  @@ -45,37 +45,44 @@
      Service provided by this block.
      Please not that in order to use these services, you must ensure that
      the required API classes are available in a classloader within the scope 
  -   of a container using these services.
  +   of a container using these services.  This is commented out peding the 
  +   release by the james project of API/impl seperation.
  +   -->
  +   <!--
  +   <services>
  +     <service type="org.apache.james.services.MailServer:1.0">
  +       <source>/james</source>
  +     </service>
  +     <service type="org.apache.mailet.MailetContext:1.0">
  +       <source>/james</source>
  +     </service>
  +   </services>
      -->
  -  <services>
  -    <service name="org.apache.james.services.MailServer" version="1.0" />
  -    <service name="org.apache.mailet.MailetContext" version="1.0" />
  -  </services>
   
      <!--
      Block implementation.  The implementation element may contain component
      and container entities. The block implementation statement is equivalent
  -   to a root container.  
  +   to a root container.
      -->
      <implementation>
   
  -     <categories priority="INFO"/>
  -
  -     <engine>
  +     <classloader>
          <classpath>
            <repository>
  +           <resource id="avalon-framework:avalon-framework-impl" version="4.1.5-dev"/>
  +           <resource id="cornerstone-threads:cornerstone-threads-api" version="1.0"/>
  +           <resource id="cornerstone-sockets:cornerstone-sockets-api" version="1.0"/>
  +           <resource id="cornerstone-connection:cornerstone-connection-api" version="1.0"/>
  +           <resource id="cornerstone-scheduler:cornerstone-scheduler-api" version="1.0"/>
  +           <resource id="cornerstone-datasources:cornerstone-datasources-api" version="1.0"/>
  +           <resource id="cornerstone-store:cornerstone-store-api" version="1.0"/>
  +           <resource id="cornerstone-connection:cornerstone-connection-impl" version="1.0"/>
  +
  +           <!-- james specific depedencies -->
              <resource id="excalibur:excalibur-io" version="1.1"/>
  -           <resource id="excalibur:excalibur-pool" version="1.2"/>
  -           <resource id="excalibur:excalibur-thread" version="1.1"/>
  -           <resource id="excalibur:excalibur-threadcontext" version="1.0"/>
              <resource id="excalibur:excalibur-collections" version="1.0"/>
  -           <resource id="commons:commons-collections" version="2.1"/>
  -           <resource id="cornerstone:cornerstone-threads" version="1.0"/>
  -           <resource id="cornerstone:cornerstone-connection" version="1.0"/>
  -           <resource id="cornerstone:cornerstone-datasources" version="1.0"/>
  -           <resource id="cornerstone:cornerstone-scheduler" version="1.0"/>
  -           <resource id="cornerstone:cornerstone-sockets" version="1.0"/>
  -           <resource id="cornerstone:cornerstone-store" version="1.0"/>
  +           <resource id="excalibur-thread:excalibur-thread" version="1.1.1"/>
  +           <resource id="excalibur-pool:excalibur-pool" version="1.2"/>
              <resource id="james:dnsjava" version="1.3.2"/>
              <resource id="james:mail" version="1.3"/>
              <resource id="james:activation" version="1.0"/>
  @@ -83,18 +90,85 @@
              <resource id="james:james" version="1.3"/>
            </repository>
          </classpath>
  -     </engine>
  +     </classloader>
  +
  +     <include name="threads">
  +       <resource id="cornerstone-threads:cornerstone-threads-impl" version="1.0"/>
  +     </include>
  +
  +     <include name="sockets">
  +       <resource id="cornerstone-sockets:cornerstone-sockets-impl" version="1.0"/>
  +     </include>
  +
  +     <include name="scheduler">
  +       <resource id="cornerstone-scheduler:cornerstone-scheduler-impl" version="1.0"/>
  +     </include>
  +
  +     <include name="datasources">
  +       <resource id="cornerstone-datasources:cornerstone-datasources-impl" version="1.0"/>
  +     </include>
  +
  +     <include name="store">
  +       <resource id="cornerstone-store:cornerstone-store-impl" version="1.0"/>
  +       <targets>
  +         <target path="/manager">
  +           <configuration>
  +             <repositories>
  +               <repository
  +                  class="org.apache.james.mailrepository.filepair.File_Persistent_Object_Repository"> 
  +                 <protocols>
  +                   <protocol>file</protocol>
  +                 </protocols>
  +                 <types>
  +                   <type>OBJECT</type>
  +                 </types>
  +                 <models>
  +                   <model>SYNCHRONOUS</model>
  +                   <model>ASYNCHRONOUS</model>
  +                   <model>CACHE</model>
  +                 </models>
  +               </repository>
  +               <repository 
  +                 class="org.apache.james.mailrepository.filepair.File_Persistent_Stream_Repository">
  +                 <protocols>
  +                   <protocol>file</protocol>
  +                 </protocols>
  +                 <types>
  +                   <type>STREAM</type>
  +                 </types>
  +                 <models>
  +                   <model>SYNCHRONOUS</model>
  +                   <model>ASYNCHRONOUS</model>
  +                   <model>CACHE</model>
  +                 </models>
  +               </repository>
  +             </repositories>
  +           </configuration>
  +         </target>
  +       </targets>
  +     </include>
  +
  +     <component name="connections" 
  +           class="org.apache.james.util.connection.SimpleConnectionManager" 
  +           activation="true">
  +         <configuration>
  +           <idle-timeout>300000</idle-timeout>
  +           <max-connections>30</max-connections>
  +         </configuration>
  +     </component>
   
        <component name="james" class="org.apache.james.James" 
              activation="true">
          <configuration>
            <postmaster>postmaster@localhost</postmaster>
  -         <servernames autodetect="true" autodetectIP="true"/>
  -        <usernames ignoreCase="true" enableAliases="true" enableForwarding="true"/>
  -        <inboxRepository>
  -          <repository destinationURL="file://var/mail/inboxes/" type="MAIL"/>
  -        </inboxRepository>
  -      </configuration>
  +         <servernames autodetect="true" autodetectIP="true">
  +           <servername>localhost</servername>
  +         </servernames>
  +         <usernames ignoreCase="true" enableAliases="true" enableForwarding="true"/>
  +         <inboxRepository>
  +           <repository destinationURL="file://var/mail/inboxes/" type="MAIL"/>
  +         </inboxRepository>
  +       </configuration>
        </component>
   
        <component name="dns" class="org.apache.james.dnsserver.DNSServer" 
  @@ -145,58 +219,6 @@
            </configuration>
        </component>
   
  -     <component name="threads"
  -          class="org.apache.avalon.cornerstone.blocks.threads.DefaultThreadManager" 
  -          activation="true">
  -       <configuration>
  -         <thread-group>
  -           <name>default</name>
  -           <priority>5</priority> 
  -           <is-daemon>false</is-daemon>
  -           <max-threads>100</max-threads>
  -           <min-threads>20</min-threads>
  -           <min-spare-threads>20</min-spare-threads>
  -         </thread-group>
  -       </configuration>
  -     </component>
  -
  -     <component name="store" 
  -          class="org.apache.avalon.cornerstone.blocks.masterstore.RepositoryManager" 
  -           activation="true">
  -         <configuration>
  -          <repositories>
  -            <repository
  -                class="org.apache.james.mailrepository.filepair.File_Persistent_Object_Repository"> 
  -              <protocols>
  -                <protocol>file</protocol>
  -              </protocols>
  -              <types>
  -                <type>OBJECT</type>
  -              </types>
  -              <models>
  -                <model>SYNCHRONOUS</model>
  -                <model>ASYNCHRONOUS</model>
  -                <model>CACHE</model>
  -              </models>
  -            </repository>
  -            <repository 
  -              class="org.apache.james.mailrepository.filepair.File_Persistent_Stream_Repository">
  -              <protocols>
  -                <protocol>file</protocol>
  -              </protocols>
  -              <types>
  -                <type>STREAM</type>
  -              </types>
  -              <models>
  -                <model>SYNCHRONOUS</model>
  -                <model>ASYNCHRONOUS</model>
  -                <model>CACHE</model>
  -              </models>
  -            </repository>
  -          </repositories>
  -        </configuration>
  -     </component>
  -
        <!-- The High Level Storage block -->
        <component name="mailstore" 
             class="org.apache.james.core.AvalonMailStore" 
  @@ -287,38 +309,6 @@
              </repository>
            </configuration>
        </component>
  -
  -     <component name="connections" 
  -           class="org.apache.james.util.connection.SimpleConnectionManager" 
  -           activation="true">
  -         <configuration>
  -           <idle-timeout>300000</idle-timeout>
  -           <max-connections>30</max-connections>
  -         </configuration>
  -     </component>
  -
  -     <component name="sockets"
  -          class="org.apache.avalon.cornerstone.blocks.sockets.DefaultSocketManager" 
  -          activation="true">
  -       <configuration>
  -         <server-sockets>
  -           <factory name="plain" 
  -             class="org.apache.avalon.cornerstone.blocks.sockets.DefaultServerSocketFactory"/>
  -         </server-sockets>
  -         <client-sockets>
  -           <factory name="plain" 
  -             class="org.apache.avalon.cornerstone.blocks.sockets.DefaultSocketFactory"/>
  -         </client-sockets>
  -       </configuration>
  -     </component>
  -
  -     <component  name="scheduler"
  -          class="org.apache.avalon.cornerstone.blocks.scheduler.DefaultTimeScheduler"  
  -          activation="true"/>
  -
  -     <component name="datasources" 
  -          class="org.apache.avalon.cornerstone.blocks.datasources.DefaultDataSourceSelector" 
  -          activation="true"/>
   
        <component name="spool" 
             class="org.apache.james.transport.JamesSpoolManager" 
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org