Return-Path: Delivered-To: apmail-jakarta-avalon-cvs-archive@apache.org Received: (qmail 90583 invoked from network); 9 Jan 2003 15:08:17 -0000 Received: from exchange.sun.com (192.18.33.10) by daedalus.apache.org with SMTP; 9 Jan 2003 15:08:17 -0000 Received: (qmail 19927 invoked by uid 97); 9 Jan 2003 15:09:35 -0000 Delivered-To: qmlist-jakarta-archive-avalon-cvs@jakarta.apache.org Received: (qmail 19892 invoked by uid 97); 9 Jan 2003 15:09:34 -0000 Mailing-List: contact avalon-cvs-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Avalon CVS List" Reply-To: "Avalon Developers List" Delivered-To: mailing list avalon-cvs@jakarta.apache.org Received: (qmail 19880 invoked by uid 98); 9 Jan 2003 15:09:34 -0000 X-Antivirus: nagoya (v4218 created Aug 14 2002) Date: 9 Jan 2003 15:08:11 -0000 Message-ID: <20030109150811.92142.qmail@icarus.apache.org> From: mcconnell@apache.org To: avalon-sandbox-cvs@apache.org Subject: cvs commit: avalon-sandbox/assembly/src/xdocs appliance.xml X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N mcconnell 2003/01/09 07:08:11 Modified: assembly/src/java/org/apache/avalon/assembly/appliance Appliance.java ApplianceContext.java ContextBuilder.java DefaultAppliance.java DefaultApplianceContext.java assembly/src/java/org/apache/avalon/assembly/engine DefaultRepositoryManager.java EngineClassLoader.java assembly/src/java/org/apache/avalon/assembly/engine/profile ProfileManager.java assembly/src/java/org/apache/avalon/assembly/engine/service ServiceRepository.java assembly/src/java/org/apache/avalon/assembly/engine/type TypeManager.java assembly/src/java/org/apache/avalon/assembly/lifecycle DefaultAssemblyService.java DefaultDeploymentService.java DeploymentService.java assembly/src/java/org/apache/avalon/assembly/lifecycle/initialization ExtendedInitializationService.java assembly/src/java/org/apache/avalon/assembly/lifecycle/logging DefaultLoggingService.java assembly/src/java/org/apache/avalon/assembly/lifestyle AbstractLifestyleHandler.java DefaultLifestyleService.java LifestyleService.java PooledLifestyleHandler.java SingletonLifestyleHandler.java TransientLifestyleHandler.java assembly/src/java/org/apache/avalon/assembly/locator Reclaimable.java Resolvable.java assembly/src/java/org/apache/avalon/assembly/logging DefaultLoggingManager.java assembly/src/test/org/apache/avalon/assembly TestCaseBase.java assembly/src/test/org/apache/avalon/assembly/engine EngineTestCase.java assembly/src/xdocs appliance.xml Log: Moveing codebase from Context/ServiceManager mix to Locator based implementation. Revision Changes Path 1.20 +2 -2 avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/appliance/Appliance.java Index: Appliance.java =================================================================== RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/appliance/Appliance.java,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- Appliance.java 9 Jan 2003 11:25:26 -0000 1.19 +++ Appliance.java 9 Jan 2003 15:08:09 -0000 1.20 @@ -83,7 +83,7 @@ /** * Meta-info attribute name under which an alternative appliance class may be declared. */ - static final String APPLIANCE_CLASS_ATTRIBUTE_NAME = + static final String APPLIANCE_CLASS_KEY = "urn:assembly:appliance.class"; /** 1.9 +6 -13 avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/appliance/ApplianceContext.java Index: ApplianceContext.java =================================================================== RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/appliance/ApplianceContext.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- ApplianceContext.java 9 Jan 2003 11:25:26 -0000 1.8 +++ ApplianceContext.java 9 Jan 2003 15:08:09 -0000 1.9 @@ -55,24 +55,17 @@ import java.util.ArrayList; import org.apache.avalon.framework.activity.Initializable; -import org.apache.avalon.framework.parameters.Parameters; -import org.apache.avalon.framework.logger.Logger; -import org.apache.avalon.framework.logger.AbstractLogEnabled; import org.apache.avalon.framework.configuration.Configuration; -import org.apache.avalon.framework.configuration.ConfigurationException; -import org.apache.avalon.framework.configuration.Configurable; import org.apache.avalon.framework.context.Context; -import org.apache.avalon.framework.context.ContextException; -import org.apache.avalon.framework.context.DefaultContext; -import org.apache.avalon.framework.context.Contextualizable; -import org.apache.avalon.framework.service.ServiceManager; -import org.apache.avalon.framework.service.Serviceable; -import org.apache.avalon.framework.service.ServiceException; +import org.apache.avalon.framework.logger.Logger; +import org.apache.avalon.framework.logger.AbstractLogEnabled; +import org.apache.avalon.framework.parameters.Parameters; import org.apache.avalon.assembly.engine.EngineClassLoader; import org.apache.avalon.assembly.lifestyle.LifestyleException; import org.apache.avalon.assembly.lifestyle.LifestyleService; import org.apache.avalon.assembly.lifestyle.LifestyleHandler; +import org.apache.avalon.assembly.locator.Locator; import org.apache.avalon.meta.info.Type; import org.apache.avalon.meta.info.DependencyDescriptor; import org.apache.avalon.meta.info.StageDescriptor; @@ -91,7 +84,7 @@ * @author Avalon Development Team * @version $Revision$ $Date$ */ -public interface ApplianceContext extends Context +public interface ApplianceContext extends Locator { //===================================================================== // static 1.3 +1 -2 avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/appliance/ContextBuilder.java Index: ContextBuilder.java =================================================================== RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/appliance/ContextBuilder.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- ContextBuilder.java 23 Dec 2002 00:13:33 -0000 1.2 +++ ContextBuilder.java 9 Jan 2003 15:08:09 -0000 1.3 @@ -55,7 +55,6 @@ import java.util.HashMap; import org.apache.avalon.framework.activity.Initializable; -import org.apache.avalon.framework.context.Contextualizable; import org.apache.avalon.framework.context.Context; import org.apache.avalon.framework.context.DefaultContext; import org.apache.avalon.framework.context.ContextException; 1.22 +10 -15 avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/appliance/DefaultAppliance.java Index: DefaultAppliance.java =================================================================== RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/appliance/DefaultAppliance.java,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- DefaultAppliance.java 9 Jan 2003 11:25:26 -0000 1.21 +++ DefaultAppliance.java 9 Jan 2003 15:08:09 -0000 1.22 @@ -75,17 +75,17 @@ import org.apache.avalon.assembly.lifestyle.LifestyleHandler; import org.apache.avalon.assembly.lifecycle.AssemblyService; import org.apache.avalon.assembly.lifecycle.AssemblyException; +import org.apache.avalon.assembly.locator.Locator; +import org.apache.avalon.assembly.locator.Contextualizable; +import org.apache.avalon.meta.info.ContextDescriptor; import org.apache.avalon.meta.info.DependencyDescriptor; -import org.apache.avalon.meta.info.Type; -import org.apache.avalon.meta.info.StageDescriptor; import org.apache.avalon.meta.info.LoggerDescriptor; -import org.apache.avalon.meta.info.ContextDescriptor; -import org.apache.avalon.meta.model.Profile; -import org.apache.avalon.meta.model.LoggingDirective; +import org.apache.avalon.meta.info.StageDescriptor; +import org.apache.avalon.meta.info.Type; import org.apache.avalon.meta.model.ContextDirective; +import org.apache.avalon.meta.model.LoggingDirective; +import org.apache.avalon.meta.model.Profile; -import org.apache.avalon.assembly.locator.Locator; -import org.apache.avalon.assembly.locator.Contextualizable; /** * Default implementation of an appliance that supports the association of @@ -127,7 +127,7 @@ /** * The system context. */ - private Context m_system; + private Locator m_system; /** * The derived component context. @@ -166,11 +166,6 @@ private String m_path; /** - * The logging channel. - */ - //private Logger m_logger; - - /** * The appliance URL. */ private URL m_url; @@ -217,7 +212,7 @@ m_assembly = (AssemblyService) context.get( "urn:assembly:assembly.service" ); m_lifestyle = (LifestyleService) context.get( "urn:assembly:lifestyle.service" ); m_applianceContext = (ApplianceContext) context.get( "urn:assembly:appliance.context" ); - m_system = (Context) context.get( "urn:assembly:appliance.system" ); + m_system = (Locator) context.get( "urn:assembly:appliance.system" ); } //===================================================================== 1.6 +5 -5 avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/appliance/DefaultApplianceContext.java Index: DefaultApplianceContext.java =================================================================== RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/appliance/DefaultApplianceContext.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- DefaultApplianceContext.java 9 Jan 2003 11:25:26 -0000 1.5 +++ DefaultApplianceContext.java 9 Jan 2003 15:08:09 -0000 1.6 @@ -64,7 +64,6 @@ import org.apache.avalon.framework.context.Context; import org.apache.avalon.framework.context.ContextException; import org.apache.avalon.framework.context.DefaultContext; -import org.apache.avalon.framework.context.Contextualizable; import org.apache.avalon.framework.service.ServiceManager; import org.apache.avalon.framework.service.Serviceable; import org.apache.avalon.framework.service.ServiceException; @@ -73,6 +72,7 @@ import org.apache.avalon.assembly.lifestyle.LifestyleException; import org.apache.avalon.assembly.lifestyle.LifestyleService; import org.apache.avalon.assembly.lifestyle.LifestyleHandler; +import org.apache.avalon.assembly.locator.DefaultLocator; import org.apache.avalon.meta.info.Type; import org.apache.avalon.meta.info.DependencyDescriptor; import org.apache.avalon.meta.info.StageDescriptor; @@ -92,7 +92,7 @@ * @author Avalon Development Team * @version $Revision$ $Date$ */ -public class DefaultApplianceContext extends DefaultContext implements ApplianceContext +public class DefaultApplianceContext extends DefaultLocator implements ApplianceContext { //===================================================================== // state @@ -180,7 +180,7 @@ { throw new NullPointerException( "profile" ); } - m_map = getContextData(); + m_map = getData(); m_profile = profile; } @@ -212,7 +212,7 @@ { if( m_classname == null ) { - return getType().getInfo().getAttribute( Appliance.APPLIANCE_CLASS_ATTRIBUTE_NAME ); + return getType().getInfo().getAttribute( Appliance.APPLIANCE_CLASS_KEY ); } else { 1.8 +1 -5 avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/engine/DefaultRepositoryManager.java Index: DefaultRepositoryManager.java =================================================================== RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/engine/DefaultRepositoryManager.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- DefaultRepositoryManager.java 8 Jan 2003 20:42:22 -0000 1.7 +++ DefaultRepositoryManager.java 9 Jan 2003 15:08:10 -0000 1.8 @@ -86,10 +86,6 @@ import org.apache.avalon.excalibur.packagemanager.impl.DefaultExtensionManager; import org.apache.avalon.framework.activity.Disposable; import org.apache.avalon.framework.activity.Initializable; -import org.apache.avalon.framework.context.Context; -import org.apache.avalon.framework.context.DefaultContext; -import org.apache.avalon.framework.context.ContextException; -import org.apache.avalon.framework.context.Contextualizable; import org.apache.avalon.framework.logger.AbstractLogEnabled; import org.apache.avalon.framework.logger.LogEnabled; import org.apache.avalon.framework.logger.Logger; 1.24 +21 -32 avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/engine/EngineClassLoader.java Index: EngineClassLoader.java =================================================================== RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/engine/EngineClassLoader.java,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- EngineClassLoader.java 9 Jan 2003 11:25:26 -0000 1.23 +++ EngineClassLoader.java 9 Jan 2003 15:08:10 -0000 1.24 @@ -81,6 +81,7 @@ import org.apache.avalon.assembly.engine.model.FilesetDescriptor; import org.apache.avalon.assembly.engine.model.IncludeDescriptor; import org.apache.avalon.assembly.engine.model.ClasspathDescriptor; +import org.apache.avalon.assembly.locator.Contextualizable; import org.apache.avalon.assembly.logging.LoggingDescriptor; import org.apache.avalon.assembly.logging.DefaultLoggingManager; import org.apache.avalon.assembly.logging.LoggingManager; @@ -97,7 +98,6 @@ import org.apache.avalon.framework.context.Context; import org.apache.avalon.framework.context.DefaultContext; import org.apache.avalon.framework.context.ContextException; -import org.apache.avalon.framework.context.Contextualizable; import org.apache.avalon.framework.service.ServiceManager; import org.apache.avalon.framework.service.DefaultServiceManager; import org.apache.avalon.framework.service.ServiceException; @@ -166,7 +166,7 @@ * will be propergated by this engine to compoents under it * supervision. */ - private Context m_context; + private Locator m_context; /** * The appliance manager for this engine is a repository of the of the @@ -311,64 +311,52 @@ * established by this service. * @param context the runtime context */ - public void contextualize( Context context ) throws ContextException + public void contextualize( Locator context ) throws ContextException { m_context = context; - try + if( context.hasEntry( "urn:assembly:system-map" ) ) { m_map = (Map) context.get( "urn:assembly:system-map" ); } - catch( ContextException ce ) - { - // ignore - } - try + if( context.hasEntry( "urn:assembly:engine.extensions" ) ) { m_descriptor = (LibraryDescriptor)context.get( "urn:assembly:engine.extensions" ); } - catch( ContextException e ) + else { m_descriptor = new LibraryDescriptor(); } - try + if( context.hasEntry( "urn:assembly:engine.classpath" ) ) { m_classpath = (ClasspathDescriptor)context.get( "urn:assembly:engine.classpath" ); } - catch( ContextException e ) + else { m_classpath = new ClasspathDescriptor(); } - try + if( context.hasEntry( "urn:assembly:home" ) ) { m_home = (File)context.get( "urn:assembly:home" ); } - catch( ContextException e ) + else { m_home = new File( System.getProperty( "user.dir" ) ); } - try + if( context.hasEntry( "urn:assembly:engine.bootstrap" ) ) { m_bootstrap = "true".equals( context.get( "urn:assembly:engine.bootstrap" ) ); } - catch( ContextException ce ) - { - // use default value - } - try + if( context.hasEntry( "urn:assembly:logging.manager" ) ) { String key = "urn:assembly:logging.manager"; m_logging = (LoggingManager) context.get( key ); } - catch( ContextException ce ) - { - // optional - } } //============================================================== @@ -396,7 +384,7 @@ getLogger().debug( REZ.getString( "initialization" ) ); } - createRepositoryManager(); + m_repository = createRepositoryManager(); m_factory = DefaultApplianceFactory.createApplianceFactory( this, getLogger(), getSystemContext() ); m_appliances = createApplianceManager( m_facilities ); @@ -971,21 +959,22 @@ } } - private void createRepositoryManager() throws Exception + private DefaultRepositoryManager createRepositoryManager() throws Exception { ClassLoader parent = getParent(); + DefaultRepositoryManager manager; if(( parent != null ) && ( parent instanceof EngineClassLoader )) { - m_repository = - new DefaultRepositoryManager( + manager = new DefaultRepositoryManager( this, ((EngineClassLoader)parent).getRepository() ); } else { - m_repository = new DefaultRepositoryManager( this ); + manager = new DefaultRepositoryManager( this ); } - m_repository.enableLogging( getLogger() ); - m_repository.initialize(); + manager.enableLogging( getLogger() ); + manager.initialize(); + return manager; } private ApplianceManager createApplianceManager( Map facilities ) 1.2 +1 -4 avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/engine/profile/ProfileManager.java Index: ProfileManager.java =================================================================== RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/engine/profile/ProfileManager.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ProfileManager.java 23 Dec 2002 00:13:34 -0000 1.1 +++ ProfileManager.java 9 Jan 2003 15:08:10 -0000 1.2 @@ -58,9 +58,6 @@ import org.apache.avalon.framework.logger.AbstractLogEnabled; import org.apache.avalon.framework.configuration.Configuration; -import org.apache.avalon.framework.context.Context; -import org.apache.avalon.framework.context.ContextException; -import org.apache.avalon.framework.context.Contextualizable; import org.apache.avalon.framework.activity.Initializable; import org.apache.avalon.assembly.engine.type.TypeManager; import org.apache.avalon.assembly.engine.type.UnknownTypeException; 1.2 +1 -4 avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/engine/service/ServiceRepository.java Index: ServiceRepository.java =================================================================== RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/engine/service/ServiceRepository.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ServiceRepository.java 27 Dec 2002 16:11:42 -0000 1.1 +++ ServiceRepository.java 9 Jan 2003 15:08:10 -0000 1.2 @@ -56,9 +56,6 @@ import org.apache.avalon.framework.Version; import org.apache.avalon.framework.logger.AbstractLogEnabled; -import org.apache.avalon.framework.context.Context; -import org.apache.avalon.framework.context.ContextException; -import org.apache.avalon.framework.context.Contextualizable; import org.apache.avalon.framework.activity.Initializable; import org.apache.avalon.meta.info.Service; import org.apache.avalon.meta.info.builder.ServiceBuilder; 1.2 +1 -5 avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/engine/type/TypeManager.java Index: TypeManager.java =================================================================== RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/engine/type/TypeManager.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- TypeManager.java 23 Dec 2002 00:13:34 -0000 1.1 +++ TypeManager.java 9 Jan 2003 15:08:10 -0000 1.2 @@ -56,10 +56,6 @@ import java.util.ArrayList; import org.apache.avalon.framework.logger.AbstractLogEnabled; -import org.apache.avalon.framework.context.Context; -import org.apache.avalon.framework.context.ContextException; -import org.apache.avalon.framework.context.Contextualizable; -import org.apache.avalon.framework.activity.Initializable; import org.apache.avalon.meta.info.Type; import org.apache.avalon.meta.info.builder.TypeBuilder; import org.apache.avalon.meta.info.ReferenceDescriptor; 1.5 +21 -36 avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifecycle/DefaultAssemblyService.java Index: DefaultAssemblyService.java =================================================================== RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifecycle/DefaultAssemblyService.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- DefaultAssemblyService.java 9 Jan 2003 03:58:26 -0000 1.4 +++ DefaultAssemblyService.java 9 Jan 2003 15:08:10 -0000 1.5 @@ -55,17 +55,15 @@ import java.util.Map; import org.apache.avalon.framework.activity.Initializable; -import org.apache.avalon.framework.service.Serviceable; -import org.apache.avalon.framework.service.ServiceManager; -import org.apache.avalon.framework.service.ServiceException; import org.apache.avalon.framework.logger.AbstractLogEnabled; import org.apache.avalon.framework.context.Context; import org.apache.avalon.framework.context.DefaultContext; import org.apache.avalon.framework.context.ContextException; -import org.apache.avalon.framework.context.Contextualizable; import org.apache.avalon.assembly.appliance.Appliance; import org.apache.avalon.assembly.engine.Engine; import org.apache.avalon.assembly.appliance.DependencyGraph; +import org.apache.avalon.assembly.locator.Contextualizable; +import org.apache.avalon.assembly.locator.Locator; import org.apache.avalon.meta.info.DependencyDescriptor; import org.apache.avalon.meta.info.StageDescriptor; import org.apache.avalon.meta.info.ReferenceDescriptor; @@ -79,7 +77,7 @@ * @author Avalon Development Team * @version $Revision$ $Date$ */ -public class DefaultAssemblyService extends AbstractLogEnabled implements AssemblyService, Contextualizable, Serviceable, Initializable +public class DefaultAssemblyService extends AbstractLogEnabled implements AssemblyService, Contextualizable, Initializable { //============================================================== // static @@ -91,7 +89,7 @@ // state //============================================================== - private ServiceManager m_manager; + private Locator m_context; private boolean m_initialized = false; @@ -118,33 +116,25 @@ * org.apache.avalon.assembly.appliance.DepedendencyGraph * The depedency graph. * + * + * urn:assembly:engine.classloader + * org.apache.avalon.assembly.engine.EngineClassLoader + * The component engine. + * * * @param context the runtime context */ - public void contextualize( Context context ) throws ContextException + public void contextualize( Locator context ) throws ContextException { m_map = (DependencyGraph) context.get( "urn:assembly:dependency-map" ); - } - - //============================================================== - // Serviceable - //============================================================== - - /** - *

