mcconnell    2003/01/19 07:49:04

  Modified:    merlin   blocks.xml build.xml kernel.xml
               merlin/src/java/org/apache/avalon/merlin/block/impl
                        DefaultBlock.java DefaultBlockLoader.java
               merlin/src/java/org/apache/avalon/merlin/bootstrap
                        Merlin.java
               merlin/src/java/org/apache/avalon/merlin/container
                        package.html
               merlin/src/java/org/apache/avalon/merlin/kernel package.html
               merlin/src/test/config james.xml
  Log:
  Lots of little updates.
  
  Revision  Changes    Path
  1.8       +4 -3      avalon-sandbox/merlin/blocks.xml
  
  Index: blocks.xml
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/blocks.xml,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- blocks.xml        18 Jan 2003 16:23:54 -0000      1.7
  +++ blocks.xml        19 Jan 2003 15:49:03 -0000      1.8
  @@ -8,18 +8,20 @@
   
   <blocks>
   
  -   <block name="james" src="src/test/config/james.xml" enabled="false" >
  +<!--
  +   <block name="james" src="src/test/config/james.xml" enabled="true" >
        <configuration target="dns">
           <servers>
  +          <server>192.112.36.4</server>
             <server>212.198.0.66</server>
             <server>212.198.0.67</server>
  -          <server>194.51.32.65</server>
           </servers>
           <authoritative>false</authoritative>
         </configuration>
      </block>
   
      <block name="playground" 
path="../assembly/build/lib/avalon-assembly-demo-1.0.jar" enabled="true" />
  +-->
   
      <block name="demo" src="src/test/config/demo.xml" enabled="true">
        <configuration target="test">
  @@ -28,5 +30,4 @@
          </configuration>
        </configuration>
      </block>
  -
   </blocks>
  
  
  
  1.11      +7 -0      avalon-sandbox/merlin/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/build.xml,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- build.xml 15 Jan 2003 09:14:50 -0000      1.10
  +++ build.xml 19 Jan 2003 15:49:03 -0000      1.11
  @@ -31,6 +31,7 @@
       <pathelement location="${excalibur-pool.jar}"/>
       <pathelement location="${excalibur-thread.jar}"/>
       <pathelement location="${excalibur-event.jar}"/>
  +    <pathelement location="${excalibur-sourceresolve.jar}"/>
       <pathelement location="${util.concurrent.jar}"/>
       <pathelement location="${commons-collections.jar}"/>
       <pathelement location="${build.classes}"/>
  @@ -218,6 +219,7 @@
        <copy todir="${lib.dir}" file="${commons-collections.jar}"/>
        <copy todir="${lib.dir}" file="${util.concurrent.jar}"/>
        <copy todir="${lib.dir}" file="${excalibur-threadcontext.jar}"/>
  +     <copy todir="${lib.dir}" file="${excalibur-sourceresolve.jar}"/>
        <copy todir="${lib.dir}" file="${excalibur-pool.jar}"/>
        <copy todir="${lib.dir}" file="${excalibur-thread.jar}"/>
        <copy todir="${lib.dir}" file="${avalon-lifecycle.jar}"/>
  @@ -244,12 +246,17 @@
         <group title="Kernel">
           <package name="org.apache.avalon.merlin"/>
           <package name="org.apache.avalon.merlin.kernel"/>
  +        <package name="org.apache.avalon.merlin.kernel.*"/>
           <package name="org.apache.avalon.merlin.service"/>
  +        <package name="org.apache.avalon.merlin.service.*"/>
  +        <package name="org.apache.avalon.merlin.bootstrap"/>
         </group>
         <group title="Containment">
           <package name="org.apache.avalon.merlin.container"/>
           <package name="org.apache.avalon.merlin.container.builder"/>
  +        <package name="org.apache.avalon.merlin.container.impl"/>
           <package name="org.apache.avalon.merlin.block"/>
  +        <package name="org.apache.avalon.merlin.block.*"/>
         </group>
         <doclet name="com.sun.tools.doclets.standard.Standard">
           <param name="-author"/>
  
  
  
  1.14      +5 -2      avalon-sandbox/merlin/kernel.xml
  
  Index: kernel.xml
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/kernel.xml,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- kernel.xml        15 Jan 2003 09:14:50 -0000      1.13
  +++ kernel.xml        19 Jan 2003 15:49:03 -0000      1.14
  @@ -12,12 +12,15 @@
   
      <system host="localhost"/>
   
  -   <logging target="default" priority="DEBUG">
  +   <logging target="default" priority="WARN">
         <category name="/sys/logger" priority="WARN"/>
  +      <target name="kernel">
  +        <file location="kernel.log" />
  +      </target>
      </logging>
   
      <categories>
  -      <category name="/sys" priority="INFO"/>
  +      <category name="/sys" priority="DEBUG"/>
      </categories>
   
      <engine/>
  
  
  
  1.2       +4 -4      
