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>