Supply of container based services that may be used by the - * assembly service as supplimentary resources.

- * @param manager the service manager - */ - public void service( ServiceManager manager ) throws ServiceException - { - if( manager.hasService( ENGINE_KEY ) ) - { - m_manager = manager; - } - else - { - throw new ServiceException( ENGINE_KEY ); - } + if( context.hasEntry( ENGINE_KEY ) ) + { + m_context = context; + } + else + { + throw new ContextException( ENGINE_KEY ); + } } //============================================================== @@ -169,11 +159,6 @@ { throw new IllegalStateException("contextaulize"); } - if( m_manager == null ) - { - throw new IllegalStateException("service"); - } - m_initialized = true; } @@ -234,9 +219,9 @@ } try { - m_engine = (Engine) m_manager.lookup( ENGINE_KEY ); + m_engine = (Engine) m_context.get( ENGINE_KEY ); } - catch( ServiceException e ) + catch( ContextException e ) { throw new IllegalStateException("engine"); } 1.12 +60 -114 avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifecycle/DefaultDeploymentService.java Index: DefaultDeploymentService.java =================================================================== RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifecycle/DefaultDeploymentService.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- DefaultDeploymentService.java 21 Dec 2002 09:26:34 -0000 1.11 +++ DefaultDeploymentService.java 9 Jan 2003 15:08:10 -0000 1.12 @@ -54,9 +54,7 @@ import org.apache.avalon.framework.configuration.Configuration; import org.apache.avalon.framework.configuration.ConfigurationException; import org.apache.avalon.framework.configuration.Configurable; -import org.apache.avalon.framework.context.Context; import org.apache.avalon.framework.context.ContextException; -import org.apache.avalon.framework.context.Contextualizable; import org.apache.avalon.framework.service.ServiceManager; import org.apache.avalon.framework.service.DefaultServiceManager; import org.apache.avalon.framework.service.ServiceException; @@ -86,6 +84,9 @@ import org.apache.avalon.assembly.lifecycle.disposal.DefaultDisposalService; import org.apache.avalon.assembly.lifecycle.disposal.ExtendedDisposalService; import org.apache.avalon.assembly.logging.LoggingManager; +import org.apache.avalon.assembly.locator.Locator; +import org.apache.avalon.assembly.locator.Contextualizable; +import org.apache.avalon.assembly.locator.DefaultLocator; /** * A deployment service is responsible for the deployment of a component @@ -94,14 +95,13 @@ * @author Avalon Development Team * @version $Revision$ $Date$ */ -public class DefaultDeploymentService extends AbstractLogEnabled implements Configurable, Serviceable, Contextualizable, Initializable, DeploymentService +public class DefaultDeploymentService extends AbstractLogEnabled implements Contextualizable, Initializable, DeploymentService { //============================================================== // state //============================================================== - private Context m_context; - private ServiceManager m_manager; + private Locator m_context; private LoggingService m_logging; private ConfigurationService m_configuration; private ContextualizationService m_contextualization; @@ -115,24 +115,6 @@ private boolean m_extensionEnabled = true; //============================================================== - // Configurable - //============================================================== - - /** - * Supply of the static configuration for the deployment service. - * @param config the static configuration - */ - public void configure( Configuration config ) throws ConfigurationException - { - if( config == null ) - { - throw new NullPointerException( "config" ); - } - m_extensionEnabled = - config.getChild("extensions").getAttributeAsBoolean( "enabled", true ); - } - - //============================================================== // Contextualizable //============================================================== @@ -142,7 +124,7 @@ * established by this service. * @param context the runtime context */ - public void contextualize( Context context ) throws ContextException + public void contextualize( Locator context ) throws ContextException { if( context == null ) { @@ -152,131 +134,92 @@ } //============================================================== - // Serviceable + // Initializable //============================================================== - /** - *

