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>