You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by mc...@apache.org on 2003/01/18 21:45:58 UTC

cvs commit: avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifecycle/startup DefaultStartupService.java StartupService.java package.html

mcconnell    2003/01/18 12:45:58

  Modified:    assembly/src/java/org/apache/avalon/assembly/lifecycle
                        DefaultDeploymentService.java
               assembly/src/java/org/apache/avalon/assembly/lifecycle/initialization
                        DefaultInitializationService.java
                        ExtendedInitializationService.java
                        InitializationService.java
  Removed:     assembly/src/java/org/apache/avalon/assembly/lifecycle/startup
                        DefaultStartupService.java StartupService.java
                        package.html
  Log:
  Removed startup service - refactor initialization service to handle Startup as part of the Avalon 4 initialization strategy.
  
  Revision  Changes    Path
  1.15      +9 -45     avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifecycle/DefaultDeploymentService.java
  
  Index: DefaultDeploymentService.java
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifecycle/DefaultDeploymentService.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- DefaultDeploymentService.java	18 Jan 2003 16:19:32 -0000	1.14
  +++ DefaultDeploymentService.java	18 Jan 2003 20:45:58 -0000	1.15
  @@ -78,8 +78,6 @@
   import org.apache.avalon.assembly.lifecycle.initialization.InitializationService;
   import org.apache.avalon.assembly.lifecycle.initialization.ExtendedInitializationService;
   import org.apache.avalon.assembly.lifecycle.initialization.DefaultInitializationService;
  -import org.apache.avalon.assembly.lifecycle.startup.StartupService;
  -import org.apache.avalon.assembly.lifecycle.startup.DefaultStartupService;
   import org.apache.avalon.assembly.lifecycle.disposal.DisposalService;
   import org.apache.avalon.assembly.lifecycle.disposal.DefaultDisposalService;
   import org.apache.avalon.assembly.lifecycle.disposal.ExtendedDisposalService;
  @@ -108,7 +106,6 @@
       private ParameterizationService m_parameters;
       private CompositionService m_composition;
       private InitializationService m_initialization;
  -    private StartupService m_startup;
       private DisposalService m_disposal;
   
       private boolean m_initialized = false;
  @@ -204,16 +201,6 @@
               m_initialization = makeInitializationService();
           }
   
  -        key = "urn:assembly:lifecycle.startup"; 
  -        if( m_context.hasEntry( key ) )
  -        {
  -            m_startup = (StartupService) m_context.get( key );
  -        }
  -        else
  -        {
  -            m_startup = makeStartupService();
  -        }
  -
           key = "urn:assembly:lifecycle.disposal"; 
           if( m_context.hasEntry( key ) )
           {
  @@ -286,10 +273,6 @@
               m_configuration.configure( appliance, instance );
               m_parameters.parameterize( appliance, instance );
               m_initialization.initialize( appliance, instance );
  -            if( appliance.getStartupPolicy() )
  -            {
  -                m_startup.start( appliance, instance );
  -            }
               return instance;
           }
           catch( Throwable e )
  @@ -328,18 +311,15 @@
               appliance.disassemble();
           }
   
  -        if( appliance.getStartupPolicy() )
  +        try
           {
  -            try
  -            {
  -                m_startup.stop( appliance, instance );
  -            }
  -            catch( Throwable e )
  -            {
  -                final String warning = 
  -                  "Ignoring shutdown error raised by component: " + appliance;
  -                getLogger().warn( warning, e );
  -            }
  +            m_initialization.deinitialize( appliance, instance );
  +        }
  +        catch( Throwable e )
  +        {
  +            final String warning = 
  +              "Ignoring shutdown error raised by component: " + appliance;
  +            getLogger().warn( warning, e );
           }
   
           m_disposal.dispose( appliance, instance );
  @@ -456,22 +436,6 @@
           {
               final String error = 
                 "Internal error while attempting to build the bootstrap initialization service.";
  -            throw new DeploymentException( error, e );
  -        }
  -    }
  -
  -    private StartupService makeStartupService() throws DeploymentException
  -    {
  -        try
  -        {
  -            DefaultStartupService service = new DefaultStartupService();
  -            service.enableLogging( getLogger().getChildLogger( "startup" ) );
  -            return service;
  -        }
  -        catch( Throwable e )
  -        {
  -            final String error = 
  -              "Internal error while attempting to build the bootstrap startup service.";
               throw new DeploymentException( error, e );
           }
       }
  
  
  
  1.4       +45 -4     avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifecycle/initialization/DefaultInitializationService.java
  
  Index: DefaultInitializationService.java
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifecycle/initialization/DefaultInitializationService.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- DefaultInitializationService.java	21 Dec 2002 03:28:37 -0000	1.3
  +++ DefaultInitializationService.java	18 Jan 2003 20:45:58 -0000	1.4
  @@ -51,6 +51,7 @@
   package org.apache.avalon.assembly.lifecycle.initialization;
   
   import org.apache.avalon.framework.logger.AbstractLogEnabled;
  +import org.apache.avalon.framework.activity.Startable;
   import org.apache.avalon.framework.activity.Initializable;
   import org.apache.avalon.assembly.appliance.Appliance;
   
  @@ -73,8 +74,8 @@
       public void initialize( Appliance appliance, Object object ) 
         throws Exception
       {
  -       if( object instanceof Initializable )
  -       {
  +        if( object instanceof Initializable )
  +        {
               if( getLogger().isDebugEnabled() )
               {
                   final String message =  
  @@ -82,6 +83,46 @@
                   getLogger().debug( message );
               }
              ((Initializable)object).initialize();
  -       }
  +        }
  +
  +        if( appliance.getStartupPolicy() && ( object instanceof Startable ) )
  +        {
  +            if( getLogger().isDebugEnabled() )
  +            {
  +                final String message = "starting " + appliance;
  +                getLogger().debug( message );
  +            }
  +            ((Startable)object).start();
  +        }
       }
  +
  +   /**
  +    * Deinitialize a supplied object in accordance with the parameters 
  +    * associated with the supplied appliance.
  +    * @param appliance the appliace
  +    * @param object the object to deinitialize
  +    */
  +    public void deinitialize( Appliance appliance, Object object ) 
  +      throws Exception
  +    {
  +        if( appliance == null )
  +        {
  +            throw new NullPointerException( "appliance" );
  +        }
  +        if( object == null )
  +        {
  +            throw new NullPointerException( "object" );
  +        }
  +
  +        if( appliance.getStartupPolicy() && ( object instanceof Startable ) )
  +        {
  +            if( getLogger().isDebugEnabled() )
  +            {
  +                final String message = "stopping " + appliance;
  +                getLogger().debug( message );
  +            }
  +            ((Startable)object).stop();
  +        }
  +    }
  +
   }
  
  
  
  1.13      +3 -11     avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifecycle/initialization/ExtendedInitializationService.java
  
  Index: ExtendedInitializationService.java
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifecycle/initialization/ExtendedInitializationService.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- ExtendedInitializationService.java	15 Jan 2003 09:09:25 -0000	1.12
  +++ ExtendedInitializationService.java	18 Jan 2003 20:45:58 -0000	1.13
  @@ -74,7 +74,7 @@
    * @author <a href="mailto:avalon-dev@jakarta.apache.org">Avalon Development Team</a>
    * @version $Revision$ $Date$
    */
  -public class ExtendedInitializationService extends AbstractLogEnabled implements InitializationService
  +public class ExtendedInitializationService extends DefaultInitializationService
   {
      /**
       * Initialize a supplied object in accordance with the parameters 
  @@ -169,14 +169,6 @@
           // and finally, initialize the component
           //
   
  -        if( object instanceof Initializable )
  -        {
  -            if( getLogger().isDebugEnabled() )
  -            {
  -                final String message = "initialization " + appliance;
  -                getLogger().debug( message );
  -            }
  -            ((Initializable)object).initialize();
  -        }
  +        super.initialize( appliance, object );
       }
   }
  
  
  
  1.2       +11 -2     avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifecycle/initialization/InitializationService.java
  
  Index: InitializationService.java
  ===================================================================
  RCS file: /home/cvs/avalon-sandbox/assembly/src/java/org/apache/avalon/assembly/lifecycle/initialization/InitializationService.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- InitializationService.java	29 Nov 2002 13:04:55 -0000	1.1
  +++ InitializationService.java	18 Jan 2003 20:45:58 -0000	1.2
  @@ -67,8 +67,17 @@
       * Initialize a supplied object in accordance with the parameters 
       * associated with the supplied appliance.
       * @param appliance the appliace
  -    * @param object the object to parameterize
  +    * @param object the object to initialize
       */
       void initialize( Appliance appliance, Object object ) 
  +      throws Exception;
  +
  +   /**
  +    * Deinitialize a supplied object in accordance with the parameters 
  +    * associated with the supplied appliance.
  +    * @param appliance the appliace
  +    * @param object the object to deinitialize
  +    */
  +    void deinitialize( Appliance appliance, Object object ) 
         throws Exception;
   }
  
  
  

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