You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by bl...@apache.org on 2002/09/18 20:02:19 UTC
cvs commit: jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/container MetaDataContainer.java
bloritsch 2002/09/18 11:02:19
Modified: fortress/src/java/org/apache/excalibur/fortress
AbstractContainer.java
fortress/src/java/org/apache/excalibur/fortress/container
MetaDataContainer.java
Log:
add setup code to contextualize
Revision Changes Path
1.57 +7 -15 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.56
retrieving revision 1.57
diff -u -r1.56 -r1.57
--- AbstractContainer.java 17 Sep 2002 17:39:59 -0000 1.56
+++ AbstractContainer.java 18 Sep 2002 18:02:18 -0000 1.57
@@ -57,21 +57,13 @@
import org.apache.avalon.excalibur.collections.BucketMap;
import org.apache.avalon.excalibur.collections.FixedSizeBuffer;
import org.apache.avalon.excalibur.logger.LoggerManager;
-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.configuration.ConfigurationException;
+import org.apache.avalon.framework.activity.*;
+import org.apache.avalon.framework.component.*;
+import org.apache.avalon.framework.configuration.*;
import org.apache.avalon.framework.container.ContainerUtil;
-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.AbstractLogEnabled;
-import org.apache.avalon.framework.logger.LogEnabled;
-import org.apache.avalon.framework.logger.Logger;
-import org.apache.avalon.framework.service.ServiceException;
-import org.apache.avalon.framework.service.ServiceManager;
-import org.apache.avalon.framework.service.Serviceable;
+import org.apache.avalon.framework.context.*;
+import org.apache.avalon.framework.logger.*;
+import org.apache.avalon.framework.service.*;
import org.apache.excalibur.event.Queue;
import org.apache.excalibur.event.command.Command;
1.2 +68 -3 jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/container/MetaDataContainer.java
Index: MetaDataContainer.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/container/MetaDataContainer.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- MetaDataContainer.java 18 Sep 2002 17:52:49 -0000 1.1
+++ MetaDataContainer.java 18 Sep 2002 18:02:18 -0000 1.2
@@ -49,6 +49,15 @@
*/
package org.apache.excalibur.fortress.container;
+import java.lang.reflect.Constructor;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.avalon.excalibur.collections.BucketMap;
+import org.apache.avalon.excalibur.collections.FixedSizeBuffer;
+import org.apache.avalon.excalibur.logger.LoggerManager;
+
import org.apache.avalon.framework.activity.*;
import org.apache.avalon.framework.context.*;
import org.apache.avalon.framework.configuration.*;
@@ -56,7 +65,18 @@
import org.apache.avalon.framework.logger.*;
import org.apache.excalibur.fortress.*;
+import org.apache.excalibur.fortress.handler.*;
+import org.apache.excalibur.fortress.lifecycle.*;
+import org.apache.excalibur.fortress.lookup.*;
import org.apache.excalibur.container.classloader.*;
+import org.apache.excalibur.container.legacy.*;
+
+import org.apache.excalibur.event.Queue;
+import org.apache.excalibur.event.command.Command;
+import org.apache.excalibur.instrument.Instrumentable;
+import org.apache.excalibur.instrument.InstrumentManager;
+import org.apache.excalibur.mpool.PoolManager;
+
/**
* The MetaDataContainer is the wave of the future. While the
@@ -79,6 +99,11 @@
protected Configuration m_assemblyInfo;
protected ServiceManager m_parentManager;
protected ClassLoader m_loader;
+ protected LoggerManager m_logManager;
+ protected PoolManager m_poolManager;
+ protected Queue m_commandQueue;
+ protected InstrumentManager m_instrumentManager;
+ protected LifecycleExtensionManager m_extManager;
public MetaDataContainer()
{
@@ -90,13 +115,53 @@
m_context = context;
m_assemblyInfo = (Configuration)
context.get( ContainerManagerConstants.ASSEMBLY_CONFIGURATION );
- m_loader = (ClassLoader)
- context.get( ContainerConstants.CONTEXT_CLASSLOADER );
+
+ try
+ {
+ m_loader = (ClassLoader)m_context.get( Container.CONTEXT_CLASSLOADER );
+ }
+ catch( ContextException ce )
+ {
+ m_loader = Thread.currentThread().getContextClassLoader();
+ }
if ( m_loader instanceof ComponentClassLoader )
{
m_jarEntries.merge( ((ComponentClassLoader) m_loader).getEntries() );
}
+
+ m_logManager = (LoggerManager)m_context.get( Container.LOGGER_MANAGER );
+ m_poolManager = (PoolManager)m_context.get( Container.POOL_MANAGER );
+
+ try
+ {
+ m_extManager = (LifecycleExtensionManager)m_context.get( Container.EXTENSION_MANAGER );
+ }
+ catch( ContextException ce )
+ {
+ m_extManager = new LifecycleExtensionManager();
+
+ if ( getLogger().isDebugEnabled() )
+ {
+ getLogger().debug( "No Container.EXTENSION_MANAGER is given, installing default "
+ + "lifecycle extension manager with 0 extensions" );
+ }
+ }
+
+ m_extManager.enableLogging( getLogger() );
+
+ try
+ {
+ m_commandQueue = (Queue)m_context.get( Container.COMMAND_QUEUE );
+ }
+ catch( ContextException ce )
+ {
+ m_commandQueue = null;
+ getLogger().warn( "No Container.COMMAND_QUEUE is given, all management will be "
+ + "performed synchronously" );
+ }
+
+ m_instrumentManager = (InstrumentManager)m_context.get( Container.INSTRUMENT_MANAGER );
}
public void service( ServiceManager manager ) throws ServiceException
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>