avalon-sandbox/merlin/src/java/org/apache/avalon/merlin/block/impl/DefaultBlock.java
  
  Index: DefaultBlock.java
  ===================================================================
  RCS file: 
/home/cvs/avalon-sandbox/merlin/src/java/org/apache/avalon/merlin/block/impl/DefaultBlock.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DefaultBlock.java 18 Jan 2003 16:23:54 -0000      1.1
  +++ DefaultBlock.java 19 Jan 2003 15:49:03 -0000      1.2
  @@ -38,7 +38,7 @@
   import org.apache.avalon.framework.configuration.ConfigurationException;
   import org.apache.avalon.merlin.block.Block;
   import org.apache.avalon.merlin.block.BlockException;
  -import org.apache.avalon.merlin.container.DefaultContainer;
  +import org.apache.avalon.merlin.container.impl.DefaultContainer;
   import org.apache.avalon.merlin.container.ContainerDescriptor;
   import org.apache.avalon.merlin.container.Container;
   import org.apache.avalon.merlin.container.StateListener;
  @@ -50,7 +50,7 @@
   import org.apache.avalon.meta.model.builder.XMLProfileCreator;
   import org.apache.avalon.meta.model.Profile;
   import org.apache.avalon.merlin.service.Registry;
  -import org.apache.avalon.merlin.kernel.DefaultKernel;
  +import org.apache.avalon.merlin.kernel.impl.DefaultKernel;
   import org.apache.avalon.assembly.appliance.DefaultApplianceContext;
   import org.apache.excalibur.configuration.ConfigurationUtil;
   
  @@ -267,7 +267,7 @@
               Profile profile = profiles[i];
               if( getLogger().isDebugEnabled() )
               {
  -                final String message = "profile: " + profile; 
  +                final String message = "adding child profile: " + profile + 
" in " + this; 
                   getLogger().debug( message );
               }
   
  @@ -309,7 +309,7 @@
   
           if( getLogger().isDebugEnabled() )
           {
  -            getLogger().debug("block assembly: " + System.identityHashCode( 
graph ) );
  +            getLogger().debug("block assembly: " + this );
           }
   
           //
  
  
  
  1.2       +53 -7     
avalon-sandbox/merlin/src/java/org/apache/avalon/merlin/block/impl/DefaultBlockLoader.java
  
  Index: DefaultBlockLoader.java
  ===================================================================
  RCS file: 