Application of a supporting service to the deployment service.

- * - * - * - * - * - * - * - * - * - *
keytypedescription
urn:assembly:lifecycle.logging{@link org.apache.avalon.assembly.lifecycle.logging.LoggingService}The logging service to use for the creation of auxiliary logging channels.
- * @param context the runtime context - */ - public void service( ServiceManager manager ) throws ServiceException + public void initialize() throws Exception { - if( manager == null ) - { - throw new NullPointerException( "manager" ); - } - - final String classloaderkey = "urn:assembly:engine.classloader"; - if( !manager.hasService( classloaderkey ) ) + if( m_context == null ) { - throw new ServiceException( classloaderkey ); + throw new IllegalStateException("context"); } - m_manager = manager; - String key = "urn:assembly:lifecycle.logging"; - if( manager.hasService( key ) ) + if( m_context.hasEntry( key ) ) { - m_logging = (LoggingService) manager.lookup( key ); + m_logging = (LoggingService) m_context.get( key ); } - - key = "urn:assembly:lifecycle.configuration"; - if( manager.hasService( key ) ) + else { - m_configuration = (ConfigurationService) manager.lookup( key ); + m_logging = makeLoggingService(); } - key = "urn:assembly:lifecycle.parameters"; - if( manager.hasService( key ) ) + key = "urn:assembly:lifecycle.configuration"; + if( m_context.hasEntry( key ) ) { - m_parameters = (ParameterizationService) manager.lookup( key ); + m_configuration = (ConfigurationService) m_context.get( key ); } - - key = "urn:assembly:lifecycle.context"; - if( manager.hasService( key ) ) + else { - m_contextualization = (ContextualizationService) manager.lookup( key ); + m_configuration = makeConfigurationService(); } - key = "urn:assembly:lifecycle.composition"; - if( manager.hasService( key ) ) + key = "urn:assembly:lifecycle.parameters"; + if( m_context.hasEntry( key ) ) { - m_composition = (CompositionService) manager.lookup( key ); + m_parameters = (ParameterizationService) m_context.get( key ); } - - key = "urn:assembly:lifecycle.initialization"; - if( manager.hasService( key ) ) + else { - m_initialization = (InitializationService) manager.lookup( key ); + m_parameters = makeParameterizationService(); } - key = "urn:assembly:lifecycle.startup"; - if( manager.hasService( key ) ) + key = "urn:assembly:lifecycle.context"; + if( m_context.hasEntry( key ) ) { - m_startup = (StartupService) manager.lookup( key ); + m_contextualization = (ContextualizationService) m_context.get( key ); } - - key = "urn:assembly:lifecycle.disposal"; - if( manager.hasService( key ) ) + else { - m_disposal = (DisposalService) manager.lookup( key ); + m_contextualization = makeContextualizationService(); } - } - - //============================================================== - // Initializable - //============================================================== - public void initialize() throws Exception - { - if( m_context == null ) + key = "urn:assembly:lifecycle.composition"; + if( m_context.hasEntry( key ) ) { - throw new IllegalStateException("context"); + m_composition = (CompositionService) m_context.get( key ); } - if( m_manager == null ) + else { - throw new IllegalStateException("service"); + m_composition = makeCompositionService(); } - if( m_logging == null ) - { - m_logging = makeLoggingService(); - } - if( m_configuration == null ) - { - m_configuration = makeConfigurationService(); - } - if( m_parameters == null ) + key = "urn:assembly:lifecycle.initialization"; + if( m_context.hasEntry( key ) ) { - m_parameters = makeParameterizationService(); + m_initialization = (InitializationService) m_context.get( key ); } - if( m_contextualization == null ) + else { - m_contextualization = makeContextualizationService(); + m_initialization = makeInitializationService(); } - if( m_composition == null ) + + key = "urn:assembly:lifecycle.startup"; + if( m_context.hasEntry( key ) ) { - m_composition = makeCompositionService(); + m_startup = (StartupService) m_context.get( key ); } - if( m_initialization == null ) + else { - m_initialization = makeInitializationService(); + m_startup = makeStartupService(); } - if( m_startup == null ) + + key = "urn:assembly:lifecycle.disposal"; + if( m_context.hasEntry( key ) ) { - m_startup = makeStartupService(); + m_disposal = (DisposalService) m_context.get( key ); } - if( m_disposal == null ) + else { m_disposal = makeDisposalService(); } @@ -297,7 +240,7 @@ * @param context the containment context * @return the deployed component */ - public Object deploy( Appliance appliance, ClassLoader classloader ) + public Object deploy( Appliance appliance, ClassLoader classloader ) throws DeploymentException { if( !m_initialized ) @@ -359,7 +302,6 @@ m_composition.service( appliance, instance ); m_initialization.initialize( appliance, instance ); m_startup.start( appliance, instance ); - return instance; } catch( Throwable e ) @@ -409,6 +351,10 @@ m_disposal.dispose( appliance, instance ); } + //---------------------------------------------------------------------------- + // internal services + //---------------------------------------------------------------------------- + private LoggingService makeLoggingService() throws DeploymentException { try @@ -416,10 +362,10 @@ DefaultLoggingService service = new DefaultLoggingService(); service.enableLogging( getLogger().getChildLogger( "logging" ) ); LoggingManager logging = - (LoggingManager) m_manager.lookup( "urn:assembly:logging.manager" ); - DefaultServiceManager manager = new DefaultServiceManager(); - manager.put( "urn:assembly:logging.manager", logging ); - service.service( manager ); + (LoggingManager) m_context.get( "urn:assembly:logging.manager" ); + DefaultLocator locator = new DefaultLocator(); + locator.put( "urn:assembly:logging.manager", logging ); + service.contextualize( locator ); service.initialize(); return service; } 1.5 +1 -10 avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifecycle/DeploymentService.java Index: DeploymentService.java =================================================================== RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifecycle/DeploymentService.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- DeploymentService.java 21 Dec 2002 09:26:34 -0000 1.4 +++ DeploymentService.java 9 Jan 2003 15:08:10 -0000 1.5 @@ -50,15 +50,6 @@ package org.apache.avalon.assembly.lifecycle; -import org.apache.avalon.framework.activity.Initializable; -import org.apache.avalon.framework.configuration.Configuration; -import org.apache.avalon.framework.configuration.ConfigurationException; -import org.apache.avalon.framework.configuration.Configurable; -import org.apache.avalon.framework.context.Context; -import org.apache.avalon.framework.context.ContextException; -import org.apache.avalon.framework.context.Contextualizable; -import org.apache.avalon.framework.logger.Logger; - import org.apache.avalon.assembly.appliance.Appliance; /** 1.11 +1 -4 avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifecycle/initialization/ExtendedInitializationService.java Index: ExtendedInitializationService.java =================================================================== RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifecycle/initialization/ExtendedInitializationService.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- ExtendedInitializationService.java 21 Dec 2002 09:26:34 -0000 1.10 +++ ExtendedInitializationService.java 9 Jan 2003 15:08:10 -0000 1.11 @@ -56,9 +56,6 @@ import org.apache.avalon.framework.logger.AbstractLogEnabled; import org.apache.avalon.framework.activity.Initializable; import org.apache.avalon.framework.context.Context; -import org.apache.avalon.framework.context.DefaultContext; -import org.apache.avalon.framework.context.ContextException; -import org.apache.avalon.framework.context.Contextualizable; import org.apache.avalon.assembly.appliance.Appliance; import org.apache.avalon.assembly.lifecycle.DeploymentException; import org.apache.avalon.assembly.engine.Engine; 1.6 +12 -12 avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifecycle/logging/DefaultLoggingService.java Index: DefaultLoggingService.java =================================================================== RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifecycle/logging/DefaultLoggingService.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- DefaultLoggingService.java 21 Dec 2002 03:28:38 -0000 1.5 +++ DefaultLoggingService.java 9 Jan 2003 15:08:10 -0000 1.6 @@ -56,11 +56,11 @@ import org.apache.avalon.framework.logger.Logger; import org.apache.avalon.framework.logger.LogEnabled; import org.apache.avalon.framework.logger.AbstractLogEnabled; -import org.apache.avalon.framework.service.ServiceManager; -import org.apache.avalon.framework.service.Serviceable; -import org.apache.avalon.framework.service.ServiceException; +import org.apache.avalon.framework.context.ContextException; import org.apache.avalon.assembly.appliance.Appliance; import org.apache.avalon.assembly.logging.LoggingManager; +import org.apache.avalon.assembly.locator.Contextualizable; +import org.apache.avalon.assembly.locator.Locator; import org.apache.avalon.meta.info.LoggerDescriptor; import org.apache.avalon.meta.model.Profile; import org.apache.avalon.meta.model.LoggingDirective; @@ -72,7 +72,7 @@ * @author Avalon Development Team * @version $Revision$ $Date$ */ -public class DefaultLoggingService extends AbstractLogEnabled implements Serviceable, Initializable, LoggingService +public class DefaultLoggingService extends AbstractLogEnabled implements Contextualizable, Initializable, LoggingService { //============================================================== // state @@ -81,18 +81,18 @@ private LoggingManager m_manager; //============================================================== - // Serviceable + // Contextualizable //============================================================== /** *

