You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by do...@apache.org on 2002/11/08 01:33:42 UTC

cvs commit: jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/handler AbstractComponentHandler.java FactoryComponentHandler.java PerThreadComponentHandler.java ThreadSafeComponentHandler.java

donaldp     2002/11/07 16:33:42

  Modified:    fortress/src/java/org/apache/excalibur/fortress/handler
                        AbstractComponentHandler.java
                        FactoryComponentHandler.java
                        PerThreadComponentHandler.java
                        ThreadSafeComponentHandler.java
  Log:
  More homogenizing
  
  Revision  Changes    Path
  1.25      +30 -1     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.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- AbstractComponentHandler.java	8 Nov 2002 00:24:29 -0000	1.24
  +++ AbstractComponentHandler.java	8 Nov 2002 00:33:41 -0000	1.25
  @@ -256,12 +256,41 @@
       }
   
       /**
  +     * Create a new component for handler.
  +     *
  +     * @return the new component
  +     * @throws Exception if unable to create new component
  +     */
  +    protected Object newComponent()
  +        throws Exception
  +    {
  +        try
  +        {
  +            return m_factory.newInstance();
  +        }
  +        catch( final Exception e )
  +        {
  +            if( m_logger.isErrorEnabled() )
  +            {
  +                final String message = "Unable to create new instance";
  +                m_logger.error( message, e );
  +            }
  +
  +            throw e;
  +        }
  +    }
  +
  +    /**
        * Dispose of the specified component.
        *
        * @param component the component
        */
       protected void disposeComponent( final Object component )
       {
  +        if( null == component )
  +        {
  +            return;
  +        }
           try
           {
               m_factory.dispose( component );
  
  
  
  1.33      +2 -2      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.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- FactoryComponentHandler.java	8 Nov 2002 00:23:18 -0000	1.32
  +++ FactoryComponentHandler.java	8 Nov 2002 00:33:41 -0000	1.33
  @@ -90,7 +90,7 @@
       protected Object doGet()
           throws Exception
       {
  -        return m_factory.newInstance();
  +        return newComponent();
       }
   
       /**
  
  
  
  1.36      +8 -17     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.35
  retrieving revision 1.36
  diff -u -r1.35 -r1.36
  --- PerThreadComponentHandler.java	8 Nov 2002 00:24:29 -0000	1.35
  +++ PerThreadComponentHandler.java	8 Nov 2002 00:33:41 -0000	1.36
  @@ -1,5 +1,4 @@
   /*
  -
    ============================================================================
                      The Apache Software License, Version 1.1
    ============================================================================
  @@ -51,7 +50,6 @@
   
   import org.apache.avalon.framework.configuration.Configuration;
   import org.apache.avalon.framework.context.Context;
  -import org.apache.avalon.framework.logger.Logger;
   import org.apache.avalon.framework.service.ServiceManager;
   import org.apache.excalibur.fortress.lifecycle.LifecycleExtensionManager;
   
  @@ -84,7 +82,7 @@
       {
           super( componentClass, config, service, context, extManager, isLazy );
           m_logger = m_logkit.getLoggerForCategory( "system.handler.perthread" );
  -        m_instance = new ThreadLocalComponent( m_factory, m_logger );
  +        m_instance = new ThreadLocalComponent( this );
           setInstrumentableName( "PerThreadComponentHandler" );
       }
   
  @@ -105,35 +103,28 @@
   
       protected void doDispose()
       {
  -        disposeComponent( m_instance );
  +        disposeComponent( m_instance.get() );
           m_instance = null;
       }
   
       private static final class ThreadLocalComponent
           extends ThreadLocal
       {
  -        private final ComponentFactory m_factory;
  -        private final Logger m_logger;
  +        private final PerThreadComponentHandler m_handler;
   
  -        protected ThreadLocalComponent( ComponentFactory factory, Logger logger )
  +        protected ThreadLocalComponent( final PerThreadComponentHandler handler )
           {
  -            m_factory = factory;
  -            m_logger = logger;
  +            m_handler = handler;
           }
   
           protected Object initialValue()
           {
               try
               {
  -                return m_factory.newInstance();
  +                return m_handler.newComponent();
               }
  -            catch( Exception e )
  +            catch( final Exception e )
               {
  -                if( m_logger.isErrorEnabled() )
  -                {
  -                    m_logger.error( "Unable to create new thread local instance", e );
  -                }
  -
                   return null;
               }
           }
  
  
  
  1.35      +2 -3      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.34
  retrieving revision 1.35
  diff -u -r1.34 -r1.35
  --- ThreadSafeComponentHandler.java	8 Nov 2002 00:24:29 -0000	1.34
  +++ ThreadSafeComponentHandler.java	8 Nov 2002 00:33:41 -0000	1.35
  @@ -50,7 +50,6 @@
   package org.apache.excalibur.fortress.handler;
   
   import org.apache.avalon.framework.configuration.Configuration;
  -import org.apache.avalon.framework.container.ContainerUtil;
   import org.apache.avalon.framework.context.Context;
   import org.apache.avalon.framework.service.ServiceManager;
   import org.apache.excalibur.fortress.lifecycle.LifecycleExtensionManager;
  @@ -93,7 +92,7 @@
       protected void doInitialize()
           throws Exception
       {
  -        m_instance = m_factory.newInstance();
  +        m_instance = newComponent();
       }
   
       /**
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>