/home/cvs/avalon-sandbox/merlin/src/java/org/apache/avalon/merlin/block/impl/DefaultBlockLoader.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DefaultBlockLoader.java   18 Jan 2003 16:23:54 -0000      1.1
  +++ DefaultBlockLoader.java   19 Jan 2003 15:49:03 -0000      1.2
  @@ -92,6 +92,7 @@
   import org.apache.avalon.framework.activity.Initializable;
   import org.apache.avalon.framework.activity.Startable;
   import org.apache.avalon.framework.activity.Disposable;
  +import org.apache.avalon.framework.context.DefaultContext;
   import org.apache.avalon.framework.configuration.Configuration;
   import org.apache.avalon.framework.configuration.Configurable;
   import org.apache.avalon.framework.configuration.ConfigurationException;
  @@ -100,6 +101,8 @@
   import org.apache.avalon.framework.context.Context;
   import org.apache.avalon.framework.context.ContextException;
   import org.apache.avalon.framework.service.DefaultServiceManager;
  +import org.apache.avalon.framework.service.DefaultServiceSelector;
  +import org.apache.avalon.framework.parameters.Parameters;
   import org.apache.avalon.merlin.block.Block;
   import org.apache.avalon.merlin.block.BlockException;
   import org.apache.avalon.merlin.block.BlockLoader;
  @@ -107,7 +110,7 @@
   import org.apache.avalon.merlin.container.ContainerDescriptor;
   import org.apache.avalon.merlin.container.Container;
   import org.apache.avalon.merlin.container.ContainerException;
  -import org.apache.avalon.merlin.container.DefaultContainer;
  +import org.apache.avalon.merlin.container.impl.DefaultContainer;
   import org.apache.avalon.merlin.service.DefaultRegistry;
   import org.apache.avalon.merlin.service.Registry;
   import org.apache.avalon.meta.model.builder.XMLProfileCreator;
  @@ -116,6 +119,13 @@
   import org.apache.avalon.meta.info.Type;
   import org.apache.excalibur.configuration.ConfigurationUtil;
   
  +import org.apache.excalibur.source.Source;
  +import org.apache.excalibur.source.SourceResolver;
  +import org.apache.excalibur.source.SourceFactory;
  +import org.apache.excalibur.source.impl.ResourceSourceFactory;
  +import org.apache.excalibur.source.impl.SourceResolverImpl;
  +
  +
   /**
    * Implementation of the block loader.
    *
  @@ -199,6 +209,8 @@
        */
       private Locator m_system;
   
  +    private SourceResolverImpl m_resolver;
  +
       //==============================================================
       // Contextualizable
       //==============================================================
  @@ -225,6 +237,36 @@
           {
               throw new IllegalStateException( "contextualization" );
           }
  +
  +        final SourceResolverImpl resolver = new SourceResolverImpl();
  +        resolver.enableLogging( getLogger() );
  +
  +        final DefaultContext context = new DefaultContext();
  +        context.put( "context-root", m_home );
  +        resolver.contextualize( context );
  +
  +        final ResourceSourceFactory factory = new ResourceSourceFactory();
  +        factory.enableLogging( getLogger() );
  +
  +        final DefaultServiceSelector selector = new DefaultServiceSelector();
  +        selector.put( "resource", factory );
  +
  +        final DefaultServiceManager manager = new DefaultServiceManager();
  +        manager.put( SourceFactory.ROLE + "Selector", selector );
  +
  +        try
  +        {
  +            manager.lookup( SourceFactory.ROLE + "Selector" );
  +        }
  +        catch( Throwable e )
  +        {
  +            getLogger().error( "Rubbush", e );
  +        }
  +
  +        resolver.service( manager );
  +        resolver.parameterize( new Parameters() );
  +
  +        m_resolver = resolver;
       }
   
       //==============================================================
  @@ -240,6 +282,8 @@
           m_registry = null;
           m_system = null;
           m_home = null;
  +        m_resolver.dispose();
  +        m_resolver = null;
       }
   
       //==============================================================
  @@ -385,7 +429,7 @@
               String path = config.getAttribute("path", null );
               if( getLogger().isDebugEnabled() )
               {
  -                logger.debug( "[" + path + "] as [" + name + "]");
  +                getLogger().debug( "assigning path to " + this + " path [" + 
path + "] as [" + name + "]");
               }
   
               //
  @@ -464,7 +508,8 @@
   
           try
           {
  -            engine = createChildEngine( m_engine, m_home, engineConfig, url, 
logger );
  +            //engine = createChildEngine( m_engine, m_home, engineConfig, 
url, logger );
  +            engine = createChildEngine( m_engine, m_home, engineConfig, url, 
getLogger() );
           }
           catch( Throwable ee )
           {
  @@ -493,7 +538,8 @@
               throw new BlockException( error, ee );
           }
   
  -        List list = createChildBlocks( engine, registry, partition, 
implementation, config, logger );
  +        //List list = createChildBlocks( engine, registry, partition, 