Application of a logging manager to this service.

- * @param manager the service manager - * @exception ServiceException if the logging manager is included - * with the supplied manager + * @param context the service locator + * @exception ContextException if the logging manager is not included + * with the supplied context */ - public void service( ServiceManager manager ) throws ServiceException + public void contextualize( Locator context ) throws ContextException { - m_manager = (LoggingManager) manager.lookup( "urn:assembly:logging.manager" ); + m_manager = (LoggingManager) context.get( "urn:assembly:logging.manager" ); } //============================================================== @@ -108,7 +108,7 @@ { if( m_manager == null ) { - throw new IllegalStateException("service"); + throw new IllegalStateException("context"); } } 1.16 +8 -34 avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifestyle/AbstractLifestyleHandler.java Index: AbstractLifestyleHandler.java =================================================================== RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifestyle/AbstractLifestyleHandler.java,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- AbstractLifestyleHandler.java 23 Dec 2002 00:13:34 -0000 1.15 +++ AbstractLifestyleHandler.java 9 Jan 2003 15:08:10 -0000 1.16 @@ -57,7 +57,6 @@ import org.apache.avalon.framework.activity.Initializable; import org.apache.avalon.framework.context.Context; import org.apache.avalon.framework.context.ContextException; -import org.apache.avalon.framework.context.Contextualizable; import org.apache.avalon.framework.service.ServiceManager; import org.apache.avalon.framework.service.ServiceException; import org.apache.avalon.framework.service.Serviceable; @@ -70,6 +69,8 @@ import org.apache.avalon.meta.model.Profile; import org.apache.avalon.assembly.appliance.Appliance; import org.apache.avalon.assembly.lifecycle.DeploymentService; +import org.apache.avalon.assembly.locator.Contextualizable; +import org.apache.avalon.assembly.locator.Locator; import org.apache.avalon.lifecycle.Accessor; /** @@ -79,7 +80,7 @@ * @author Avalon Development Team * @version $Revision$ $Date$ */ -public abstract class AbstractLifestyleHandler extends AbstractLogEnabled implements Serviceable, Initializable, Disposable, LifestyleHandler +public abstract class AbstractLifestyleHandler extends AbstractLogEnabled implements Contextualizable, Initializable, Disposable, LifestyleHandler { //============================================================== // state @@ -105,7 +106,7 @@ /** * The deplyment context. */ - private Context m_context; + private Locator m_context; /** * The implementation class. @@ -134,13 +135,14 @@ * * @param context the runtime context */ - public void contextualize( Context context ) throws ContextException + public void contextualize( Locator context ) throws ContextException { m_classloader = (ClassLoader) context.get( "urn:avalon:classloader" ); m_appliance = (Appliance) context.get( "urn:assembly:appliance.target" ); + m_deployment = (DeploymentService) context.get( "urn:assembly:lifecycle.deployment" ); try { - m_context = (Context) context.get( "urn:assembly:deployment.context" ); + m_context = (Locator) context.get( "urn:assembly:deployment.context" ); } catch( ContextException ce ) { @@ -149,30 +151,6 @@ } //============================================================== - // Serviceable - //============================================================== - - /** - *

