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>{@link
org.apache.avalon.merlin.container.DefaultContainer}</strong></td>
+ <td width="20%" valign="top"><strong>{@link
org.apache.avalon.merlin.container.impl.DefaultContainer}</strong></td>
<td>A <code>{@link 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>{@link
org.apache.avalon.merlin.kernel.DefaultKernel}</strong></td>
+ <td width="20%" valign="top"><strong>{@link
org.apache.avalon.merlin.kernel.impl.DefaultKernel}</strong></td>
<td>A <code>{@link org.apache.avalon.merlin.kernel.Kernel}</code>
implementation that provides support the establishment, deployment and decommissioning
of a set of {@link 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]>