implementation, config, logger );
  +        List list = createChildBlocks( engine, registry, partition, 
implementation, config, getLogger() );
           return createBlock( engine, list, descriptor, name, registry, 
Container.PATH_SEPERATOR, config ); 
       }
   
  @@ -600,7 +646,8 @@
               try
               {
                   loader = createChildEngine( 
  -                  engine, m_home, child.getChild("engine"), log );
  +                  //engine, m_home, child.getChild("engine"), log );
  +                  engine, m_home, child.getChild("engine"), getLogger() );
               }
               catch( ConfigurationException ce )
               {
  @@ -724,7 +771,6 @@
   
           try
           {
  -            getLogger().debug( "creating block with context: " + context );
               return (Block) engine.createAppliance( context, false, false );
           }
           catch( Throwable e )
  
  
  
  1.2       +2 -1      
avalon-sandbox/merlin/src/java/org/apache/avalon/merlin/bootstrap/Merlin.java
  
  Index: Merlin.java
  ===================================================================
  RCS file: 
/home/cvs/avalon-sandbox/merlin/src/java/org/apache/avalon/merlin/bootstrap/Merlin.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Merlin.java       6 Jan 2003 01:05:53 -0000       1.1
  +++ Merlin.java       19 Jan 2003 15:49:03 -0000      1.2
  @@ -27,7 +27,7 @@
       public static final String MERLIN_LIB_PATH = "lib";
       public static final String MERLIN_COMMON_PATH = "common";
       public static final String MERLIN_BLOCKS_FILENAME = "blocks.xml";
  -    public static final String MERLIN_KERNEL_LOADER_CLASSNAME = 
"org.apache.avalon.merlin.kernel.KernelLoader";
  +    public static final String MERLIN_KERNEL_LOADER_CLASSNAME = 
"org.apache.avalon.merlin.kernel.impl.KernelLoader";
   
       public static final String MERLIN_PROPS_PATH =
         MERLIN_PROPS_BASEDIR + File.separator 
  @@ -169,6 +169,7 @@
           // create a kernel loader
           //
   
  +        Thread.currentThread().setContextClassLoader( internal );
           Object kernelLoader = null;
           Class clazz;
           try
  
  
  
  1.2       +2 -2      
avalon-sandbox/merlin/src/java/org/apache/avalon/merlin/container/package.html
  
  Index: package.html
  ===================================================================
  RCS file: 
/home/cvs/avalon-sandbox/merlin/src/java/org/apache/avalon/merlin/container/package.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- package.html      27 Dec 2002 16:39:40 -0000      1.1
  +++ package.html      19 Jan 2003 15:49:04 -0000      1.2
  @@ -1,12 +1,12 @@
   
   <body>
  -<p>The container package provides support for a heirachical containment 
strategy.</p> 
  +<p>The container package provides support for a heirachical containment 
runtime environment.</p> 
   <p>
     <table border="1" cellpadding="3" cellspacing="0" width="100%">
       <tr bgcolor="#ccccff">
         <td colspan="2"><font size="+2"><b>Component Summary</b></font></td>
       <tr>
  -      <td width="20%" valign="top"><strong>[EMAIL PROTECTED] 
org.apache.avalon.merlin.container.DefaultContainer}</strong></td>
  +      <td width="20%" valign="top"><strong>[EMAIL PROTECTED] 
org.apache.avalon.merlin.container.impl.DefaultContainer}</strong></td>
         <td>A <code>[EMAIL PROTECTED] 
org.apache.avalon.merlin.container.Container}</code> implementation that 
provides support for the management of a containment heirachy.  A container 
manages a set of contained components together with a set of container 
containers.  A containment heirachy represents an implementation strategy 
appropriate for block level deployment.</td></tr>
       </tr>
     </table>
  
  
  
  1.3       +1 -1      
avalon-sandbox/merlin/src/java/org/apache/avalon/merlin/kernel/package.html
  
  Index: package.html
  ===================================================================
  RCS file: 
/home/cvs/avalon-sandbox/merlin/src/java/org/apache/avalon/merlin/kernel/package.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- package.html      27 Dec 2002 16:44:41 -0000      1.2
  +++ package.html      19 Jan 2003 15:49:04 -0000      1.3
  @@ -8,7 +8,7 @@
       <tr bgcolor="#ccccff">
         <td colspan="2"><font size="+2"><b>Component Summary</b></font></td>
       <tr>
  -      <td width="20%" valign="top"><strong>[EMAIL PROTECTED] 
org.apache.avalon.merlin.kernel.DefaultKernel}</strong></td>
  +      <td width="20%" valign="top"><strong>[EMAIL PROTECTED] 
org.apache.avalon.merlin.kernel.impl.DefaultKernel}</strong></td>
         <td>A <code>[EMAIL PROTECTED] 
org.apache.avalon.merlin.kernel.Kernel}</code> implementation that provides 
support the establishment, deployment and decommissioning of a set of [EMAIL 
PROTECTED] org.apache.avalon.merlin.block.Block } instances.</td></tr>
       </tr>
     </table>
  
  
  
  1.4       +8 -0      avalon-sandbox/merlin/src/test/config/james.xml
  
  Index: james.xml
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/merlin/src/test/config/james.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- james.xml 17 Jan 2003 06:27:40 -0000      1.3
  +++ james.xml 19 Jan 2003 15:49:04 -0000      1.4
  @@ -307,6 +307,14 @@
        <appliance name="dns" class="org.apache.james.dnsserver.DNSServer" 
              activation="true">
          <!-- see blocks.xml for configuration -->
  +     <configuration target="dns">
  +        <servers>
  +          <server>192.112.36.4</server>
  +          <server>212.198.0.66</server>
  +          <server>212.198.0.67</server>
  +        </servers>
  +        <authoritative>false</authoritative>
  +      </configuration>
        </appliance>
   
        <appliance name="remote" 
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to