Application of a supporting service to the handler.

- * - * - * - * - * - * - * - * - * - *
keytypedescription
urn:assembly:lifestyle.deployment{@link org.apache.avalon.assembly.lifecycle.DeploymentService}The deplyment service that will handle deployment and decommissioning - * of instances derived from the appliance.
- * @param context the runtime context - */ - public void service( ServiceManager manager ) throws ServiceException - { - m_deployment = (DeploymentService) manager.lookup( "urn:assembly:lifecycle.deployment" ); - } - - //============================================================== // Initializable //============================================================== @@ -192,10 +170,6 @@ if( m_appliance == null ) { throw new LifestyleException("context"); - } - if( m_deployment == null ) - { - throw new LifestyleException("service"); } } 1.6 +20 -66 avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifestyle/DefaultLifestyleService.java Index: DefaultLifestyleService.java =================================================================== RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifestyle/DefaultLifestyleService.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- DefaultLifestyleService.java 20 Dec 2002 11:54:29 -0000 1.5 +++ DefaultLifestyleService.java 9 Jan 2003 15:08:10 -0000 1.6 @@ -59,7 +59,6 @@ import org.apache.avalon.framework.configuration.ConfigurationException; import org.apache.avalon.framework.configuration.Configurable; import org.apache.avalon.framework.context.Context; -import org.apache.avalon.framework.context.Contextualizable; import org.apache.avalon.framework.context.ContextException; import org.apache.avalon.framework.context.DefaultContext; import org.apache.avalon.framework.service.ServiceManager; @@ -70,6 +69,9 @@ import org.apache.avalon.assembly.engine.Engine; import org.apache.avalon.assembly.lifecycle.DeploymentService; import org.apache.avalon.assembly.lifecycle.DefaultDeploymentService; +import org.apache.avalon.assembly.locator.Contextualizable; +import org.apache.avalon.assembly.locator.DefaultLocator; +import org.apache.avalon.assembly.locator.Locator; /** * A lifestyle service provides support for the creation of a lifestyle @@ -78,22 +80,22 @@ * @author Avalon Development Team * @version $Revision$ $Date$ */ -public class DefaultLifestyleService extends AbstractLogEnabled implements LifestyleService, Serviceable, Initializable +public class DefaultLifestyleService extends AbstractLogEnabled implements LifestyleService, Contextualizable, Initializable { //============================================================== // state //============================================================== /** - * The service manager containing the deployment service to assign + * The context containing the deployment service to assign * to the lifestyle handler. */ - private ServiceManager m_manager; + private Locator m_context; /** * The system context. */ - private Context m_context; + private Locator m_system; /** * Flag holding the initialized state of the service. @@ -103,78 +105,37 @@ /** * The supplied static configuration. */ - private Configuration m_config; - - /** - * The supplied static configuration. - */ private DeploymentService m_deployment; //============================================================== - // Configurable - //============================================================== - - /** - * Supply of the static configuration for the deployment service. - * @param config the static configuration - */ - public void configure( Configuration config ) throws ConfigurationException - { - if( config == null ) - { - throw new NullPointerException( "config" ); - } - m_config = config; - } - - //============================================================== - // Serviceable + // Contextualizable //============================================================== /** * Supply of supporting services to this componet by its manager. * This includes a deployment service. */ - public void service( ServiceManager manager ) throws ServiceException + public void contextualize( Locator context ) throws ContextException { - if( manager == null ) + if( context == null ) { - throw new NullPointerException( "manager" ); + throw new NullPointerException( "context" ); } - final String engineKey = "urn:assembly:engine.classloader"; - if( !manager.hasService( engineKey ) ) + final String key = "urn:assembly:engine.classloader"; + if( !context.hasEntry( key ) ) { - throw new ServiceException( engineKey ); + throw new ContextException( key ); } - m_manager = manager; + m_context = context; m_deployment = - (DeploymentService) manager.lookup( "urn:assembly:lifecycle.deployment" ); + (DeploymentService) context.get( "urn:assembly:lifecycle.deployment" ); } //============================================================== - // Contextualizable - //============================================================== - - /** - *

