donaldp 2002/11/10 03:56:28 Modified: fortress/src/java/org/apache/excalibur/fortress DefaultContainerManager.java Log: copy across services from context into the serviceManager Revision Changes Path 1.36 +42 -5 jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/DefaultContainerManager.java Index: DefaultContainerManager.java =================================================================== RCS file: /home/cvs/jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/DefaultContainerManager.java,v retrieving revision 1.35 retrieving revision 1.36 diff -u -r1.35 -r1.36 --- DefaultContainerManager.java 9 Nov 2002 23:33:12 -0000 1.35 +++ DefaultContainerManager.java 10 Nov 2002 11:56:27 -0000 1.36 @@ -63,6 +63,11 @@ import org.apache.avalon.framework.service.DefaultServiceManager; import org.apache.avalon.framework.service.ServiceManager; import org.apache.excalibur.fortress.util.ContextManager; +import org.apache.excalibur.fortress.role.RoleManager; +import org.apache.excalibur.event.Queue; +import org.apache.excalibur.mpool.PoolManager; +import org.apache.excalibur.instrument.InstrumentManager; +import org.apache.excalibur.container.lifecycle.LifecycleExtensionManager; /** * The ContainerManager is a single point of contact to manage your Container @@ -146,7 +151,7 @@ { try { - return ( (LoggerManager)initParameters.get( LOGGER_MANAGER ) ).getDefaultLogger(); + return ( (LoggerManager)initParameters.get( LoggerManager.ROLE ) ).getDefaultLogger(); } catch( ContextException ce ) { @@ -201,9 +206,10 @@ throw new InitializationException( "Composable containers are not supported" ); } - final ServiceManager smanager = - (ServiceManager)getContextEntry( managerContext, SERVICE_MANAGER ); - ContainerUtil.service( instance, new DefaultServiceManager( smanager ) ); + final ServiceManager serviceManager = + createServiceManager( managerContext ); + + ContainerUtil.service( instance, serviceManager ); final Configuration config = (Configuration)getContextEntry( managerContext, CONFIGURATION ); @@ -223,6 +229,37 @@ final String message = "Cannot set up container. Startup lifecycle failure"; throw new InitializationException( message, e ); + } + } + + private ServiceManager createServiceManager( final Context managerContext ) + { + final ServiceManager smanager = + (ServiceManager)getContextEntry( managerContext, SERVICE_MANAGER ); + final DefaultServiceManager serviceManager = new DefaultServiceManager( smanager ); + + addService( Queue.ROLE, managerContext, serviceManager ); + addService( LoggerManager.ROLE, managerContext, serviceManager ); + addService( PoolManager.ROLE, managerContext, serviceManager ); + addService( InstrumentManager.ROLE, managerContext, serviceManager ); + addService( RoleManager.ROLE, managerContext, serviceManager ); + addService( LifecycleExtensionManager.ROLE, managerContext, serviceManager ); + serviceManager.makeReadOnly(); + + return serviceManager; + } + + private void addService( final String role, + final Context context, + final DefaultServiceManager serviceManager ) + { + try + { + final Object object = context.get( role ); + serviceManager.put( role, object ); + } + catch( ContextException e ) + { } }
-- To unsubscribe, e-mail: <mailto:avalon-cvs-unsubscribe@;jakarta.apache.org> For additional commands, e-mail: <mailto:avalon-cvs-help@;jakarta.apache.org>