crafterm 2002/07/12 05:53:45
Modified:
fortress/examples/src/java/org/apache/excalibur/fortress/examples/extended
ExtendedContainer.java
fortress/examples/src/java/org/apache/excalibur/fortress/examples/servlet
ServletContainer.java
fortress/examples/src/java/org/apache/excalibur/fortress/examples/swing
SwingContainer.java
fortress/src/java/org/apache/excalibur/fortress
AbstractContainer.java DefaultContainerManager.java
fortress/src/java/org/apache/excalibur/fortress/handler
AbstractComponentHandler.java
AbstractThreadSafeComponentHandler.java
ComponentFactory.java ComponentHandler.java
FactoryComponentHandler.java
LazyThreadSafeComponentHandler.java
PerThreadComponentHandler.java
PoolableComponentHandler.java
ThreadSafeComponentHandler.java
fortress/src/java/org/apache/excalibur/fortress/lookup
FortressComponentManager.java
fortress/src/java/org/apache/excalibur/fortress/util
ContextBuilder.java
Log:
Several changes, hopefully consolidating the use of Service and Component
manager within Fortress.
I've modified AbstractContainer be completely Service-based, and have
removed Composable to help clear up the creation of internal
ServiceManager and ComponentManager references.
Previously functionality is still supported though, since
ServiceManager is a superset of ComponentManager (ie. differs only by casting
and API names) and can be used as a ComponentManager via the
ServiceComponentManager class.
Modified DefaultContainerManager to wrap any ComponentManager parent into a
ServiceManager, and to only allow either a ComponentManager or a
ServiceManager as a parent, not both (this check was previously done in
AbstractContainer).
Updated the Component handlers/factory to use just service manager,
Composable components are still supported via the ServiceComponentManager
class.
Reintroduced protected m_serviceManager reference, which is constructed during
service(), and a modified getComponentManager() method which wraps this
reference with a ServiceComponentManager class, when invoked.
Updated examples to reflect these changes.
Revision Changes Path
1.2 +3 -8
jakarta-avalon-excalibur/fortress/examples/src/java/org/apache/excalibur/fortress/examples/extended/ExtendedContainer.java
Index: ExtendedContainer.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/fortress/examples/src/java/org/apache/excalibur/fortress/examples/extended/ExtendedContainer.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ExtendedContainer.java 10 Jul 2002 10:01:08 -0000 1.1
+++ ExtendedContainer.java 12 Jul 2002 12:53:44 -0000 1.2
@@ -7,7 +7,6 @@
*/
package org.apache.excalibur.fortress.examples.extended;
-import org.apache.avalon.framework.component.ComponentManager;
import org.apache.excalibur.fortress.AbstractContainer;
import org.apache.excalibur.fortress.examples.extended.components.ExtendedComponent;
import org.apache.excalibur.fortress.examples.extended.extensions.Extensions;
@@ -15,16 +14,12 @@
public final class ExtendedContainer
extends AbstractContainer
{
- private ComponentManager m_manager;
-
public void initialize()
throws Exception
{
super.initialize();
+
m_extManager.getAccessLifecycleExtensions().add(new Extensions());
-
- // REVISIT(MC): this doesn't belong here
- m_manager = getComponentManager();
}
public void doLookups()
@@ -34,8 +29,8 @@
for (int i = 0; i < 10; ++i)
{
- ExtendedComponent comp = (ExtendedComponent)
m_manager.lookup(ExtendedComponent.ROLE);
- m_manager.release(comp);
+ ExtendedComponent comp = (ExtendedComponent)
m_serviceManager.lookup(ExtendedComponent.ROLE);
+ m_serviceManager.release(comp);
}
getLogger().info("Finished lookups of custom component");
1.2 +9 -12
jakarta-avalon-excalibur/fortress/examples/src/java/org/apache/excalibur/fortress/examples/servlet/ServletContainer.java
Index: ServletContainer.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/fortress/examples/src/java/org/apache/excalibur/fortress/examples/servlet/ServletContainer.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ServletContainer.java 4 Jul 2002 10:24:00 -0000 1.1
+++ ServletContainer.java 12 Jul 2002 12:53:44 -0000 1.2
@@ -14,10 +14,10 @@
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
-import org.apache.avalon.framework.component.ComponentException;
-import org.apache.avalon.framework.component.ComponentManager;
-import org.apache.excalibur.fortress.AbstractContainer;
+import org.apache.avalon.framework.component.ServiceException;
+import org.apache.avalon.framework.component.ServiceManager;
+import org.apache.excalibur.fortress.AbstractContainer;
import org.apache.excalibur.fortress.examples.components.Translator;
/**
@@ -32,11 +32,10 @@
{
public static final String KEY = "hello-world";
- private ComponentManager m_manager;
private Translator m_translator;
/**
- * Initialize this component
+ * Initializes this component.
*
* @exception Exception if an error occurs
*/
@@ -45,9 +44,7 @@
{
super.initialize();
- // REVISIT: shouldn't this work in compose() ?
- m_manager = getComponentManager();
- m_translator = ( Translator ) m_manager.lookup( Translator.ROLE );
+ m_translator = ( Translator ) m_serviceManager.lookup( Translator.ROLE );
}
/**
@@ -122,10 +119,10 @@
*/
public void dispose()
{
- super.dispose();
-
if ( m_translator != null )
- m_manager.release( m_translator );
+ m_serviceManager.release( m_translator );
+
+ super.dispose();
}
}
1.2 +9 -28
jakarta-avalon-excalibur/fortress/examples/src/java/org/apache/excalibur/fortress/examples/swing/SwingContainer.java
Index: SwingContainer.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/fortress/examples/src/java/org/apache/excalibur/fortress/examples/swing/SwingContainer.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SwingContainer.java 4 Jul 2002 09:43:24 -0000 1.1
+++ SwingContainer.java 12 Jul 2002 12:53:44 -0000 1.2
@@ -16,8 +16,8 @@
import javax.swing.JPanel;
import org.apache.avalon.framework.activity.Startable;
-import org.apache.avalon.framework.component.ComponentException;
-import org.apache.avalon.framework.component.ComponentManager;
+import org.apache.avalon.framework.service.ServiceException;
+import org.apache.avalon.framework.service.ServiceManager;
import org.apache.excalibur.fortress.AbstractContainer;
import org.apache.excalibur.fortress.examples.components.Translator;
@@ -34,7 +34,6 @@
implements Startable, ActionListener
{
// Component references
- private ComponentManager m_manager;
private Translator m_translator;
// GUI references
@@ -45,36 +44,18 @@
private String m_key = "hello-world";
/**
- * Compose this component. Stores reference to component manager
- * and translator component.
- *
- * @param manager a <code>ComponentManager</code> instance
- * @exception ComponentException if an error occurs
- */
- public void compose(ComponentManager manager)
- throws ComponentException
- {
- super.compose(manager);
-
- // REVISIT: this shouldn't be in compose ? where's the right place ?
- m_manager = getComponentManager();
- m_translator = ( Translator ) m_manager.lookup( Translator.ROLE );
- }
-
- /**
* Initializes this component. Creates simple Swing GUI containing
* available translations for the key 'hello-world'.
*
* @exception Exception if an error occurs
*/
public void initialize()
- throws Exception
+ throws Exception
{
super.initialize();
- // REVISIT: this should be done elsewhere
- m_manager = getComponentManager();
- m_translator = ( Translator ) m_manager.lookup( Translator.ROLE );
+ // obtain translator component
+ m_translator = ( Translator ) m_serviceManager.lookup( Translator.ROLE );
// create combo box
JComboBox cb = new JComboBox( m_translator.getSupportedLanguages( m_key ) );
@@ -152,10 +133,10 @@
*/
public void dispose()
{
- super.dispose();
-
if ( m_translator != null )
- m_manager.release( m_translator );
+ m_serviceManager.release( m_translator );
+
+ super.dispose();
}
}
1.46 +11 -40
jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/AbstractContainer.java
Index: AbstractContainer.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/AbstractContainer.java,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -r1.45 -r1.46
--- AbstractContainer.java 9 Jul 2002 13:32:35 -0000 1.45
+++ AbstractContainer.java 12 Jul 2002 12:53:44 -0000 1.46
@@ -20,7 +20,6 @@
import org.apache.avalon.framework.component.ComponentException;
import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.component.ComponentSelector;
-import org.apache.avalon.framework.component.Composable;
import org.apache.avalon.framework.configuration.Configurable;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
@@ -40,13 +39,14 @@
import org.apache.excalibur.fortress.lookup.FortressComponentManager;
import org.apache.excalibur.fortress.lookup.FortressComponentSelector;
import org.apache.excalibur.fortress.lookup.FortressServiceManager;
+import org.apache.excalibur.fortress.lookup.ServiceComponentManager;
import org.apache.excalibur.fortress.util.ExcaliburRoleManager;
import org.apache.excalibur.fortress.util.RoleManager;
import org.apache.excalibur.mpool.PoolManager;
/**
* The Container is an interface used to mark the Containers in your system. It
- * exposes a protected getComponentManager()/getServiceManager() method so that the
+ * exposes a protected getServiceManager() method so that the
* Container's Manager can expose that to the instantiating class.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Berin Loritsch</a>
@@ -55,11 +55,10 @@
*/
public abstract class AbstractContainer
extends AbstractLogEnabled
- implements Contextualizable, Serviceable, Composable, Configurable,
Initializable, Disposable, Container
+ implements Contextualizable, Serviceable, Configurable, Initializable,
Disposable, Container
{
protected Context m_context;
- private ServiceManager m_serviceManager;
- private ComponentManager m_componentManager;
+ protected ServiceManager m_serviceManager;
protected LoggerManager m_logManager;
protected PoolManager m_poolManager;
protected Queue m_commandQueue;
@@ -302,7 +301,6 @@
handler = (ComponentHandler)constructor.newInstance( new Object[]{
klass,
configuration,
- getComponentManager(),
getServiceManager(),
m_context,
m_extManager
@@ -412,30 +410,10 @@
* Root ServiceManager. The Container may choose to have it's ServiceManager
* delegate to the root manager, or it may choose to be entirely self contained.
*/
- public void service( ServiceManager manager )
+ public void service( final ServiceManager parent )
throws ServiceException
{
- if( m_componentManager != null && manager != null )
- {
- throw new IllegalStateException( "ComponentManager has already been
set, cannot use both simultaneously" );
- }
-
- m_serviceManager = manager;
- }
-
- /**
- * Root ComponentManager. The Container may choose to have it's
ComponentManager
- * delegate to the root manager, or it may choose to be entirely self contained.
- */
- public void compose( ComponentManager componentManager )
- throws ComponentException
- {
- if( m_serviceManager != null && componentManager != null )
- {
- throw new IllegalStateException( "ServiceManager has already been set,
cannot use both simultaneously" );
- }
-
- m_componentManager = componentManager;
+ m_serviceManager = new FortressServiceManager( this, parent, m_extManager,
m_context );
}
/**
@@ -522,18 +500,15 @@
}
/**
- * Exposes to subclasses the component manager which this container
+ * Exposes to subclasses the service manager which this container
* uses to manage its child components.
*
* @return the child component manager
*/
protected final ComponentManager getComponentManager()
{
- if ( m_componentManager == null && m_serviceManager == null )
- return new FortressComponentManager( this, m_extManager, m_context );
- return m_componentManager == null ?
- new FortressComponentManager( this, m_serviceManager, m_extManager,
m_context ) :
- new FortressComponentManager( this, m_componentManager, m_extManager,
m_context );
+ // if a component manager is really needed
+ return new ServiceComponentManager( m_serviceManager );
}
/**
@@ -544,11 +519,7 @@
*/
protected final ServiceManager getServiceManager()
{
- if ( m_componentManager == null && m_serviceManager == null )
- return new FortressServiceManager( this, m_extManager, m_context );
- return m_serviceManager == null ?
- new FortressServiceManager( this, m_componentManager, m_extManager,
m_context ) :
- new FortressServiceManager( this, m_serviceManager, m_extManager,
m_context );
+ return m_serviceManager;
}
/**
1.13 +49 -21
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.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- DefaultContainerManager.java 28 Jun 2002 04:50:17 -0000 1.12
+++ DefaultContainerManager.java 12 Jul 2002 12:53:44 -0000 1.13
@@ -26,6 +26,8 @@
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.avalon.framework.service.Serviceable;
import org.apache.excalibur.fortress.util.ContextManager;
+import org.apache.excalibur.fortress.lookup.ComponentServiceManager;
+import org.apache.excalibur.fortress.lookup.ServiceComponentManager;
import org.apache.excalibur.util.ComponentStateValidator;
/**
@@ -111,6 +113,7 @@
if( null == containerInstance )
{
Object instance = null;
+
try
{
instance = ( (Class)initParameters.get( CONTAINER_CLASS )
).newInstance();
@@ -138,36 +141,25 @@
( (Contextualizable)instance ).contextualize( containerContext
);
}
+ ComponentManager cmanager = getComponentManager( initParameters );
+ ServiceManager smanager = getServiceManager( initParameters );
+
if( instance instanceof Composable )
{
// validator.checkComposed();
- try
- {
- final ComponentManager manager =
(ComponentManager)initParameters.get( COMPONENT_MANAGER );
-
- ( (Composable)instance ).compose( manager );
- }
- catch( ContextException e )
- {
- //Ignore, it may not have a parent component manager
- }
+ ComponentManager manager =
+ ( smanager == null ) ? cmanager : new
ServiceComponentManager( smanager );
+ ( (Composable) instance ).compose( manager );
}
if( instance instanceof Serviceable )
{
// validator.checkServiced();
- try
- {
- final ServiceManager manager =
(ServiceManager)initParameters.get( SERVICE_MANAGER );
-
- ( (Serviceable)instance ).service( manager );
- }
- catch( ContextException e )
- {
- //Ignore, it may not have a parent service manager
- }
+ ServiceManager manager =
+ ( cmanager == null ) ? smanager : new
ComponentServiceManager( cmanager );
+ ( (Serviceable)instance ).service( manager );
}
if( instance instanceof Configurable )
@@ -202,6 +194,42 @@
}
containerInstance = instance;
+ }
+ }
+
+ /**
+ * Helper method to get the CM out of the given context, if existing
+ *
+ * @param context a <code>Context</code> instance
+ * @return a <code>ComponentManager</code> instance or null if none
+ */
+ private ComponentManager getComponentManager( Context context )
+ {
+ try
+ {
+ return (ComponentManager) context.get( COMPONENT_MANAGER );
+ }
+ catch( ContextException e )
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Helper method to get an SM out of the given context, if existing
+ *
+ * @param context a <code>Context</code> instance
+ * @return a <code>ServiceManager</code> instance or null if none
+ */
+ private ServiceManager getServiceManager( Context context )
+ {
+ try
+ {
+ return (ServiceManager) context.get( SERVICE_MANAGER );
+ }
+ catch ( ContextException e )
+ {
+ return null;
}
}
1.6 +2 -4
jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/handler/AbstractComponentHandler.java
Index: AbstractComponentHandler.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/handler/AbstractComponentHandler.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- AbstractComponentHandler.java 9 Jul 2002 13:32:36 -0000 1.5
+++ AbstractComponentHandler.java 12 Jul 2002 12:53:44 -0000 1.6
@@ -11,7 +11,6 @@
import org.apache.avalon.excalibur.instrument.Instrumentable;
import org.apache.avalon.excalibur.logger.LoggerManager;
import org.apache.avalon.framework.activity.Disposable;
-import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.context.Context;
import org.apache.avalon.framework.logger.Logger;
@@ -59,14 +58,13 @@
*/
public AbstractComponentHandler( final Class componentClass,
final Configuration config,
- final ComponentManager manager,
final ServiceManager service,
final Context context,
final LifecycleExtensionManager extManager )
throws Exception
{
m_logkit = (LoggerManager)context.get( Container.LOGGER_MANAGER );
- m_factory = new ComponentFactory( componentClass, config, manager, service,
context, m_logkit, extManager );
+ m_factory = new ComponentFactory( componentClass, config, service, context,
m_logkit, extManager );
m_context = context;
}
1.3 +2 -4
jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/handler/AbstractThreadSafeComponentHandler.java
Index: AbstractThreadSafeComponentHandler.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/handler/AbstractThreadSafeComponentHandler.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- AbstractThreadSafeComponentHandler.java 9 Jul 2002 13:32:36 -0000 1.2
+++ AbstractThreadSafeComponentHandler.java 12 Jul 2002 12:53:44 -0000 1.3
@@ -10,7 +10,6 @@
import org.apache.avalon.excalibur.logger.LoggerManager;
import org.apache.avalon.framework.activity.Disposable;
import org.apache.avalon.framework.activity.Startable;
-import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.context.Context;
import org.apache.avalon.framework.logger.Logger;
@@ -38,13 +37,12 @@
*/
public AbstractThreadSafeComponentHandler( final Class componentClass,
final Configuration config,
- final ComponentManager manager,
final ServiceManager service,
final Context context,
final LifecycleExtensionManager
extManager )
throws Exception
{
- super( componentClass, config, manager, service, context, extManager );
+ super( componentClass, config, service, context, extManager );
}
/**
1.16 +3 -9
jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/handler/ComponentFactory.java
Index: ComponentFactory.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/handler/ComponentFactory.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- ComponentFactory.java 9 Jul 2002 13:32:36 -0000 1.15
+++ ComponentFactory.java 12 Jul 2002 12:53:44 -0000 1.16
@@ -11,7 +11,6 @@
import org.apache.avalon.excalibur.instrument.Instrument;
import org.apache.avalon.excalibur.instrument.Instrumentable;
import org.apache.avalon.excalibur.logger.LoggerManager;
-import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.container.ContainerUtil;
import org.apache.avalon.framework.context.Context;
@@ -22,6 +21,7 @@
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.avalon.framework.thread.ThreadSafe;
import org.apache.excalibur.fortress.lifecycle.LifecycleExtensionManager;
+import org.apache.excalibur.fortress.lookup.ServiceComponentManager;
import org.apache.excalibur.mpool.ObjectFactory;
/**
@@ -49,10 +49,6 @@
/** The component manager for this component.
*/
- private ComponentManager m_componentManager;
-
- /** The component manager for this component.
- */
private ServiceManager m_serviceManager;
/** The configuration for this component.
@@ -83,7 +79,6 @@
*/
public ComponentFactory( final Class componentClass,
final Configuration configuration,
- final ComponentManager componentManager,
final ServiceManager serviceManager,
final Context context,
final LoggerManager logkit,
@@ -91,7 +86,6 @@
{
m_componentClass = componentClass;
m_configuration = configuration;
- m_componentManager = componentManager;
m_serviceManager = serviceManager;
m_context = context;
m_logManager = logkit;
@@ -129,7 +123,7 @@
}
ContainerUtil.contextualize( component, m_context );
- ContainerUtil.compose( component, m_componentManager );
+ ContainerUtil.compose( component, new ServiceComponentManager(
m_serviceManager ));
ContainerUtil.service( component, m_serviceManager );
ContainerUtil.configure( component, m_configuration );
1.11 +1 -3
jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/handler/ComponentHandler.java
Index: ComponentHandler.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/handler/ComponentHandler.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- ComponentHandler.java 9 Jul 2002 13:32:36 -0000 1.10
+++ ComponentHandler.java 12 Jul 2002 12:53:44 -0000 1.11
@@ -9,7 +9,6 @@
import org.apache.avalon.framework.activity.Disposable;
import org.apache.avalon.framework.activity.Initializable;
-import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.context.Context;
import org.apache.avalon.framework.service.ServiceManager;
@@ -29,7 +28,6 @@
Class[] HANDLER_CONSTRUCTOR = new Class[]{
Class.class,
Configuration.class,
- ComponentManager.class,
ServiceManager.class,
Context.class,
LifecycleExtensionManager.class
1.19 +2 -4
jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/handler/FactoryComponentHandler.java
Index: FactoryComponentHandler.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/handler/FactoryComponentHandler.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- FactoryComponentHandler.java 9 Jul 2002 13:32:36 -0000 1.18
+++ FactoryComponentHandler.java 12 Jul 2002 12:53:44 -0000 1.19
@@ -8,7 +8,6 @@
package org.apache.excalibur.fortress.handler;
import org.apache.avalon.excalibur.logger.LoggerManager;
-import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.context.Context;
import org.apache.avalon.framework.service.ServiceManager;
@@ -33,13 +32,12 @@
*/
public FactoryComponentHandler( final Class componentClass,
final Configuration config,
- final ComponentManager manager,
final ServiceManager service,
final Context context,
final LifecycleExtensionManager extManager )
throws Exception
{
- super( componentClass, config, manager, service, context, extManager );
+ super( componentClass, config, service, context, extManager );
m_logger = m_logkit.getLoggerForCategory( "system.handler.factory" );
m_name = "FactoryComponentHandler";
}
1.3 +2 -4
jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/handler/LazyThreadSafeComponentHandler.java
Index: LazyThreadSafeComponentHandler.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/handler/LazyThreadSafeComponentHandler.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- LazyThreadSafeComponentHandler.java 9 Jul 2002 13:32:36 -0000 1.2
+++ LazyThreadSafeComponentHandler.java 12 Jul 2002 12:53:44 -0000 1.3
@@ -7,7 +7,6 @@
*/
package org.apache.excalibur.fortress.handler;
-import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.context.Context;
import org.apache.avalon.framework.service.ServiceManager;
@@ -32,13 +31,12 @@
*/
public LazyThreadSafeComponentHandler( final Class componentClass,
final Configuration config,
- final ComponentManager manager,
final ServiceManager service,
final Context context,
final LifecycleExtensionManager
extManager )
throws Exception
{
- super( componentClass, config, manager, service, context, extManager );
+ super( componentClass, config, service, context, extManager );
m_logger = m_logkit.getLoggerForCategory( "system.handler.threadsafe.lazy"
);
m_name = "LazyThreadSafeComponentHandler";
}
1.20 +2 -4
jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/handler/PerThreadComponentHandler.java
Index: PerThreadComponentHandler.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/handler/PerThreadComponentHandler.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- PerThreadComponentHandler.java 9 Jul 2002 13:32:36 -0000 1.19
+++ PerThreadComponentHandler.java 12 Jul 2002 12:53:44 -0000 1.20
@@ -8,7 +8,6 @@
package org.apache.excalibur.fortress.handler;
import org.apache.avalon.excalibur.logger.LoggerManager;
-import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.context.Context;
import org.apache.avalon.framework.service.ServiceManager;
@@ -35,13 +34,12 @@
*/
public PerThreadComponentHandler( final Class componentClass,
final Configuration config,
- final ComponentManager manager,
final ServiceManager service,
final Context context,
final LifecycleExtensionManager extManager )
throws Exception
{
- super( componentClass, config, manager, service, context, extManager );
+ super( componentClass, config, service, context, extManager );
m_instance = new ThreadLocalComponent( m_factory );
m_logger = m_logkit.getLoggerForCategory( "system.handler.perthread" );
m_name = "PerThreadComponentHandler";
1.23 +2 -4
jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/handler/PoolableComponentHandler.java
Index: PoolableComponentHandler.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/handler/PoolableComponentHandler.java,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- PoolableComponentHandler.java 9 Jul 2002 13:32:36 -0000 1.22
+++ PoolableComponentHandler.java 12 Jul 2002 12:53:44 -0000 1.23
@@ -8,7 +8,6 @@
package org.apache.excalibur.fortress.handler;
import org.apache.avalon.excalibur.logger.LoggerManager;
-import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.context.Context;
import org.apache.avalon.framework.service.ServiceManager;
@@ -45,13 +44,12 @@
*/
public PoolableComponentHandler( final Class componentClass,
final Configuration config,
- final ComponentManager manager,
final ServiceManager service,
final Context context,
final LifecycleExtensionManager extManager )
throws Exception
{
- super( componentClass, config, manager, service, context, extManager );
+ super( componentClass, config, service, context, extManager );
m_poolMin = config.getAttributeAsInteger( "pool-min", 10 );
m_logger = m_logkit.getLoggerForCategory( "system.handler.poolable" );
m_poolManager = (PoolManager)context.get( Container.POOL_MANAGER );
1.19 +2 -4
jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/handler/ThreadSafeComponentHandler.java
Index: ThreadSafeComponentHandler.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/handler/ThreadSafeComponentHandler.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- ThreadSafeComponentHandler.java 9 Jul 2002 13:32:36 -0000 1.18
+++ ThreadSafeComponentHandler.java 12 Jul 2002 12:53:44 -0000 1.19
@@ -7,7 +7,6 @@
*/
package org.apache.excalibur.fortress.handler;
-import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.context.Context;
import org.apache.avalon.framework.service.ServiceManager;
@@ -32,13 +31,12 @@
*/
public ThreadSafeComponentHandler( final Class componentClass,
final Configuration config,
- final ComponentManager manager,
final ServiceManager service,
final Context context,
final LifecycleExtensionManager extManager )
throws Exception
{
- super( componentClass, config, manager, service, context, extManager );
+ super( componentClass, config, service, context, extManager );
m_logger = m_logkit.getLoggerForCategory( "system.handler.threadsafe" );
m_name = "ThreadSafeComponentHandler";
}
1.6 +2 -2
jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/lookup/FortressComponentManager.java
Index: FortressComponentManager.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/lookup/FortressComponentManager.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- FortressComponentManager.java 9 Jul 2002 13:32:36 -0000 1.5
+++ FortressComponentManager.java 12 Jul 2002 12:53:45 -0000 1.6
@@ -46,7 +46,7 @@
*/
public FortressComponentManager( final Container container, final
ServiceManager parent, final LifecycleExtensionManager extManager, final Context
context )
{
- this( container, new ServiceComponentManager(parent), extManager, context);
+ this( container, (parent != null) ? new ServiceComponentManager(parent) :
(ComponentManager)null, extManager, context);
}
/**
1.13 +20 -2
jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/util/ContextBuilder.java
Index: ContextBuilder.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/util/ContextBuilder.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- ContextBuilder.java 25 Jun 2002 13:39:37 -0000 1.12
+++ ContextBuilder.java 12 Jul 2002 12:53:45 -0000 1.13
@@ -90,6 +90,15 @@
public void setComponentManagerParent( ComponentManager componentManager )
{
+ try
+ {
+ context.get( SERVICE_MANAGER_PARENT );
+ }
+ catch ( ContextException e )
+ {
+ throw new IllegalStateException( "ServiceManagerParent already
specified" );
+ }
+
context.put( COMPONENT_MANAGER_PARENT, componentManager );
}
@@ -98,9 +107,18 @@
context.put( COMPONENT_MANAGER, componentManager );
}
- public void setServiceManagerParent( ServiceManager componentManager )
+ public void setServiceManagerParent( ServiceManager serviceManager )
{
- context.put( SERVICE_MANAGER_PARENT, componentManager );
+ try
+ {
+ context.get( COMPONENT_MANAGER_PARENT );
+ }
+ catch ( ContextException e )
+ {
+ throw new IllegalStateException( "ComponentManagerParent already
specified" );
+ }
+
+ context.put( SERVICE_MANAGER_PARENT, serviceManager );
}
public void setServiceManager( ServiceManager componentManager )
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>