Application of a runtime context to the lifestyle service. - * The context value will be passed directly to lifestyle handlers - * established by this service. - * @param context the runtime context - */ - public void contextualize( Context context ) throws ContextException - { - if( context == null ) - { - throw new NullPointerException( "context" ); - } - m_context = context; - } - - //============================================================== // Initializable //============================================================== @@ -188,11 +149,6 @@ { throw new IllegalStateException("context"); } - if( m_deployment == null ) - { - throw new IllegalStateException("manager"); - } - m_initialized = true; } @@ -207,7 +163,7 @@ * @param context a deployment context */ public LifestyleHandler createHandler( - Appliance appliance, ClassLoader classloader, Context deploymentContext ) + Appliance appliance, ClassLoader classloader, Locator deploymentContext ) { if( !m_initialized ) { @@ -227,13 +183,14 @@ // create the deployment context to be supplied to the handler // - DefaultContext context = new DefaultContext( m_context ); + DefaultLocator context = new DefaultLocator( m_context ); if( deploymentContext != null ) { context.put( "urn:assembly:deployment.context", deploymentContext ); } context.put( "urn:assembly:appliance.target", appliance ); context.put( "urn:avalon:classloader", classloader ); + context.put( "urn:assembly:lifecycle.deployment", m_deployment ); context.makeReadOnly(); // @@ -252,7 +209,6 @@ SingletonLifestyleHandler singleton = new SingletonLifestyleHandler(); singleton.enableLogging( getLogger() ); singleton.contextualize( context ); - singleton.service( m_manager ); singleton.initialize(); return singleton; } @@ -270,7 +226,6 @@ TransientLifestyleHandler transientHandler = new TransientLifestyleHandler(); transientHandler.enableLogging( getLogger() ); transientHandler.contextualize( context ); - transientHandler.service( m_manager ); transientHandler.initialize(); return transientHandler; } @@ -288,7 +243,6 @@ ThreadLocalLifestyleHandler thread = new ThreadLocalLifestyleHandler(); thread.enableLogging( getLogger() ); thread.contextualize( context ); - thread.service( m_manager ); thread.initialize(); return thread; } 1.4 +3 -2 avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifestyle/LifestyleService.java Index: LifestyleService.java =================================================================== RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifestyle/LifestyleService.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- LifestyleService.java 3 Dec 2002 06:57:26 -0000 1.3 +++ LifestyleService.java 9 Jan 2003 15:08:10 -0000 1.4 @@ -53,6 +53,7 @@ import org.apache.avalon.framework.logger.Logger; import org.apache.avalon.framework.context.Context; import org.apache.avalon.assembly.appliance.Appliance; +import org.apache.avalon.assembly.locator.Locator; /** * A lifestyle service provides support for the creation of a lifestyle @@ -71,5 +72,5 @@ * @param context a deployment context */ LifestyleHandler createHandler( - Appliance appliance, ClassLoader classloader, Context context ); + Appliance appliance, ClassLoader classloader, Locator context ); } 1.6 +5 -4 avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifestyle/PooledLifestyleHandler.java Index: PooledLifestyleHandler.java =================================================================== RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifestyle/PooledLifestyleHandler.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- PooledLifestyleHandler.java 20 Dec 2002 11:54:29 -0000 1.5 +++ PooledLifestyleHandler.java 9 Jan 2003 15:08:10 -0000 1.6 @@ -59,7 +59,6 @@ import org.apache.avalon.framework.activity.Initializable; import org.apache.avalon.framework.context.Context; import org.apache.avalon.framework.context.ContextException; -import org.apache.avalon.framework.context.Contextualizable; import org.apache.avalon.framework.configuration.Configurable; import org.apache.avalon.framework.configuration.Configuration; import org.apache.avalon.framework.configuration.ConfigurationException; @@ -71,6 +70,8 @@ import org.apache.excalibur.mpool.Pool; import org.apache.excalibur.mpool.PoolManager; import org.apache.excalibur.mpool.ObjectFactory; +import org.apache.avalon.assembly.locator.Contextualizable; +import org.apache.avalon.assembly.locator.Locator; /** * Lifestyle implementation that provides suppport for the pooled @@ -94,7 +95,7 @@ /** * The runtime context. */ - private Context m_context; + private Locator m_context; /** * The deplyment service to handle lifecycle processing of @@ -150,7 +151,7 @@ * established by this service. * @param context the runtime context */ - public void contextualize( Context context ) throws ContextException + public void contextualize( Locator context ) throws ContextException { super.contextualize( context ); m_poolManager = (PoolManager) context.get( "urn:assembly:pool-manager" ); 1.9 +3 -2 avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifestyle/SingletonLifestyleHandler.java Index: SingletonLifestyleHandler.java =================================================================== RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifestyle/SingletonLifestyleHandler.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- SingletonLifestyleHandler.java 21 Dec 2002 03:28:38 -0000 1.8 +++ SingletonLifestyleHandler.java 9 Jan 2003 15:08:10 -0000 1.9 @@ -53,12 +53,13 @@ import org.apache.avalon.framework.activity.Initializable; import org.apache.avalon.framework.context.Context; import org.apache.avalon.framework.context.ContextException; -import org.apache.avalon.framework.context.Contextualizable; import org.apache.avalon.framework.logger.Logger; import org.apache.avalon.framework.logger.AbstractLogEnabled; import org.apache.avalon.meta.info.DependencyDescriptor; import org.apache.avalon.meta.info.StageDescriptor; import org.apache.avalon.assembly.appliance.Appliance; +import org.apache.avalon.assembly.locator.Contextualizable; +import org.apache.avalon.assembly.locator.Locator; /** * The singleton lifestyle handler provides support for object instantiation and 1.7 +1 -2 avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifestyle/TransientLifestyleHandler.java Index: TransientLifestyleHandler.java =================================================================== RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifestyle/TransientLifestyleHandler.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- TransientLifestyleHandler.java 17 Dec 2002 11:35:50 -0000 1.6 +++ TransientLifestyleHandler.java 9 Jan 2003 15:08:10 -0000 1.7 @@ -57,7 +57,6 @@ import org.apache.avalon.framework.activity.Initializable; import org.apache.avalon.framework.context.Context; import org.apache.avalon.framework.context.ContextException; -import org.apache.avalon.framework.context.Contextualizable; import org.apache.avalon.framework.logger.Logger; import org.apache.avalon.framework.logger.AbstractLogEnabled; import org.apache.avalon.meta.info.DependencyDescriptor; 1.2 +3 -3 avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/locator/Reclaimable.java Index: Reclaimable.java =================================================================== RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/locator/Reclaimable.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- Reclaimable.java 23 Dec 2002 00:13:35 -0000 1.1 +++ Reclaimable.java 9 Jan 2003 15:08:11 -0000 1.2 @@ -66,8 +66,8 @@ /** * Release an object * - * @param the object to reclaim - * @param locator the context with respect which to reclain the object + * @param the object to be reclaimed + * @param context the context with respect which to reclain the object */ - void release( Object object, Locator locator ); + void release( Object object, Locator context ); } 1.2 +4 -2 avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/locator/Resolvable.java Index: Resolvable.java =================================================================== RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/locator/Resolvable.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- Resolvable.java 23 Dec 2002 00:13:35 -0000 1.1 +++ Resolvable.java 9 Jan 2003 15:08:11 -0000 1.2 @@ -54,6 +54,8 @@ */ package org.apache.avalon.assembly.locator; +import org.apache.avalon.framework.context.ContextException; + /** * This interface is used to indicate objects that need to be * resolved in some particular context. @@ -66,10 +68,10 @@ /** * Resolve a object to a value. * - * @param context the contextwith respect which to resolve + * @param context the context within the the resolution is applied * @return the resolved object * @throws ContextException if an error occurs */ Object resolve( Locator locator ) - throws LocatorException; + throws ContextException; } 1.6 +3 -2 avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/logging/DefaultLoggingManager.java Index: DefaultLoggingManager.java =================================================================== RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/logging/DefaultLoggingManager.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- DefaultLoggingManager.java 19 Dec 2002 10:31:55 -0000 1.5 +++ DefaultLoggingManager.java 9 Jan 2003 15:08:11 -0000 1.6 @@ -64,9 +64,10 @@ import org.apache.avalon.framework.activity.Initializable; import org.apache.avalon.framework.context.Context; import org.apache.avalon.framework.context.ContextException; -import org.apache.avalon.framework.context.Contextualizable; import org.apache.avalon.framework.logger.AvalonFormatter; import org.apache.avalon.framework.logger.LogKitLogger; +import org.apache.avalon.assembly.locator.Contextualizable; +import org.apache.avalon.assembly.locator.Locator; import org.apache.avalon.excalibur.i18n.ResourceManager; import org.apache.avalon.excalibur.i18n.Resources; import org.apache.avalon.excalibur.logger.LoggerManager; @@ -148,7 +149,7 @@ * established by this service. * @param context the runtime context */ - public void contextualize( Context context ) throws ContextException + public void contextualize( Locator context ) throws ContextException { m_baseDirectory = (File) context.get( "urn:assembly:home" ); 1.7 +2 -1 avalon-sandbox/assembly/src/test/org/apache/avalon/assembly/TestCaseBase.java Index: TestCaseBase.java =================================================================== RCS file: /home/cvs/avalon-sandbox/assembly/src/test/org/apache/avalon/assembly/TestCaseBase.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- TestCaseBase.java 19 Dec 2002 10:46:16 -0000 1.6 +++ TestCaseBase.java 9 Jan 2003 15:08:11 -0000 1.7 @@ -14,6 +14,7 @@ import org.apache.avalon.assembly.logging.TargetDescriptor; import org.apache.avalon.assembly.logging.LoggingDescriptor; import org.apache.avalon.assembly.logging.DefaultLoggingManager; +import org.apache.avalon.assembly.locator.DefaultLocator; import org.apache.avalon.framework.context.Context; import org.apache.avalon.framework.context.ContextException; import org.apache.avalon.framework.context.DefaultContext; @@ -50,7 +51,7 @@ new TargetDescriptor[ 0 ], new Category( "logging", "WARN" ) ); - DefaultContext context = new DefaultContext(); + DefaultLocator context = new DefaultLocator(); context.put( "urn:assembly:home", m_base ); context.put( "urn:assembly:logging.descriptor", logging ); context.makeReadOnly(); 1.12 +2 -3 avalon-sandbox/assembly/src/test/org/apache/avalon/assembly/engine/EngineTestCase.java Index: EngineTestCase.java =================================================================== RCS file: /home/cvs/avalon-sandbox/assembly/src/test/org/apache/avalon/assembly/engine/EngineTestCase.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- EngineTestCase.java 9 Jan 2003 11:25:26 -0000 1.11 +++ EngineTestCase.java 9 Jan 2003 15:08:11 -0000 1.12 @@ -13,8 +13,7 @@ import java.util.Hashtable; import junit.framework.TestCase; import org.apache.avalon.framework.Version; -import org.apache.avalon.framework.context.DefaultContext; -import org.apache.avalon.framework.service.DefaultServiceManager; +import org.apache.avalon.assembly.locator.DefaultLocator; import org.apache.avalon.meta.info.*; import org.apache.avalon.meta.model.*; import org.apache.avalon.assembly.TestCaseBase; @@ -56,7 +55,7 @@ { EngineClassLoader engine = new EngineClassLoader(); engine.enableLogging( getLogger() ); - DefaultContext context = new DefaultContext(); + DefaultLocator context = new DefaultLocator(); context.put( "urn:assembly:engine.bootstrap", "" + bootstrap ); context.put( "urn:assembly:logging.manager", m_logManager ); context.makeReadOnly(); 1.3 +9 -3 avalon-sandbox/assembly/src/xdocs/appliance.xml Index: appliance.xml =================================================================== RCS file: /home/cvs/avalon-sandbox/assembly/src/xdocs/appliance.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- appliance.xml 8 Jan 2003 18:33:22 -0000 1.2 +++ appliance.xml 9 Jan 2003 15:08:11 -0000 1.3 @@ -33,8 +33,14 @@ /** * Meta-info attribute name under which an alternative appliance class may be declared. */ - static final String APPLIANCE_CLASS_ATTRIBUTE_NAME = + static final String APPLIANCE_CLASS_KEY = "urn:assembly:appliance.class"; + + /** + * Meta-info attribute name under which an alternative appliance factory class may be declared. + */ + static final String APPLIANCE_FACTORY_KEY = + "urn:assembly:appliance.factory"; /** * Get the appliance name. -- To unsubscribe, e-mail: For additional commands, e-mail: