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/10/17 05:26:30 UTC
cvs commit: avalon/merlin/platform/xdocs/tools/maven navigation.xml
mcconnell 2003/10/16 20:26:30
Modified: merlin/activation/api project.xml
merlin/activation/api/src/java/org/apache/avalon/activation/appliance
Engine.java Home.java
merlin/activation/impl project.xml
merlin/activation/impl/src/java/org/apache/avalon/activation/appliance/impl
DefaultAppliance.java DefaultBlock.java
DefaultServiceManager.java
merlin/activation/impl/src/java/org/apache/avalon/activation/lifestyle/impl
AbstractLifestyleHandler.java
PooledLifestyleHandler.java
SingletonLifestyleHandler.java
ThreadLifestyleHandler.java
TransientLifestyleHandler.java
merlin/activation/impl/src/test/org/apache/avalon/activation/appliance
AbstractTestCase.java
merlin/activation/impl/src/test/org/apache/avalon/playground
ExploitationManager.xinfo SimpleComponent.xinfo
merlin/activation/spi project.xml
merlin/activation/spi/src/java/org/apache/avalon/activation/lifestyle
LifestyleHandler.java
merlin/composition/api project.xml
merlin/composition/api/src/java/org/apache/avalon/composition/model
DeploymentModel.java
merlin/composition/impl project.xml
merlin/composition/impl/src/java/org/apache/avalon/composition/data/builder
XMLProfileCreator.java
merlin/composition/impl/src/java/org/apache/avalon/composition/model/impl
DefaultDeploymentModel.java
merlin/composition/spi project.xml
merlin/kernel/bootstrap/src/etc merlin.properties
merlin/kernel/impl project.xml
merlin/kernel/impl/src/java/org/apache/avalon/merlin/kernel/impl
DefaultKernel.java DefaultLoader.java
merlin/kernel/plugin project.xml
merlin/kernel/spi project.xml
merlin/kernel/spi/src/java/org/apache/avalon/merlin/kernel
Controller.java
merlin/kernel/unit project.xml
merlin/kernel/unit/src/etc merlin.properties
merlin/kernel/unit/src/java/org/apache/avalon/merlin/unit
AbstractMerlinTestCase.java
merlin platform.xml
merlin/platform/tutorials/context/strategy project.xml
merlin/platform/tutorials/hello project.xml
merlin/platform/tutorials/lifecycle/activation project.xml
merlin/platform/xdocs/meta index.xml
merlin/platform/xdocs/tools index.xml navigation.xml
merlin/platform/xdocs/tools/maven navigation.xml
Log:
Sync. avalon-composition, avalon-activation and merlin with avalon-meta version update.
Revision Changes Path
1.2 +3 -3 avalon/merlin/activation/api/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/avalon/merlin/activation/api/project.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- project.xml 24 Sep 2003 09:30:18 -0000 1.1
+++ project.xml 17 Oct 2003 03:26:28 -0000 1.2
@@ -8,7 +8,7 @@
<id>avalon-activation-api</id>
<name>Avalon Activation API</name>
<package>org.apache.avalon.activation</package>
- <currentVersion>1.0b1</currentVersion>
+ <currentVersion>1.1-dev</currentVersion>
<inceptionYear>2002</inceptionYear>
<shortDescription>Activation API</shortDescription>
@@ -27,12 +27,12 @@
<dependency>
<groupId>avalon-meta</groupId>
<artifactId>avalon-meta-api</artifactId>
- <version>1.1</version>
+ <version>1.2-dev</version>
</dependency>
<dependency>
<groupId>avalon-composition</groupId>
<artifactId>avalon-composition-api</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
</dependencies>
1.2 +6 -6 avalon/merlin/activation/api/src/java/org/apache/avalon/activation/appliance/Engine.java
Index: Engine.java
===================================================================
RCS file: /home/cvs/avalon/merlin/activation/api/src/java/org/apache/avalon/activation/appliance/Engine.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Engine.java 12 Oct 2003 15:34:49 -0000 1.1
+++ Engine.java 17 Oct 2003 03:26:28 -0000 1.2
@@ -69,7 +69,7 @@
* @param dependency the dependency model
* @return the appliance
*/
- Appliance resolveAppliance( DependencyModel dependency )
+ Appliance locate( DependencyModel dependency )
throws Exception;
/**
@@ -77,7 +77,7 @@
* @param dependency the dependency descriptor
* @return the appliance
*/
- Appliance resolveAppliance( DependencyDescriptor dependency )
+ Appliance locate( DependencyDescriptor dependency )
throws Exception;
/**
@@ -85,7 +85,7 @@
* @param stage the stage model
* @return the appliance
*/
- Appliance resolveAppliance( StageModel stage )
+ Appliance locate( StageModel stage )
throws Exception;
/**
@@ -93,7 +93,7 @@
* @param stage the stage descriptor
* @return the appliance
*/
- Appliance resolveAppliance( StageDescriptor stage )
+ Appliance locate( StageDescriptor stage )
throws Exception;
/**
@@ -101,6 +101,6 @@
* @param path the appliance path
* @return the appliance
*/
- Appliance resolveAppliance( String path )
+ Appliance locate( String path )
throws Exception;
}
1.2 +3 -16 avalon/merlin/activation/api/src/java/org/apache/avalon/activation/appliance/Home.java
Index: Home.java
===================================================================
RCS file: /home/cvs/avalon/merlin/activation/api/src/java/org/apache/avalon/activation/appliance/Home.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Home.java 24 Sep 2003 09:30:20 -0000 1.1
+++ Home.java 17 Oct 2003 03:26:28 -0000 1.2
@@ -65,29 +65,16 @@
/**
* Resolve a object to a value.
*
- * @param source the context within the the resolution is applied
* @return the resolved object
* @throws Exception if an error occurs
*/
- Object resolve( Object source ) throws Exception;
-
- /**
- * Resolve a object to a value relative to a supplied set of
- * interface classes.
- *
- * @param source the aquiring source
- * @param ref the castable service classes
- * @return the resolved object
- * @throws Exception if an error occurs
- */
- Object resolve( Object source, Class[] ref ) throws Exception;
+ Object resolve() throws Exception;
/**
* Release an object
*
- * @param source the client that obtained the intial reference
* @param instance the object to be released
*/
- void release( Object source, Object instance );
+ void release( Object instance );
}
1.3 +9 -9 avalon/merlin/activation/impl/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/avalon/merlin/activation/impl/project.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- project.xml 7 Oct 2003 17:42:55 -0000 1.2
+++ project.xml 17 Oct 2003 03:26:28 -0000 1.3
@@ -8,7 +8,7 @@
<id>avalon-activation-impl</id>
<name>Avalon Activation Framework</name>
<package>org.apache.avalon.activation</package>
- <currentVersion>1.0b2</currentVersion>
+ <currentVersion>1.1-dev</currentVersion>
<inceptionYear>2002</inceptionYear>
<shortDescription>Runtime activation framework.</shortDescription>
@@ -44,44 +44,44 @@
<dependency>
<groupId>avalon-activation</groupId>
<artifactId>avalon-activation-api</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
<dependency>
<groupId>avalon-activation</groupId>
<artifactId>avalon-activation-spi</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
<dependency>
<groupId>avalon-composition</groupId>
<artifactId>avalon-composition-api</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
<dependency>
<groupId>avalon-composition</groupId>
<artifactId>avalon-composition-spi</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
<dependency>
<groupId>avalon-composition</groupId>
<artifactId>avalon-composition-impl</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
<dependency>
<groupId>avalon-meta</groupId>
<artifactId>avalon-meta-api</artifactId>
- <version>1.1</version>
+ <version>1.2-dev</version>
</dependency>
<dependency>
<groupId>avalon-meta</groupId>
<artifactId>avalon-meta-spi</artifactId>
- <version>1.1</version>
+ <version>1.2-dev</version>
</dependency>
<dependency>
<groupId>avalon-meta</groupId>
<artifactId>avalon-meta-impl</artifactId>
- <version>1.1</version>
+ <version>1.2-dev</version>
</dependency>
<dependency>
1.2 +220 -100 avalon/merlin/activation/impl/src/java/org/apache/avalon/activation/appliance/impl/DefaultAppliance.java
Index: DefaultAppliance.java
===================================================================
RCS file: /home/cvs/avalon/merlin/activation/impl/src/java/org/apache/avalon/activation/appliance/impl/DefaultAppliance.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- DefaultAppliance.java 24 Sep 2003 09:30:35 -0000 1.1
+++ DefaultAppliance.java 17 Oct 2003 03:26:28 -0000 1.2
@@ -54,6 +54,10 @@
import java.util.Map;
import java.util.Hashtable;
import java.util.ArrayList;
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.lang.reflect.Proxy;
import org.apache.avalon.activation.appliance.Appliance;
import org.apache.avalon.activation.appliance.ApplianceException;
@@ -115,7 +119,7 @@
* @version $Revision$ $Date$
*/
public class DefaultAppliance extends AbstractAppliance
- implements Composite, Factory, DefaultApplianceMBean
+ implements Composite, DefaultApplianceMBean
{
//-------------------------------------------------------------------
// static
@@ -164,6 +168,11 @@
*/
private final ServiceContext m_context;
+ /**
+ * The instance factory.
+ */
+ private final Factory m_factory = new StandardFactory();
+
//-------------------------------------------------------------------
// mutable state
//-------------------------------------------------------------------
@@ -299,7 +308,7 @@
StageDescriptor stage =
new StageDescriptor( clazz.getName() );
m_contextProvider =
- m_engine.resolveAppliance( stage );
+ m_engine.locate( stage );
}
catch( Throwable e )
{
@@ -356,7 +365,7 @@
try
{
final Appliance appliance =
- m_engine.resolveAppliance( dependency );
+ m_engine.locate( dependency );
registerListener( appliance );
m_providers.put( key, appliance );
if( getLogger().isDebugEnabled() )
@@ -388,7 +397,7 @@
try
{
final Appliance appliance =
- m_engine.resolveAppliance( stage );
+ m_engine.locate( stage );
registerListener( appliance );
m_stages.put( key, appliance );
if( getLogger().isDebugEnabled() )
@@ -502,7 +511,7 @@
if( m_model.getActivationPolicy() )
{
- Object instance = resolve( this );
+ Object instance = resolve();
if( getLogger().isDebugEnabled() )
{
int id = System.identityHashCode( instance );
@@ -531,7 +540,7 @@
}
if( m_contextProvider != null )
{
- m_contextProvider.release( this, m_contextualization );
+ m_contextProvider.release( m_contextualization );
m_contextualization = null;
}
m_deployment.setEnabled( false );
@@ -546,55 +555,45 @@
/**
* Resolve a object to a value.
*
- * @param source the context within the the resolution is applied
* @return the resolved object
* @throws Exception if an error occurs
*/
- public Object resolve( Object source ) throws Exception
+ public Object resolve() throws Exception
{
- return resolve( source, new Class[0] );
- }
-
- /**
- * Resolve a object to a value relative to a supplied set of
- * interface classes.
- *
- * @param source the aquiring source
- * @param ref the castable service classes
- * @return the resolved object
- * @throws Exception if an error occurs
- */
- public Object resolve( final Object source, final Class[] ref ) throws Exception
- {
- if( source == null ) throw new NullPointerException( "source" );
if( !m_deployment.isEnabled() )
{
final String error =
"Illegal attempt to resolve an service from a non-deployed appliance ["
- + this + "]. A probably cause is a recursive dependency declaration.";
+ + this + "]. A possible cause is a recursive dependency declaration.";
getLogger().error( error );
throw new IllegalStateException( error );
}
- Class[] refs = ref;
- if( refs == null ) refs = new Class[0];
- Object instance = m_lifestyle.resolve( source, refs );
- return applyAccessStages( instance, true );
+ Object provider = m_lifestyle.resolve();
+ accessInstance( getProviderInstance( provider ) );
+ return provider;
}
/**
* Release an object.
*
- * @param source the client that obtained the intial reference
* @param instance the object to be released
*/
- public void release( Object source, Object instance )
+ public void release( Object instance )
{
if( instance == null ) return;
- if( source == null ) throw new NullPointerException( "source" );
-
if( !m_deployment.isEnabled() ) return;
+ releaseInstance( getProviderInstance( instance ) );
+ m_lifestyle.release( instance );
+ }
+
+ private void accessInstance( Object instance ) throws Exception
+ {
+ applyAccessStages( instance, true );
+ }
+ private void releaseInstance( Object instance )
+ {
try
{
applyAccessStages( instance, false );
@@ -605,66 +604,25 @@
REZ.getString( "lifestyle.release.warning" );
getLogger().warn( error, e );
}
- finally
- {
- m_lifestyle.release( source, instance );
- }
}
- //-------------------------------------------------------------------
- // Factory
- //-------------------------------------------------------------------
- /**
- * Create a new fully deployed instance of the type managed by the
- * appliance.
- *
- * @return the deployed component instance
- * @exception LifecycleException if an error while processing
- * the component though its deployment lifecycle
- */
- public Object newInstance() throws LifecycleException
+ private Object getProviderInstance( Object instance )
{
- Class clazz = m_model.getDeploymentClass();
- Object instance = null;
- try
+ if( Proxy.isProxyClass( instance.getClass() ) )
{
- instance = createNewInstance( clazz );
- if( getLogger().isDebugEnabled() )
- {
- int id = System.identityHashCode( instance );
- getLogger().debug( "new instance: " + id );
- }
-
- applyLogger( instance );
- applyContext( instance );
- applyServices( instance );
- applyConfiguration( instance );
- applyParameters( instance );
- applyCreateStages( instance, true );
- applyInitialization( instance );
- applyStart( instance );
-
- if( getLogger().isDebugEnabled() )
- {
- int id = System.identityHashCode( instance );
- getLogger().debug( "established: " + id );
- }
-
- return instance;
+ ApplianceInvocationHandler handler =
+ (ApplianceInvocationHandler) Proxy.getInvocationHandler( instance );
+ return handler.getInstance();
}
- catch( Throwable e )
+ else
{
- destroy( instance );
- final String error =
- REZ.getString( "lifestyle.new.error", m_model.getQualifiedName() );
- throw new LifecycleException( error, e );
+ return instance;
}
}
- public void destroy( Object instance )
+ private void destroyInstance( Object instance )
{
- if( instance == null ) return;
final int id = System.identityHashCode( instance );
getLogger().debug( "component disposal: " + id );
try
@@ -677,10 +635,7 @@
{
getLogger().warn( "ignoring release stage error", e );
}
- finally
- {
- getLogger().debug( "destroyed instance: " + id );
- }
+ getLogger().debug( "destroyed instance: " + id );
}
//-------------------------------------------------------------------
@@ -825,7 +780,11 @@
throws Exception
{
StageDescriptor[] stages = m_model.getType().getStages();
- getLogger().debug( "stage count: " + stages.length );
+ if( ( stages.length > 0 ) && getLogger().isDebugEnabled() )
+ {
+ getLogger().debug( "stage count: " + stages.length );
+ }
+
for( int i=0; i<stages.length; i++ )
{
StageDescriptor stage = stages[i];
@@ -841,7 +800,7 @@
if( Creator.class.isAssignableFrom( c ) )
{
- Creator handler = (Creator) provider.resolve( this );
+ Creator handler = (Creator) provider.resolve();
Context context = m_model.getContextModel().getContext();
try
{
@@ -880,14 +839,14 @@
}
finally
{
- provider.release( this, handler );
+ provider.release( handler );
}
}
if( flag && LifecycleCreateExtension.class.isAssignableFrom( c ) )
{
LifecycleCreateExtension handler =
- (LifecycleCreateExtension) provider.resolve( this );
+ (LifecycleCreateExtension) provider.resolve();
try
{
if( getLogger().isDebugEnabled() )
@@ -899,13 +858,13 @@
}
finally
{
- provider.release( this, handler );
+ provider.release( handler );
}
}
else if( !flag && LifecycleDestroyExtension.class.isAssignableFrom( c ) )
{
LifecycleDestroyExtension handler =
- (LifecycleDestroyExtension) provider.resolve( this );
+ (LifecycleDestroyExtension) provider.resolve();
try
{
@@ -927,7 +886,7 @@
}
finally
{
- provider.release( this, handler );
+ provider.release( handler );
}
}
}
@@ -950,7 +909,7 @@
Class c = ((DeploymentModel)provider.getModel()).getDeploymentClass();
if( Accessor.class.isAssignableFrom( c ) )
{
- Accessor handler = (Accessor) provider.resolve( this );
+ Accessor handler = (Accessor) provider.resolve();
try
{
Context context = m_model.getContextModel().getContext();
@@ -990,7 +949,7 @@
}
finally
{
- provider.release( this, handler );
+ provider.release( handler );
}
}
}
@@ -1133,7 +1092,7 @@
try
{
- return (ContextualizationHandler) appliance.resolve( this );
+ return (ContextualizationHandler) appliance.resolve();
}
catch( Throwable e )
{
@@ -1150,19 +1109,19 @@
Logger log = getLogger();
if( lifestyle.equals( InfoDescriptor.SINGLETON ) )
{
- return new SingletonLifestyleHandler( log, this );
+ return new SingletonLifestyleHandler( log, m_factory );
}
else if( lifestyle.equals( InfoDescriptor.THREAD ) )
{
- return new ThreadLifestyleHandler( log, this );
+ return new ThreadLifestyleHandler( log, m_factory );
}
else if( lifestyle.equals( InfoDescriptor.POOLED ) )
{
- return new PooledLifestyleHandler( log, this );
+ return new PooledLifestyleHandler( log, m_factory );
}
else
{
- return new TransientLifestyleHandler( log, this );
+ return new TransientLifestyleHandler( log, m_factory );
}
}
@@ -1183,4 +1142,165 @@
//
}
+ private Object createProvider( Object instance ) throws ApplianceException
+ {
+ Class[] classes = m_model.getInterfaces();
+ try
+ {
+ ApplianceInvocationHandler handler =
+ new ApplianceInvocationHandler( instance );
+ return Proxy.newProxyInstance(
+ m_model.getDeploymentClass().getClassLoader(),
+ classes,
+ handler );
+ }
+ catch( Throwable e )
+ {
+ final String error =
+ "Proxy establishment failure in block: " + this;
+ throw new ApplianceException( error, e );
+ }
+ }
+
+ /**
+ * This makes a dynamic proxy for an object. The object can be represented
+ * by one, some or all of it's interfaces.
+ *
+ */
+ private final class ApplianceInvocationHandler
+ implements InvocationHandler
+ {
+ private final Object m_instance;
+ private boolean m_disposed = false;
+
+ /**
+ * Create a proxy invocation handler.
+ *
+ * @param instance the underlying provider
+ */
+ protected ApplianceInvocationHandler( Object instance )
+ {
+ m_instance = instance;
+ }
+
+ /**
+ * Invoke the specified method on underlying object.
+ * This is called by the proxy object.
+ *
+ * @param proxy the proxy object
+ * @param method the method invoked on proxy object
+ * @param args the arguments supplied to method
+ * @return the return value of method
+ * @throws Throwable if an error occurs
+ */
+ public Object invoke( final Object proxy,
+ final Method method,
+ final Object[] args )
+ throws Throwable
+ {
+ if( proxy == null ) throw new NullPointerException( "proxy" );
+ if( method == null ) throw new NullPointerException( "method" );
+ if( m_disposed ) throw new IllegalStateException( "disposed" );
+
+ try
+ {
+ return method.invoke( m_instance, args );
+ }
+ catch( InvocationTargetException e )
+ {
+ final String error =
+ "Delegation error raised by component: " + m_model.getQualifiedName();
+ throw new ApplianceException( error, e.getTargetException() );
+ }
+ catch( Throwable e )
+ {
+ final String error =
+ "Service resolution failure for the component: '"
+ + method.getDeclaringClass()
+ + "' for operation: '" + method.getName()
+ + "' in appliance: " + m_model.getQualifiedName();
+ throw new ApplianceException( error, e );
+ }
+ }
+
+ protected void finalize() throws Throwable
+ {
+ if( !m_disposed )
+ {
+ release( m_instance );
+ }
+ }
+
+ Object getInstance()
+ {
+ return m_instance;
+ }
+ }
+
+ private class StandardFactory implements Factory
+ {
+ /**
+ * Create a new instance of a component.
+ *
+ * @exception LifecycleException
+ */
+ public Object newInstance() throws LifecycleException
+ {
+ Class clazz = m_model.getDeploymentClass();
+ Object instance = null;
+ try
+ {
+ instance = createNewInstance( clazz );
+ if( getLogger().isDebugEnabled() )
+ {
+ int id = System.identityHashCode( instance );
+ getLogger().debug( "new instance: " + id );
+ }
+
+ applyLogger( instance );
+ applyContext( instance );
+ applyServices( instance );
+ applyConfiguration( instance );
+ applyParameters( instance );
+ applyCreateStages( instance, true );
+ applyInitialization( instance );
+ applyStart( instance );
+
+ if( getLogger().isDebugEnabled() )
+ {
+ int id = System.identityHashCode( instance );
+ getLogger().debug( "established: " + id );
+ }
+ }
+ catch( Throwable e )
+ {
+ final String error =
+ REZ.getString( "lifestyle.new.error", m_model.getQualifiedName() );
+ throw new LifecycleException( error, e );
+ }
+
+ try
+ {
+ return createProvider( instance );
+ }
+ catch( Throwable e )
+ {
+ final String error =
+ "Proxy establishment failure.";
+ getLogger().error( error );
+ throw new LifecycleException( error, e );
+ }
+ }
+
+ /**
+ * Decommission and dispose of the supplied component.
+ *
+ * @param instance the object to decommission
+ */
+ public void destroy( Object instance )
+ {
+ if( instance == null ) throw new NullPointerException( "instance" );
+ destroyInstance( getProviderInstance( instance ) );
+ }
+ }
}
1.3 +19 -35 avalon/merlin/activation/impl/src/java/org/apache/avalon/activation/appliance/impl/DefaultBlock.java
Index: DefaultBlock.java
===================================================================
RCS file: /home/cvs/avalon/merlin/activation/impl/src/java/org/apache/avalon/activation/appliance/impl/DefaultBlock.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- DefaultBlock.java 7 Oct 2003 17:42:55 -0000 1.2
+++ DefaultBlock.java 17 Oct 2003 03:26:28 -0000 1.3
@@ -226,17 +226,17 @@
* @param dependency the dependency model
* @return the appliance
*/
- public Appliance resolveAppliance( DependencyModel dependency )
+ public Appliance locate( DependencyModel dependency )
throws Exception
{
final String path = dependency.getPath();
if( path != null )
{
- return resolveAppliance( path );
+ return locate( path );
}
else
{
- return resolveAppliance( dependency.getDependency() );
+ return locate( dependency.getDependency() );
}
}
@@ -248,7 +248,7 @@
* for the supplied dependency
* @exception Exception if an error occurs
*/
- public Appliance resolveAppliance( DependencyDescriptor dependency )
+ public Appliance locate( DependencyDescriptor dependency )
throws Exception
{
if( getLogger().isDebugEnabled() )
@@ -287,7 +287,7 @@
if( m_engine != null )
{
- return m_engine.resolveAppliance( dependency );
+ return m_engine.locate( dependency );
}
else
{
@@ -301,17 +301,17 @@
* @param stage the stage model
* @return the appliance
*/
- public Appliance resolveAppliance( StageModel stage )
+ public Appliance locate( StageModel stage )
throws Exception
{
final String path = stage.getPath();
if( path != null )
{
- return resolveAppliance( path );
+ return locate( path );
}
else
{
- return resolveAppliance( stage.getStage() );
+ return locate( stage.getStage() );
}
}
@@ -323,7 +323,7 @@
* for the supplied stage
* @exception Exception if an error occurs
*/
- public Appliance resolveAppliance( StageDescriptor stage )
+ public Appliance locate( StageDescriptor stage )
throws NoProviderDefinitionException, Exception
{
if( getLogger().isDebugEnabled() )
@@ -360,7 +360,7 @@
if( m_engine != null )
{
- return m_engine.resolveAppliance( stage );
+ return m_engine.locate( stage );
}
else
{
@@ -375,7 +375,7 @@
* @return the appliance
* @exception Exception if an error occurs
*/
- public Appliance resolveAppliance( String source )
+ public Appliance locate( String source )
throws Exception
{
String path = source;
@@ -413,7 +413,7 @@
Appliance child = m_repository.getLocalAppliance( root );
if( child instanceof Engine )
{
- return ((Engine)child).resolveAppliance( path );
+ return ((Engine)child).locate( path );
}
else
{
@@ -437,7 +437,7 @@
if( m_engine != null )
{
- return m_engine.resolveAppliance( path );
+ return m_engine.locate( path );
}
else
{
@@ -694,24 +694,10 @@
/**
* Resolve a object to a value.
*
- * @param consumer the consumer
* @return the resolved object
* @throws Exception if an error occurs
*/
- public Object resolve( Object consumer ) throws Exception
- {
- return resolve( consumer, new Class[0] );
- }
-
- /**
- * Resolve a object to a value qualified by a supplied service reference.
- *
- * @param source the context within the the resolution is applied
- * @param ref the requested service interfaces
- * @return the resolved object
- * @throws Exception if an error occurs
- */
- public Object resolve( Object source, Class[] ref ) throws Exception
+ public Object resolve() throws Exception
{
return m_proxy;
}
@@ -719,14 +705,12 @@
/**
* Release an object
*
- * @param source the client that obtained the intial reference
* @param instance the object to be released
*/
- public void release( Object source, Object instance )
+ public void release( Object instance )
{
//
- // TODO: propergate the release to the object
- // actually providing the service
+ // container proxy is a singleton reference
//
}
@@ -1016,7 +1000,7 @@
m_model.getExportDirective( method.getDeclaringClass() );
String path = service.getPath();
- Appliance provider = (Appliance) m_block.resolveAppliance( path );
+ Appliance provider = (Appliance) m_block.locate( path );
m_logger.debug( "delegating: " + method.getName() );
//
@@ -1026,7 +1010,7 @@
try
{
- Object object = provider.resolve( this );
+ Object object = provider.resolve();
return method.invoke( object, args );
}
catch( InvocationTargetException e )
1.2 +5 -4 avalon/merlin/activation/impl/src/java/org/apache/avalon/activation/appliance/impl/DefaultServiceManager.java
Index: DefaultServiceManager.java
===================================================================
RCS file: /home/cvs/avalon/merlin/activation/impl/src/java/org/apache/avalon/activation/appliance/impl/DefaultServiceManager.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- DefaultServiceManager.java 24 Sep 2003 09:30:43 -0000 1.1
+++ DefaultServiceManager.java 17 Oct 2003 03:26:28 -0000 1.2
@@ -58,13 +58,14 @@
import java.util.Hashtable;
import org.apache.avalon.activation.appliance.Appliance;
+import org.apache.avalon.activation.appliance.ApplianceException;
+import org.apache.avalon.activation.appliance.ApplianceRuntimeException;
import org.apache.avalon.activation.appliance.Home;
import org.apache.avalon.composition.util.ExceptionHelper;
import org.apache.avalon.framework.logger.Logger;
import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.avalon.framework.service.ServiceException;
import org.apache.avalon.framework.service.ServiceManager;
-import org.apache.avalon.meta.info.DependencyDescriptor;
/**
* Default implementation of the framework {@link ServiceManager} interface.
@@ -141,10 +142,10 @@
throw new ServiceException( key, error );
}
- Home provider = (Home) m_map.get( key );
+ Appliance provider = (Appliance) m_map.get( key );
try
{
- Object object = provider.resolve( this );
+ Object object = provider.resolve();
String id = "" + System.identityHashCode( object );
m_table.put( id, key );
final String message =
@@ -202,7 +203,7 @@
try
{
- provider.release( this, object );
+ provider.release( object );
final String message =
"released service [" + id + "] from the key [" + key + "].";
getLogger().debug( message );
1.2 +1 -13 avalon/merlin/activation/impl/src/java/org/apache/avalon/activation/lifestyle/impl/AbstractLifestyleHandler.java
Index: AbstractLifestyleHandler.java
===================================================================
RCS file: /home/cvs/avalon/merlin/activation/impl/src/java/org/apache/avalon/activation/lifestyle/impl/AbstractLifestyleHandler.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AbstractLifestyleHandler.java 24 Sep 2003 09:30:44 -0000 1.1
+++ AbstractLifestyleHandler.java 17 Oct 2003 03:26:28 -0000 1.2
@@ -73,16 +73,4 @@
enableLogging( logger );
}
- /**
- * Resolve a object to a value.
- *
- * @param source the context within the the resolution is applied
- * @return the resolved object
- * @throws Exception if an error occurs
- */
- public Object resolve( Object source ) throws Exception
- {
- return resolve( source, new Class[0] );
- }
-
}
1.2 +6 -8 avalon/merlin/activation/impl/src/java/org/apache/avalon/activation/lifestyle/impl/PooledLifestyleHandler.java
Index: PooledLifestyleHandler.java
===================================================================
RCS file: /home/cvs/avalon/merlin/activation/impl/src/java/org/apache/avalon/activation/lifestyle/impl/PooledLifestyleHandler.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- PooledLifestyleHandler.java 24 Sep 2003 09:30:45 -0000 1.1
+++ PooledLifestyleHandler.java 17 Oct 2003 03:26:28 -0000 1.2
@@ -69,24 +69,22 @@
* Resolve a object to a value relative to a supplied set of
* interface classes.
*
- * @param source the aquiring source
- * @param ref the castable service classes
* @return the resolved object
* @throws Exception if an error occurs
*/
- public Object resolve( Object source, Class[] ref ) throws Exception
+ public Object resolve() throws Exception
{
throw new UnsupportedOperationException();
}
/**
- * Release an object. The abstract implementation does nothing,
+ * Release an object.
*
- * @param source the context with respect the reclaimed object is qualified
- * @param object the object to be reclaimed
+ * @param instance the object to be reclaimed
*/
- public void release( Object source, Object object )
+ public void release( Object instance )
{
+ throw new UnsupportedOperationException();
}
}
1.2 +8 -8 avalon/merlin/activation/impl/src/java/org/apache/avalon/activation/lifestyle/impl/SingletonLifestyleHandler.java
Index: SingletonLifestyleHandler.java
===================================================================
RCS file: /home/cvs/avalon/merlin/activation/impl/src/java/org/apache/avalon/activation/lifestyle/impl/SingletonLifestyleHandler.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SingletonLifestyleHandler.java 24 Sep 2003 09:30:47 -0000 1.1
+++ SingletonLifestyleHandler.java 17 Oct 2003 03:26:28 -0000 1.2
@@ -50,6 +50,8 @@
package org.apache.avalon.activation.lifestyle.impl;
+import java.lang.ref.WeakReference;
+
import org.apache.avalon.activation.lifecycle.Factory;
import org.apache.avalon.framework.activity.Disposable;
import org.apache.avalon.framework.logger.Logger;
@@ -76,12 +78,10 @@
* Resolve a object to a value relative to a supplied set of
* interface classes.
*
- * @param source the aquiring source
- * @param ref the castable service classes
* @return the resolved object
* @throws Exception if an error occurs
*/
- public Object resolve( Object source, Class[] ref ) throws Exception
+ public Object resolve() throws Exception
{
//
// TODO: Add support for ref handling - first off
@@ -99,13 +99,13 @@
}
/**
- * Release an object. The abstract implementation does nothing,
+ * Release an object.
*
- * @param source the context with respect the reclaimed object is qualified
- * @param object the object to be reclaimed
+ * @param instance the object to be released
*/
- public void release( Object source, Object object )
+ public void release( Object instance )
{
+ // don't release the singleton
}
/**
1.2 +5 -7 avalon/merlin/activation/impl/src/java/org/apache/avalon/activation/lifestyle/impl/ThreadLifestyleHandler.java
Index: ThreadLifestyleHandler.java
===================================================================
RCS file: /home/cvs/avalon/merlin/activation/impl/src/java/org/apache/avalon/activation/lifestyle/impl/ThreadLifestyleHandler.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ThreadLifestyleHandler.java 24 Sep 2003 09:30:47 -0000 1.1
+++ ThreadLifestyleHandler.java 17 Oct 2003 03:26:28 -0000 1.2
@@ -104,12 +104,10 @@
* Resolve a object to a value relative to a supplied set of
* interface classes.
*
- * @param source the aquiring source
- * @param ref the castable service classes
* @return the resolved object
* @throws Exception if an error occurs
*/
- public Object resolve( Object source, Class[] ref ) throws Exception
+ public Object resolve() throws Exception
{
if( m_local == null )
{
@@ -121,11 +119,11 @@
/**
* Release an object. The abstract implementation does nothing,
*
- * @param source the context with respect the reclaimed object is qualified
- * @param object the object to be reclaimed
+ * @param instance the object to be reclaimed
*/
- public void release( Object source, Object object )
+ public void release( Object instance )
{
+ // don't release
}
/**
1.2 +26 -16 avalon/merlin/activation/impl/src/java/org/apache/avalon/activation/lifestyle/impl/TransientLifestyleHandler.java
Index: TransientLifestyleHandler.java
===================================================================
RCS file: /home/cvs/avalon/merlin/activation/impl/src/java/org/apache/avalon/activation/lifestyle/impl/TransientLifestyleHandler.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- TransientLifestyleHandler.java 24 Sep 2003 09:30:48 -0000 1.1
+++ TransientLifestyleHandler.java 17 Oct 2003 03:26:28 -0000 1.2
@@ -50,6 +50,9 @@
package org.apache.avalon.activation.lifestyle.impl;
+import java.lang.ref.WeakReference;
+import java.lang.ref.ReferenceQueue;
+
import java.util.ArrayList;
import org.apache.avalon.activation.lifecycle.Factory;
@@ -64,7 +67,8 @@
{
private final Factory m_factory;
- // TODO: change this to weak references
+ private final ReferenceQueue m_queue = new ReferenceQueue();
+
private ArrayList m_list = new ArrayList();
public TransientLifestyleHandler( Logger logger, Factory factory )
@@ -77,28 +81,29 @@
* Resolve a object to a value relative to a supplied set of
* interface classes.
*
- * @param source the aquiring source
- * @param ref the castable service classes
* @return the resolved object
* @throws Exception if an error occurs
*/
- public Object resolve( Object source, Class[] ref ) throws Exception
+ public Object resolve() throws Exception
{
+ // TODO: setup a background thread to check m_queue for
+ // released references and remove them from our list, otherwise we
+ // have a memory leak due to accumulation of weak references
+
Object instance = m_factory.newInstance();
- m_list.add( instance );
+ WeakReference reference = new WeakReference( instance, m_queue );
+ m_list.add( reference );
return instance;
}
/**
- * Release an object. The abstract implementation does nothing,
+ * Release an object.
*
- * @param source the context with respect the reclaimed object is qualified
- * @param object the object to be reclaimed
+ * @param instance the object to be reclaimed
*/
- public void release( Object source, Object object )
+ public void release( Object instance )
{
- m_list.remove( object );
- m_factory.destroy( object );
+ m_factory.destroy( instance );
}
/**
@@ -106,12 +111,17 @@
*/
public synchronized void dispose()
{
- Object[] instances = m_list.toArray();
- for( int i=0; i<instances.length; i++ )
+ WeakReference[] refs = (WeakReference[]) m_list.toArray( new WeakReference[0] );
+ for( int i=0; i<refs.length; i++ )
{
- m_factory.destroy( instances[i] );
+ WeakReference ref = refs[i];
+ Object instance = ref.get();
+ if( instance != null )
+ {
+ m_factory.destroy( instance );
+ ref.clear();
+ }
}
m_list.clear();
}
-
}
1.2 +1 -1 avalon/merlin/activation/impl/src/test/org/apache/avalon/activation/appliance/AbstractTestCase.java
Index: AbstractTestCase.java
===================================================================
RCS file: /home/cvs/avalon/merlin/activation/impl/src/test/org/apache/avalon/activation/appliance/AbstractTestCase.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AbstractTestCase.java 24 Sep 2003 09:30:48 -0000 1.1
+++ AbstractTestCase.java 17 Oct 2003 03:26:28 -0000 1.2
@@ -95,7 +95,7 @@
File local = new File( base, "repository" );
SystemContext system =
DefaultSystemContext.createSystemContext(
- base, local, ConsoleLogger.LEVEL_ERROR );
+ base, local, ConsoleLogger.LEVEL_DEBUG );
m_logger = system.getLogger();
//
1.2 +1 -1 avalon/merlin/activation/impl/src/test/org/apache/avalon/playground/ExploitationManager.xinfo
Index: ExploitationManager.xinfo
===================================================================
RCS file: /home/cvs/avalon/merlin/activation/impl/src/test/org/apache/avalon/playground/ExploitationManager.xinfo,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ExploitationManager.xinfo 24 Sep 2003 09:30:53 -0000 1.1
+++ ExploitationManager.xinfo 17 Oct 2003 03:26:28 -0000 1.2
@@ -28,7 +28,7 @@
Declaration of the lifecycle support phases that this manager provides.
-->
<extensions>
- <extension type="org.apache.avalon.playground.Exploitable" />
+ <extension id="urn:avalon.playground:exploitable" />
</extensions>
</type>
1.2 +1 -1 avalon/merlin/activation/impl/src/test/org/apache/avalon/playground/SimpleComponent.xinfo
Index: SimpleComponent.xinfo
===================================================================
RCS file: /home/cvs/avalon/merlin/activation/impl/src/test/org/apache/avalon/playground/SimpleComponent.xinfo,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SimpleComponent.xinfo 24 Sep 2003 09:30:54 -0000 1.1
+++ SimpleComponent.xinfo 17 Oct 2003 03:26:28 -0000 1.2
@@ -44,7 +44,7 @@
the container has to manage.
-->
<stages>
- <stage type="org.apache.avalon.playground.Exploitable" />
+ <stage id="urn:avalon.playground:exploitable" />
<stage id="urn:avalon.playground:demonstratable"/>
</stages>
1.2 +5 -5 avalon/merlin/activation/spi/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/avalon/merlin/activation/spi/project.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- project.xml 24 Sep 2003 09:30:56 -0000 1.1
+++ project.xml 17 Oct 2003 03:26:28 -0000 1.2
@@ -8,7 +8,7 @@
<id>avalon-activation-spi</id>
<name>Avalon Activation SPI</name>
<package>org.apache.avalon.activation</package>
- <currentVersion>1.0b1</currentVersion>
+ <currentVersion>1.1-dev</currentVersion>
<inceptionYear>2002</inceptionYear>
<shortDescription>Activation Service Provider Interface</shortDescription>
@@ -35,24 +35,24 @@
<dependency>
<groupId>avalon-meta</groupId>
<artifactId>avalon-meta-api</artifactId>
- <version>1.1</version>
+ <version>1.2-dev</version>
</dependency>
<dependency>
<groupId>avalon-meta</groupId>
<artifactId>avalon-meta-spi</artifactId>
- <version>1.1</version>
+ <version>1.2-dev</version>
</dependency>
<dependency>
<groupId>avalon-composition</groupId>
<artifactId>avalon-composition-api</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
<dependency>
<groupId>avalon-activation</groupId>
<artifactId>avalon-activation-api</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
<dependency>
1.2 +17 -4 avalon/merlin/activation/spi/src/java/org/apache/avalon/activation/lifestyle/LifestyleHandler.java
Index: LifestyleHandler.java
===================================================================
RCS file: /home/cvs/avalon/merlin/activation/spi/src/java/org/apache/avalon/activation/lifestyle/LifestyleHandler.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- LifestyleHandler.java 24 Sep 2003 09:31:00 -0000 1.1
+++ LifestyleHandler.java 17 Oct 2003 03:26:29 -0000 1.2
@@ -50,14 +50,27 @@
package org.apache.avalon.activation.lifestyle;
-import org.apache.avalon.activation.appliance.Home;
-
/**
* A lifestyle handler provides support for a particular lifestyle policy.
*
* @author <a href="mailto:dev@avalon.apache.org">Avalon Development Team</a>
* @version $Revision$ $Date$
*/
-public interface LifestyleHandler extends Home
+public interface LifestyleHandler
{
+ /**
+ * Resolve a object to a value.
+ *
+ * @return the resolved object
+ * @throws Exception if an error occurs
+ */
+ Object resolve() throws Exception;
+
+ /**
+ * Release an object
+ *
+ * @param instance the object to be released
+ */
+ void release( Object instance );
+
}
1.2 +3 -3 avalon/merlin/composition/api/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/avalon/merlin/composition/api/project.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- project.xml 24 Sep 2003 09:31:00 -0000 1.1
+++ project.xml 17 Oct 2003 03:26:29 -0000 1.2
@@ -8,7 +8,7 @@
<id>avalon-composition-api</id>
<name>Avalon Composition API</name>
<package>org.apache.avalon.assembly</package>
- <currentVersion>1.0b1</currentVersion>
+ <currentVersion>1.1-dev</currentVersion>
<inceptionYear>2002</inceptionYear>
<shortDescription>Avalon Composition SPI</shortDescription>
@@ -34,12 +34,12 @@
<dependency>
<groupId>avalon-meta</groupId>
<artifactId>avalon-meta-api</artifactId>
- <version>1.1</version>
+ <version>1.2-dev</version>
</dependency>
<dependency>
<groupId>avalon-meta</groupId>
<artifactId>avalon-meta-spi</artifactId>
- <version>1.1</version>
+ <version>1.2-dev</version>
</dependency>
<dependency>
1.2 +8 -1 avalon/merlin/composition/api/src/java/org/apache/avalon/composition/model/DeploymentModel.java
Index: DeploymentModel.java
===================================================================
RCS file: /home/cvs/avalon/merlin/composition/api/src/java/org/apache/avalon/composition/model/DeploymentModel.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- DeploymentModel.java 24 Sep 2003 09:31:17 -0000 1.1
+++ DeploymentModel.java 17 Oct 2003 03:26:29 -0000 1.2
@@ -208,4 +208,11 @@
*/
StageModel[] getStageModels();
+ /**
+ * Return the set of services produced by the model as a array of classes.
+ *
+ * @return the service classes
+ */
+ Class[] getInterfaces();
+
}
1.2 +7 -6 avalon/merlin/composition/impl/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/avalon/merlin/composition/impl/project.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- project.xml 24 Sep 2003 09:31:24 -0000 1.1
+++ project.xml 17 Oct 2003 03:26:29 -0000 1.2
@@ -8,7 +8,7 @@
<id>avalon-composition-impl</id>
<name>Avalon Composition Framework</name>
<package>org.apache.avalon.composition</package>
- <currentVersion>1.0b1</currentVersion>
+ <currentVersion>1.1-dev</currentVersion>
<inceptionYear>2002</inceptionYear>
<shortDescription>Avalon Composition Framework.</shortDescription>
@@ -38,31 +38,32 @@
<artifactId>avalon-framework-impl</artifactId>
<version>4.1.5</version>
</dependency>
+
<dependency>
<groupId>avalon-meta</groupId>
<artifactId>avalon-meta-api</artifactId>
- <version>1.1</version>
+ <version>1.2-dev</version>
</dependency>
<dependency>
<groupId>avalon-meta</groupId>
<artifactId>avalon-meta-spi</artifactId>
- <version>1.1</version>
+ <version>1.2-dev</version>
</dependency>
<dependency>
<groupId>avalon-meta</groupId>
<artifactId>avalon-meta-impl</artifactId>
- <version>1.1</version>
+ <version>1.2-dev</version>
</dependency>
<dependency>
<groupId>avalon-composition</groupId>
<artifactId>avalon-composition-api</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
<dependency>
<groupId>avalon-composition</groupId>
<artifactId>avalon-composition-spi</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
1.2 +9 -2 avalon/merlin/composition/impl/src/java/org/apache/avalon/composition/data/builder/XMLProfileCreator.java
Index: XMLProfileCreator.java
===================================================================
RCS file: /home/cvs/avalon/merlin/composition/impl/src/java/org/apache/avalon/composition/data/builder/XMLProfileCreator.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- XMLProfileCreator.java 24 Sep 2003 09:31:42 -0000 1.1
+++ XMLProfileCreator.java 17 Oct 2003 03:26:29 -0000 1.2
@@ -123,7 +123,14 @@
{
return true;
}
- return fallback ;
+ else if( string.equals( "lazy" ) || string.equals( "false" ) )
+ {
+ return false;
+ }
+ else
+ {
+ return fallback ;
+ }
}
public CategoriesDirective getCategoriesDirective(
1.2 +42 -1 avalon/merlin/composition/impl/src/java/org/apache/avalon/composition/model/impl/DefaultDeploymentModel.java
Index: DefaultDeploymentModel.java
===================================================================
RCS file: /home/cvs/avalon/merlin/composition/impl/src/java/org/apache/avalon/composition/model/impl/DefaultDeploymentModel.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- DefaultDeploymentModel.java 24 Sep 2003 09:32:09 -0000 1.1
+++ DefaultDeploymentModel.java 17 Oct 2003 03:26:29 -0000 1.2
@@ -269,6 +269,7 @@
return m_context.getType().getServices();
}
+
/**
* Return TRUE is this model is capable of supporting a supplied
* depedendency.
@@ -587,6 +588,45 @@
return m_stages;
}
+ /**
+ * Return the set of services produced by the model as a array of classes.
+ *
+ * @return the service classes
+ */
+ public Class[] getInterfaces()
+ {
+ //
+ // TODO: add a SoftReference to hold the service class array
+ // instad of generating each time
+ //
+
+ ClassLoader classLoader = m_context.getClassLoader();
+ ArrayList list = new ArrayList();
+ ServiceDescriptor[] services = getServices();
+ for( int i=0; i<services.length; i++ )
+ {
+ final ServiceDescriptor service = services[i];
+ final String classname = service.getReference().getClassname();
+ list.add( getComponentClass( classLoader, classname ) );
+ }
+
+ //
+ // if the component is an extension then add all implemented
+ // interfaces
+ //
+
+ if( getType().getExtensions().length > 0 )
+ {
+ Class[] interfaces = getDeploymentClass().getInterfaces();
+ for( int i=0; i<interfaces.length; i++ )
+ {
+ list.add( interfaces[i] );
+ }
+ }
+
+ return (Class[]) list.toArray( new Class[0] );
+ }
+
//==============================================================
// implementation
//==============================================================
@@ -615,6 +655,7 @@
{
Class contextualizable =
getComponentClass( classLoader, strategy );
+
if( contextualizable == null )
{
1.2 +4 -4 avalon/merlin/composition/spi/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/avalon/merlin/composition/spi/project.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- project.xml 24 Sep 2003 09:32:28 -0000 1.1
+++ project.xml 17 Oct 2003 03:26:29 -0000 1.2
@@ -8,7 +8,7 @@
<id>avalon-composition-spi</id>
<name>Avalon Composition SPI</name>
<package>org.apache.avalon.assembly</package>
- <currentVersion>1.0b1</currentVersion>
+ <currentVersion>1.1-dev</currentVersion>
<inceptionYear>2002</inceptionYear>
<shortDescription>Avalon Composition SPI</shortDescription>
@@ -34,12 +34,12 @@
<dependency>
<groupId>avalon-meta</groupId>
<artifactId>avalon-meta-api</artifactId>
- <version>1.1</version>
+ <version>1.2-dev</version>
</dependency>
<dependency>
<groupId>avalon-meta</groupId>
<artifactId>avalon-meta-spi</artifactId>
- <version>1.1</version>
+ <version>1.2-dev</version>
</dependency>
<dependency>
@@ -51,7 +51,7 @@
<dependency>
<groupId>avalon-composition</groupId>
<artifactId>avalon-composition-api</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
</dependencies>
1.5 +11 -11 avalon/merlin/kernel/bootstrap/src/etc/merlin.properties
Index: merlin.properties
===================================================================
RCS file: /home/cvs/avalon/merlin/kernel/bootstrap/src/etc/merlin.properties,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- merlin.properties 14 Oct 2003 10:55:57 -0000 1.4
+++ merlin.properties 17 Oct 2003 03:26:29 -0000 1.5
@@ -8,33 +8,33 @@
# the api classpath
#
merlin.api.classpath.0=avalon-framework:avalon-framework-api;4.1.5
-merlin.api.classpath.1=avalon-meta:avalon-meta-api;1.1
-merlin.api.classpath.2=avalon-composition:avalon-composition-api;1.0b1
-merlin.api.classpath.3=avalon-activation:avalon-activation-api;1.0b1
+merlin.api.classpath.1=avalon-meta:avalon-meta-api;1.2-dev
+merlin.api.classpath.2=avalon-composition:avalon-composition-api;1.1-dev
+merlin.api.classpath.3=avalon-activation:avalon-activation-api;1.1-dev
merlin.api.classpath.4=excalibur-lifecycle:excalibur-lifecycle-api;1.0
merlin.api.classpath.5=avalon-extension:avalon-extension-spi;1.0
-merlin.api.classpath.6=merlin:merlin-kernel-spi;3.1b2
+merlin.api.classpath.6=merlin:merlin-kernel-spi;3.2-dev
#
# the spi classpath
#
-merlin.spi.classpath.0=avalon-meta:avalon-meta-spi;1.1
-merlin.spi.classpath.1=avalon-composition:avalon-composition-spi;1.0b1
-merlin.spi.classpath.2=avalon-activation:avalon-activation-spi;1.0b1
+merlin.spi.classpath.0=avalon-meta:avalon-meta-spi;1.2-dev
+merlin.spi.classpath.1=avalon-composition:avalon-composition-spi;1.1-dev
+merlin.spi.classpath.2=avalon-activation:avalon-activation-spi;1.1-dev
merlin.spi.classpath.3=avalon-repository:avalon-repository-spi;1.0b1
#
# the bootstrap classpath
#
merlin.impl.classpath.0=avalon-framework:avalon-framework-impl;4.1.5
-merlin.impl.classpath.1=avalon-meta:avalon-meta-impl;1.1
+merlin.impl.classpath.1=avalon-meta:avalon-meta-impl;1.2-dev
merlin.impl.classpath.2=avalon-extension:avalon-extension-impl;1.0
-merlin.impl.classpath.3=avalon-composition:avalon-composition-impl;1.0b1
-merlin.impl.classpath.4=avalon-activation:avalon-activation-impl;1.0b1
+merlin.impl.classpath.3=avalon-composition:avalon-composition-impl;1.1-dev
+merlin.impl.classpath.4=avalon-activation:avalon-activation-impl;1.1-dev
merlin.impl.classpath.5=excalibur-i18n:excalibur-i18n;1.1
merlin.impl.classpath.6=avalon-repository:avalon-repository-impl;1.0b1
merlin.impl.classpath.7=commons-cli:commons-cli;1.0
-merlin.impl.classpath.8=merlin:merlin-kernel-impl;3.1b2
+merlin.impl.classpath.8=merlin:merlin-kernel-impl;3.2-dev
merlin.impl.classpath.9=logkit:logkit;1.2
merlin.impl.classpath.10=excalibur-event:excalibur-event;1.0.3
merlin.impl.classpath.11=excalibur-configuration:excalibur-configuration;1.1
1.4 +11 -11 avalon/merlin/kernel/impl/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/avalon/merlin/kernel/impl/project.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- project.xml 13 Oct 2003 01:28:26 -0000 1.3
+++ project.xml 17 Oct 2003 03:26:29 -0000 1.4
@@ -9,7 +9,7 @@
<name>Merlin Kernel Implementation</name>
<package>org.apache.avalon.merlin</package>
- <currentVersion>3.1b2</currentVersion>
+ <currentVersion>3.2-dev</currentVersion>
<inceptionYear>2002</inceptionYear>
<shortDescription>Merlin Kernel Implementation</shortDescription>
@@ -37,7 +37,7 @@
<dependency>
<groupId>merlin</groupId>
<artifactId>merlin-kernel-spi</artifactId>
- <version>3.1b2</version>
+ <version>3.2-dev</version>
</dependency>
<!-- avalon dependecies -->
@@ -45,17 +45,17 @@
<dependency>
<groupId>avalon-activation</groupId>
<artifactId>avalon-activation-api</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
<dependency>
<groupId>avalon-activation</groupId>
<artifactId>avalon-activation-spi</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
<dependency>
<groupId>avalon-activation</groupId>
<artifactId>avalon-activation-impl</artifactId>
- <version>1.0b2</version>
+ <version>1.1-dev</version>
</dependency>
<dependency>
@@ -72,33 +72,33 @@
<dependency>
<groupId>avalon-composition</groupId>
<artifactId>avalon-composition-api</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
<dependency>
<groupId>avalon-composition</groupId>
<artifactId>avalon-composition-spi</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
<dependency>
<groupId>avalon-composition</groupId>
<artifactId>avalon-composition-impl</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
<dependency>
<groupId>avalon-meta</groupId>
<artifactId>avalon-meta-api</artifactId>
- <version>1.1</version>
+ <version>1.2-dev</version>
</dependency>
<dependency>
<groupId>avalon-meta</groupId>
<artifactId>avalon-meta-spi</artifactId>
- <version>1.1</version>
+ <version>1.2-dev</version>
</dependency>
<dependency>
<groupId>avalon-meta</groupId>
<artifactId>avalon-meta-impl</artifactId>
- <version>1.1</version>
+ <version>1.2-dev</version>
</dependency>
<dependency>
1.5 +2 -2 avalon/merlin/kernel/impl/src/java/org/apache/avalon/merlin/kernel/impl/DefaultKernel.java
Index: DefaultKernel.java
===================================================================
RCS file: /home/cvs/avalon/merlin/kernel/impl/src/java/org/apache/avalon/merlin/kernel/impl/DefaultKernel.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- DefaultKernel.java 13 Oct 2003 01:28:26 -0000 1.4
+++ DefaultKernel.java 17 Oct 2003 03:26:29 -0000 1.5
@@ -402,7 +402,7 @@
if( !m_self.isEnabled() ) throw new IllegalStateException( "kernel" );
try
{
- return (Block) m_block.resolveAppliance( model.getQualifiedName() );
+ return (Block) m_block.locate( model.getQualifiedName() );
}
catch( Throwable e )
{
1.3 +2 -2 avalon/merlin/kernel/impl/src/java/org/apache/avalon/merlin/kernel/impl/DefaultLoader.java
Index: DefaultLoader.java
===================================================================
RCS file: /home/cvs/avalon/merlin/kernel/impl/src/java/org/apache/avalon/merlin/kernel/impl/DefaultLoader.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- DefaultLoader.java 13 Oct 2003 01:28:26 -0000 1.2
+++ DefaultLoader.java 17 Oct 2003 03:26:29 -0000 1.3
@@ -145,14 +145,14 @@
try
{
- Appliance appliance = m_kernel.getRootBlock().resolveAppliance( path );
+ Appliance appliance = m_kernel.getRootBlock().locate( path );
if( appliance == null )
{
final String problem =
"Unknown appliance: " + path;
throw new IllegalArgumentException( problem );
}
- return appliance.resolve( this );
+ return appliance.resolve();
}
catch( Throwable e )
{
1.5 +11 -11 avalon/merlin/kernel/plugin/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/avalon/merlin/kernel/plugin/project.xml,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- project.xml 13 Oct 2003 01:28:26 -0000 1.4
+++ project.xml 17 Oct 2003 03:26:29 -0000 1.5
@@ -30,44 +30,44 @@
<dependency>
<groupId>merlin</groupId>
<artifactId>merlin-kernel-spi</artifactId>
- <version>3.1b2</version>
+ <version>3.2-dev</version>
</dependency>
<dependency>
<groupId>merlin</groupId>
<artifactId>merlin-kernel-impl</artifactId>
- <version>3.1b2</version>
+ <version>3.2-dev</version>
</dependency>
<dependency>
<groupId>avalon-activation</groupId>
<artifactId>avalon-activation-api</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
<dependency>
<groupId>avalon-activation</groupId>
<artifactId>avalon-activation-spi</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
<dependency>
<groupId>avalon-activation</groupId>
<artifactId>avalon-activation-impl</artifactId>
- <version>1.0b2</version>
+ <version>1.1-dev</version>
</dependency>
<dependency>
<groupId>avalon-composition</groupId>
<artifactId>avalon-composition-api</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
<dependency>
<groupId>avalon-composition</groupId>
<artifactId>avalon-composition-spi</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
<dependency>
<groupId>avalon-composition</groupId>
<artifactId>avalon-composition-impl</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
<dependency>
@@ -84,17 +84,17 @@
<dependency>
<groupId>avalon-meta</groupId>
<artifactId>avalon-meta-api</artifactId>
- <version>1.1</version>
+ <version>1.2-dev</version>
</dependency>
<dependency>
<groupId>avalon-meta</groupId>
<artifactId>avalon-meta-spi</artifactId>
- <version>1.1</version>
+ <version>1.2-dev</version>
</dependency>
<dependency>
<groupId>avalon-meta</groupId>
<artifactId>avalon-meta-impl</artifactId>
- <version>1.1</version>
+ <version>1.2-dev</version>
</dependency>
<dependency>
1.5 +3 -3 avalon/merlin/kernel/spi/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/avalon/merlin/kernel/spi/project.xml,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- project.xml 13 Oct 2003 01:28:26 -0000 1.4
+++ project.xml 17 Oct 2003 03:26:29 -0000 1.5
@@ -9,7 +9,7 @@
<name>Merlin Kernel SPI</name>
<package>org.apache.avalon.merlin</package>
- <currentVersion>3.1b2</currentVersion>
+ <currentVersion>3.2-dev</currentVersion>
<inceptionYear>2002</inceptionYear>
<shortDescription>Merlin Kernel SPI</shortDescription>
<description>
@@ -27,13 +27,13 @@
<dependency>
<groupId>avalon-composition</groupId>
<artifactId>avalon-composition-api</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
<dependency>
<groupId>avalon-activation</groupId>
<artifactId>avalon-activation-api</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
</dependencies>
1.2 +1 -5 avalon/merlin/kernel/spi/src/java/org/apache/avalon/merlin/kernel/Controller.java
Index: Controller.java
===================================================================
RCS file: /home/cvs/avalon/merlin/kernel/spi/src/java/org/apache/avalon/merlin/kernel/Controller.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Controller.java 24 Sep 2003 09:33:21 -0000 1.1
+++ Controller.java 17 Oct 2003 03:26:29 -0000 1.2
@@ -50,10 +50,6 @@
package org.apache.avalon.merlin.kernel;
-import java.net.URL;
-
-import org.apache.avalon.activation.appliance.Home;
-
/**
* The Controller interface defines a subset of management operations exposed by
* a kernel implementation.
1.8 +5 -5 avalon/merlin/kernel/unit/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/avalon/merlin/kernel/unit/project.xml,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- project.xml 13 Oct 2003 22:50:05 -0000 1.7
+++ project.xml 17 Oct 2003 03:26:29 -0000 1.8
@@ -6,7 +6,7 @@
<groupId>merlin</groupId>
<id>merlin-unit</id>
<name>Merlin Unit</name>
- <currentVersion>3.1-dev</currentVersion>
+ <currentVersion>3.2-dev</currentVersion>
<package>org.apache.avalon.merlin.unit</package>
<inceptionYear>2003</inceptionYear>
@@ -45,25 +45,25 @@
<dependency>
<groupId>avalon-meta</groupId>
<artifactId>avalon-meta-api</artifactId>
- <version>1.1</version>
+ <version>1.2-dev</version>
</dependency>
<dependency>
<groupId>avalon-composition</groupId>
<artifactId>avalon-composition-api</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
<dependency>
<groupId>avalon-activation</groupId>
<artifactId>avalon-activation-api</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
<dependency>
<groupId>merlin</groupId>
<artifactId>merlin-kernel-spi</artifactId>
- <version>3.1b2</version>
+ <version>3.2-dev</version>
</dependency>
<dependency>
1.4 +11 -11 avalon/merlin/kernel/unit/src/etc/merlin.properties
Index: merlin.properties
===================================================================
RCS file: /home/cvs/avalon/merlin/kernel/unit/src/etc/merlin.properties,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- merlin.properties 14 Oct 2003 10:55:57 -0000 1.3
+++ merlin.properties 17 Oct 2003 03:26:29 -0000 1.4
@@ -8,33 +8,33 @@
# the api classpath
#
merlin.api.classpath.0=avalon-framework:avalon-framework-api;4.1.5
-merlin.api.classpath.1=avalon-meta:avalon-meta-api;1.1
-merlin.api.classpath.2=avalon-composition:avalon-composition-api;1.0b1
-merlin.api.classpath.3=avalon-activation:avalon-activation-api;1.0b1
+merlin.api.classpath.1=avalon-meta:avalon-meta-api;1.2-dev
+merlin.api.classpath.2=avalon-composition:avalon-composition-api;1.1-dev
+merlin.api.classpath.3=avalon-activation:avalon-activation-api;1.1-dev
merlin.api.classpath.4=excalibur-lifecycle:excalibur-lifecycle-api;1.0
merlin.api.classpath.5=avalon-extension:avalon-extension-spi;1.0
-merlin.api.classpath.6=merlin:merlin-kernel-spi;3.1b2
+merlin.api.classpath.6=merlin:merlin-kernel-spi;3.2-dev
#
# the spi classpath
#
-merlin.spi.classpath.0=avalon-meta:avalon-meta-spi;1.1
-merlin.spi.classpath.1=avalon-composition:avalon-composition-spi;1.0b1
-merlin.spi.classpath.2=avalon-activation:avalon-activation-spi;1.0b1
+merlin.spi.classpath.0=avalon-meta:avalon-meta-spi;1.2-dev
+merlin.spi.classpath.1=avalon-composition:avalon-composition-spi;1.1-dev
+merlin.spi.classpath.2=avalon-activation:avalon-activation-spi;1.1-dev
merlin.spi.classpath.3=avalon-repository:avalon-repository-spi;1.0b1
#
# the bootstrap classpath
#
merlin.impl.classpath.0=avalon-framework:avalon-framework-impl;4.1.5
-merlin.impl.classpath.1=avalon-meta:avalon-meta-impl;1.1
+merlin.impl.classpath.1=avalon-meta:avalon-meta-impl;1.2-dev
merlin.impl.classpath.2=avalon-extension:avalon-extension-impl;1.0
-merlin.impl.classpath.3=avalon-composition:avalon-composition-impl;1.0b1
-merlin.impl.classpath.4=avalon-activation:avalon-activation-impl;1.0b1
+merlin.impl.classpath.3=avalon-composition:avalon-composition-impl;1.1-dev
+merlin.impl.classpath.4=avalon-activation:avalon-activation-impl;1.1-dev
merlin.impl.classpath.5=excalibur-i18n:excalibur-i18n;1.1
merlin.impl.classpath.6=avalon-repository:avalon-repository-impl;1.0b1
merlin.impl.classpath.7=commons-cli:commons-cli;1.0
-merlin.impl.classpath.8=merlin:merlin-kernel-impl;3.1b2
+merlin.impl.classpath.8=merlin:merlin-kernel-impl;3.2-dev
merlin.impl.classpath.9=logkit:logkit;1.2
merlin.impl.classpath.10=excalibur-event:excalibur-event;1.0.3
merlin.impl.classpath.11=excalibur-configuration:excalibur-configuration;1.1
1.8 +2 -2 avalon/merlin/kernel/unit/src/java/org/apache/avalon/merlin/unit/AbstractMerlinTestCase.java
Index: AbstractMerlinTestCase.java
===================================================================
RCS file: /home/cvs/avalon/merlin/kernel/unit/src/java/org/apache/avalon/merlin/unit/AbstractMerlinTestCase.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- AbstractMerlinTestCase.java 16 Oct 2003 04:03:14 -0000 1.7
+++ AbstractMerlinTestCase.java 17 Oct 2003 03:26:29 -0000 1.8
@@ -325,14 +325,14 @@
try
{
- Appliance appliance = m_block.resolveAppliance( path );
+ Appliance appliance = m_block.locate( path );
if( appliance == null )
{
final String problem =
"Unknown appliance: " + path;
throw new IllegalArgumentException( problem );
}
- return appliance.resolve( this );
+ return appliance.resolve();
}
catch( Throwable e )
{
1.5 +12 -12 avalon/merlin/platform.xml
Index: platform.xml
===================================================================
RCS file: /home/cvs/avalon/merlin/platform.xml,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- platform.xml 13 Oct 2003 22:39:27 -0000 1.4
+++ platform.xml 17 Oct 2003 03:26:29 -0000 1.5
@@ -28,12 +28,12 @@
<dependency>
<groupId>merlin</groupId>
<artifactId>merlin-kernel-spi</artifactId>
- <version>3.1b2</version>
+ <version>3.2-dev</version>
</dependency>
<dependency>
<groupId>merlin</groupId>
<artifactId>merlin-kernel-impl</artifactId>
- <version>3.1b2</version>
+ <version>3.2-dev</version>
</dependency>
<!-- avalon dependecies -->
@@ -63,22 +63,22 @@
<dependency>
<groupId>avalon-meta</groupId>
<artifactId>avalon-meta-api</artifactId>
- <version>1.1</version>
+ <version>1.2-dev</version>
</dependency>
<dependency>
<groupId>avalon-meta</groupId>
<artifactId>avalon-meta-spi</artifactId>
- <version>1.1</version>
+ <version>1.2-dev</version>
</dependency>
<dependency>
<groupId>avalon-meta</groupId>
<artifactId>avalon-meta-impl</artifactId>
- <version>1.1</version>
+ <version>1.2-dev</version>
</dependency>
<dependency>
<groupId>avalon-meta</groupId>
<artifactId>avalon-meta-tools</artifactId>
- <version>1.1</version>
+ <version>1.2-dev</version>
</dependency>
<dependency>
<groupId>avalon-meta</groupId>
@@ -89,33 +89,33 @@
<dependency>
<groupId>avalon-activation</groupId>
<artifactId>avalon-activation-api</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
<dependency>
<groupId>avalon-activation</groupId>
<artifactId>avalon-activation-spi</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
<dependency>
<groupId>avalon-activation</groupId>
<artifactId>avalon-activation-impl</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
<dependency>
<groupId>avalon-composition</groupId>
<artifactId>avalon-composition-api</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
<dependency>
<groupId>avalon-composition</groupId>
<artifactId>avalon-composition-spi</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
<dependency>
<groupId>avalon-composition</groupId>
<artifactId>avalon-composition-impl</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
<dependency>
1.2 +1 -1 avalon/merlin/platform/tutorials/context/strategy/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/avalon/merlin/platform/tutorials/context/strategy/project.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- project.xml 24 Sep 2003 09:33:56 -0000 1.1
+++ project.xml 17 Oct 2003 03:26:29 -0000 1.2
@@ -26,7 +26,7 @@
<dependency>
<groupId>avalon-activation</groupId>
<artifactId>avalon-activation-api</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
</dependencies>
1.4 +1 -1 avalon/merlin/platform/tutorials/hello/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/avalon/merlin/platform/tutorials/hello/project.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- project.xml 14 Oct 2003 10:52:05 -0000 1.3
+++ project.xml 17 Oct 2003 03:26:29 -0000 1.4
@@ -27,7 +27,7 @@
<dependency>
<groupId>merlin</groupId>
<artifactId>merlin-unit</artifactId>
- <version>3.1-dev</version>
+ <version>3.2-dev</version>
</dependency>
</dependencies>
1.2 +3 -3 avalon/merlin/platform/tutorials/lifecycle/activation/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/avalon/merlin/platform/tutorials/lifecycle/activation/project.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- project.xml 24 Sep 2003 09:34:02 -0000 1.1
+++ project.xml 17 Oct 2003 03:26:30 -0000 1.2
@@ -26,17 +26,17 @@
<dependency>
<groupId>avalon-composition</groupId>
<artifactId>avalon-composition-api</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
<dependency>
<groupId>avalon-activation</groupId>
<artifactId>avalon-activation-api</artifactId>
- <version>1.0b1</version>
+ <version>1.1-dev</version>
</dependency>
<dependency>
<groupId>avalon-meta</groupId>
<artifactId>avalon-meta-api</artifactId>
- <version>1.1</version>
+ <version>1.2-dev</version>
</dependency>
</dependencies>
1.2 +1 -1 avalon/merlin/platform/xdocs/meta/index.xml
Index: index.xml
===================================================================
RCS file: /home/cvs/avalon/merlin/platform/xdocs/meta/index.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- index.xml 24 Sep 2003 09:34:39 -0000 1.1
+++ index.xml 17 Oct 2003 03:26:30 -0000 1.2
@@ -60,7 +60,7 @@
<section name="Meta Model">
<subsection name="Overview">
-<p>The Merlin container provides a comprehense mata model supporting component deployment. The meta model provides a set of directives that that provide the information necesasary for component deployment. Underlying the Merlin Meta-Model is the <a href="http://avalon.apache.org/sandbox/avalon-meta/index.html">Avalon Meta-Info Model</a> which defines a component type.
+<p>The Merlin container provides a comprehense mata model supporting component deployment. The meta model provides a set of directives that that provide the information necesasary for component deployment. Underlying the Merlin Meta-Model is the <a href="http://avalon.apache.org/meta/index.html">Avalon Meta-Info Model</a> which defines a component type.
</p>
</subsection>
1.2 +1 -1 avalon/merlin/platform/xdocs/tools/index.xml
Index: index.xml
===================================================================
RCS file: /home/cvs/avalon/merlin/platform/xdocs/tools/index.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- index.xml 24 Sep 2003 09:35:48 -0000 1.1
+++ index.xml 17 Oct 2003 03:26:30 -0000 1.2
@@ -82,7 +82,7 @@
<tr><th>Topic</th><th>Summary</th></tr>
<tr>
<td>
-<a href="http://avalon.apache.org/sandbox/avalon-meta/tools/index.html">Javadoc Tags</a></td>
+<a href="http://avalon.apache.org/meta/tools/index.html">Javadoc Tags</a></td>
<td>
Reference specification of the Javadoc Tags used to
support automation of component and service metadata.
1.2 +1 -1 avalon/merlin/platform/xdocs/tools/navigation.xml
Index: navigation.xml
===================================================================
RCS file: /home/cvs/avalon/merlin/platform/xdocs/tools/navigation.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- navigation.xml 24 Sep 2003 09:35:48 -0000 1.1
+++ navigation.xml 17 Oct 2003 03:26:30 -0000 1.2
@@ -70,7 +70,7 @@
<item name="Tools" href="/tools/index.html">
<item name="Merlin Plugin for Maven" href="/tools/maven/index.html"/>
<item name="Meta Plugin for Maven"
- href="http://avalon.apache.org/sandbox/avalon-meta/tools/index.html"/>
+ href="http://avalon.apache.org/meta/tools/index.html"/>
</item>
</menu>
1.2 +1 -1 avalon/merlin/platform/xdocs/tools/maven/navigation.xml
Index: navigation.xml
===================================================================
RCS file: /home/cvs/avalon/merlin/platform/xdocs/tools/maven/navigation.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- navigation.xml 24 Sep 2003 09:35:50 -0000 1.1
+++ navigation.xml 17 Oct 2003 03:26:30 -0000 1.2
@@ -73,7 +73,7 @@
<item name="Properties" href="/tools/maven/properties.html"/>
</item>
<item name="Meta Plugin for Maven"
- href="http://avalon.apache.org/sandbox/avalon-meta/tools/index.html"/>
+ href="http://avalon.apache.org/meta/tools/index.html"/>
</item>
</menu>
---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org