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/05/11 08:32:41 UTC

cvs commit: jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/frontends CLIMain.java PhoenixServlet.java

donaldp     02/05/10 23:32:41

  Modified:    src/java/org/apache/avalon/phoenix/components/application
                        LifecycleHelper.java
               src/java/org/apache/avalon/phoenix/components/embeddor
                        DefaultEmbeddor.java
               src/java/org/apache/avalon/phoenix/components/kernel
                        DefaultKernel.java
               src/java/org/apache/avalon/phoenix/frontends CLIMain.java
                        PhoenixServlet.java
  Added:       src/java/org/apache/avalon/phoenix/components
                        ComponentUtil.java
  Removed:     src/java/org/apache/avalon/phoenix/components
                        LifecycleUtil.java
  Log:
  LifecycleUtil renamed to ComponentUtil in preparation for adding a
  generic LifecycleUtil or LifecycleHelper.
  
  Revision  Changes    Path
  1.1                  jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/ComponentUtil.java
  
  Index: ComponentUtil.java
  ===================================================================
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included  with this distribution in
   * the LICENSE.txt file.
   */
  package org.apache.avalon.phoenix.components;
  
  import org.apache.avalon.framework.activity.Disposable;
  import org.apache.avalon.framework.activity.Initializable;
  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.component.Composable;
  import org.apache.avalon.framework.configuration.Configurable;
  import org.apache.avalon.framework.configuration.Configuration;
  import org.apache.avalon.framework.configuration.ConfigurationException;
  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.LogEnabled;
  import org.apache.avalon.framework.logger.Loggable;
  import org.apache.avalon.framework.logger.Logger;
  import org.apache.avalon.framework.parameters.ParameterException;
  import org.apache.avalon.framework.parameters.Parameterizable;
  import org.apache.avalon.framework.parameters.Parameters;
  import org.apache.avalon.framework.service.ServiceException;
  import org.apache.avalon.framework.service.ServiceManager;
  import org.apache.avalon.framework.service.Serviceable;
  
  /**
   * Utility class that makes it easier to transfer
   * a component throught it's lifecycle stages.
   *
   * @author <a href="mailto:peter@apache.org">Peter Donald</a>
   * @version $Revision: 1.1 $ $Date: 2002/05/11 06:32:41 $
   * @todo Add a MissingResource exception and make all the method
   *       throw that if supplied resource (logger, context, etc)
   *       is null.
   */
  public final class ComponentUtil
  {
      /**
       * Private constructor to block instantiation.
       */
      private ComponentUtil()
      {
      }
  
      /**
       * Run specified object through shutdown lifecycle stages
       * (Stop and Dispose).
       *
       * @param object the object to shutdown
       * @throws Exception if there is a problem stoppping object
       */
      public static void shutdown( final Object object )
          throws Exception
      {
          stop( object );
          dispose( object );
      }
  
      /**
       * Supply specified object with Logger if it implements the
       * {@link Loggable} interface.
       *
       * @param object the object to Start
       * @param logger the logger to enable component with. May be null
       *        in which case the specified object must not implement Loggable.
       * @throws Exception if the object is Loggable but Logger is null
       * @deprecated Note that this is deprecated as it uses the deprecated
       *             Loggable interface.
       */
      public static void setupLoggable( final Object object,
                                        final org.apache.log.Logger logger )
          throws Exception
      {
          if( object instanceof Loggable )
          {
              if( null == logger )
              {
                  final String message = "Missing logger";
                  throw new Exception( message );
              }
              ( (Loggable)object ).setLogger( logger );
          }
      }
  
      /**
       * Supply specified object with ServiceManager if it implements the
       * {@link Serviceable} interface.
       *
       * @param object the object to Start
       * @param logger the logger to enable component with. May be null
       *        in which case the specified object must not implement LogEnabled.
       * @throws Exception if the object is LogEnabled but Logger is null
       */
      public static void logEnable( final Object object,
                                    final Logger logger )
          throws Exception
      {
          if( object instanceof LogEnabled )
          {
              if( null == logger )
              {
                  final String message = "Missing logger";
                  throw new Exception( message );
              }
              ( (LogEnabled)object ).enableLogging( logger );
          }
      }
  
      /**
       * Supply specified object with a Context object if it implements the
       * {@link Contextualizable} interface.
       *
       * @param object the object to contextualize
       * @param context the context object to use for object.
       *        May be null in which case the specified object must not
       *        implement Contextualizable.
       * @throws ContextException if there is a problem contextualizing object,
       *         or the object is Contextualizable but context is null
       */
      public static void contextualize( final Object object,
                                        final Context context )
          throws ContextException
      {
          if( object instanceof Contextualizable )
          {
              if( null == context )
              {
                  final String message = "Missing context";
                  throw new ContextException( message );
              }
              ( (Contextualizable)object ).contextualize( context );
          }
      }
  
      /**
       * Supply specified object with ServiceManager if it implements the
       * {@link Serviceable} interface.
       *
       * @param object the object to service
       * @param serviceManager the serviceManager object to use for object.
       *        May be null in which case the specified object must not
       *        implement Serviceable.
       * @throws ServiceException if there is a problem servicing object,
       *         or the object is Servicable but ServiceManager is null
       */
      public static void service( final Object object,
                                  final ServiceManager serviceManager )
          throws ServiceException
      {
          if( object instanceof Serviceable )
          {
              if( null == serviceManager )
              {
                  final String message = "Missing ServiceManager";
                  throw new ServiceException( message );
              }
              ( (Serviceable)object ).service( serviceManager );
          }
      }
  
      /**
       * Supply specified object with ComponentManager if it implements the
       * {@link Composable} interface.
       *
       * @param object the object to compose
       * @param componentManager the ComponentManager object to use for object.
       *        May be null in which case the specified object must not
       *        implement Composable.
       * @throws ComponentException if there is a problem composing object,
       *         or the object is Composable but ComponentManager is null
       * @deprecated compose() is no longer the preferred method via
       *             which components will be supplied with Components. Please
       *             Use service() from Serviceable instead.
       */
      public static void compose( final Object object,
                                  final ComponentManager componentManager )
          throws ComponentException
      {
          if( object instanceof Composable )
          {
              if( null == componentManager )
              {
                  final String message = "Missing ComponentManager";
                  throw new ComponentException( message );
              }
              ( (Composable)object ).compose( componentManager );
          }
      }
  
      /**
       * Configure specified object if it implements the
       * {@link Configurable} interface.
       *
       * @param object the object to Start
       * @param configuration the configuration object to use during
       *        configuration. May be null in which case the specified object
       *        must not implement Configurable
       * @throws ConfigurationException if there is a problem Configuring object,
       *         or the object is Configurable but Configuration is null
       */
      public static void configure( final Object object,
                                    final Configuration configuration )
          throws ConfigurationException
      {
          if( object instanceof Configurable )
          {
              if( null == configuration )
              {
                  final String message = "Missing configuration";
                  throw new ConfigurationException( message );
              }
              ( (Configurable)object ).configure( configuration );
          }
      }
  
      /**
       * Parameterize specified object if it implements the
       * {@link Parameterizable} interface.
       *
       * @param object the object to Parameterize.
       * @param parameters the parameters object to use during Parameterization.
       *        May be null in which case the specified object must not
       *        implement Parameterizable.
       * @throws ParameterException if there is a problem Parameterizing object,
       *         or the object is Parameterizable but parameters is null
       */
      public static void parameterize( final Object object,
                                       final Parameters parameters )
          throws ParameterException
      {
          if( object instanceof Parameterizable )
          {
              if( null == parameters )
              {
                  final String message = "Missing parameters";
                  throw new ParameterException( message );
              }
              ( (Parameterizable)object ).parameterize( parameters );
          }
      }
  
      /**
       * Initialize specified object if it implements the
       * {@link Initializable} interface.
       *
       * @param object the object to Initialize
       * @throws Exception if there is a problem Initializing object
       */
      public static void initialize( final Object object )
          throws Exception
      {
          if( object instanceof Initializable )
          {
              ( (Initializable)object ).initialize();
          }
      }
  
      /**
       * Start specified object if it implements the
       * {@link Startable} interface.
       *
       * @param object the object to Start
       * @throws Exception if there is a problem Starting object
       */
      public static void start( final Object object )
          throws Exception
      {
          if( object instanceof Startable )
          {
              ( (Startable)object ).start();
          }
      }
  
      /**
       * Stop specified object if it implements the
       * {@link Startable} interface.
       *
       * @param object the object to stop
       * @throws Exception if there is a problem stoppping object
       */
      public static void stop( final Object object )
          throws Exception
      {
          if( object instanceof Startable )
          {
              ( (Startable)object ).stop();
          }
      }
  
      /**
       * Dispose specified object if it implements the
       * {@link Disposable} interface.
       *
       * @param object the object to dispose
       */
      public static void dispose( final Object object )
      {
          if( object instanceof Disposable )
          {
              ( (Disposable)object ).dispose();
          }
      }
  }
  
  
  
  1.35      +14 -14    jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/application/LifecycleHelper.java
  
  Index: LifecycleHelper.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/application/LifecycleHelper.java,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -u -r1.34 -r1.35
  --- LifecycleHelper.java	10 May 2002 10:49:29 -0000	1.34
  +++ LifecycleHelper.java	11 May 2002 06:32:41 -0000	1.35
  @@ -36,7 +36,7 @@
   import org.apache.avalon.phoenix.BlockContext;
   import org.apache.avalon.phoenix.BlockEvent;
   import org.apache.avalon.phoenix.BlockListener;
  -import org.apache.avalon.phoenix.components.LifecycleUtil;
  +import org.apache.avalon.phoenix.components.ComponentUtil;
   import org.apache.avalon.phoenix.interfaces.Application;
   import org.apache.avalon.phoenix.interfaces.ApplicationContext;
   import org.apache.avalon.phoenix.metadata.BlockListenerMetaData;
  @@ -130,13 +130,13 @@
           if( listener instanceof LogEnabled )
           {
               final Logger logger = new LogKitLogger( m_context.getLogger( name ) );
  -            LifecycleUtil.logEnable( listener, logger );
  +            ComponentUtil.logEnable( listener, logger );
           }
   
           if( listener instanceof Configurable )
           {
               final Configuration configuration = getConfiguration( name, TYPE_LISTENER );
  -            LifecycleUtil.configure( listener, configuration );
  +            ComponentUtil.configure( listener, configuration );
           }
   
           // As ApplicationListners are BlockListeners then this is applicable for all
  @@ -214,7 +214,7 @@
               {
                   notice( name, stage );
                   final BlockContext context = createBlockContext( name );
  -                LifecycleUtil.contextualize( block, context );
  +                ComponentUtil.contextualize( block, context );
               }
   
               //Composition stage
  @@ -223,13 +223,13 @@
               {
                   notice( name, stage );
                   final ComponentManager componentManager = createComponentManager( metaData );
  -                LifecycleUtil.compose( block, componentManager );
  +                ComponentUtil.compose( block, componentManager );
               }
               else if( block instanceof Serviceable )
               {
                   notice( name, stage );
                   final ServiceManager manager = createServiceManager( metaData );
  -                LifecycleUtil.service( block, manager );
  +                ComponentUtil.service( block, manager );
               }
   
               //Configuring stage
  @@ -238,7 +238,7 @@
               {
                   notice( name, stage );
                   final Configuration configuration = getConfiguration( name, TYPE_BLOCK );
  -                LifecycleUtil.configure( block, configuration );
  +                ComponentUtil.configure( block, configuration );
               }
   
               //Parameterizing stage
  @@ -249,7 +249,7 @@
                   final Parameters parameters =
                       Parameters.fromConfiguration( getConfiguration( name, TYPE_BLOCK ) );
                   parameters.makeReadOnly();
  -                LifecycleUtil.parameterize( block, parameters );
  +                ComponentUtil.parameterize( block, parameters );
               }
   
               //Initialize stage
  @@ -257,7 +257,7 @@
               if( block instanceof Initializable )
               {
                   notice( name, stage );
  -                LifecycleUtil.initialize( block );
  +                ComponentUtil.initialize( block );
               }
   
               //Start stage
  @@ -265,7 +265,7 @@
               if( block instanceof Startable )
               {
                   notice( name, stage );
  -                LifecycleUtil.start( block );
  +                ComponentUtil.start( block );
               }
   
               entry.setState( State.STARTED );
  @@ -291,13 +291,13 @@
           if( block instanceof Loggable )
           {
               notice( name, stage );
  -            LifecycleUtil.setupLoggable( block, m_context.getLogger( name ) );
  +            ComponentUtil.setupLoggable( block, m_context.getLogger( name ) );
           }
           else if( block instanceof LogEnabled )
           {
               notice( name, stage );
               final Logger logger = new LogKitLogger( m_context.getLogger( name ) );
  -            LifecycleUtil.logEnable( block, logger );
  +            ComponentUtil.logEnable( block, logger );
           }
       }
   
  @@ -336,7 +336,7 @@
               try
               {
                   entry.setState( State.STOPPING );
  -                LifecycleUtil.stop( block );
  +                ComponentUtil.stop( block );
                   entry.setState( State.STOPPED );
               }
               catch( final Throwable t )
  @@ -353,7 +353,7 @@
               try
               {
                   entry.setState( State.DESTROYING );
  -                LifecycleUtil.dispose( block );
  +                ComponentUtil.dispose( block );
               }
               catch( final Throwable t )
               {
  
  
  
  1.61      +9 -9      jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/embeddor/DefaultEmbeddor.java
  
  Index: DefaultEmbeddor.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/embeddor/DefaultEmbeddor.java,v
  retrieving revision 1.60
  retrieving revision 1.61
  diff -u -r1.60 -r1.61
  --- DefaultEmbeddor.java	11 May 2002 02:05:13 -0000	1.60
  +++ DefaultEmbeddor.java	11 May 2002 06:32:41 -0000	1.61
  @@ -31,7 +31,7 @@
   import org.apache.avalon.framework.service.DefaultServiceManager;
   import org.apache.avalon.framework.service.ServiceManager;
   import org.apache.avalon.phoenix.Constants;
  -import org.apache.avalon.phoenix.components.LifecycleUtil;
  +import org.apache.avalon.phoenix.components.ComponentUtil;
   import org.apache.avalon.phoenix.interfaces.Deployer;
   import org.apache.avalon.phoenix.interfaces.Embeddor;
   import org.apache.avalon.phoenix.interfaces.EmbeddorMBean;
  @@ -504,13 +504,13 @@
           throws Exception
       {
           final Logger childLogger = getLogger().getChildLogger( loggerName );
  -        LifecycleUtil.logEnable( object, childLogger );
  -        LifecycleUtil.contextualize( object, m_context );
  -        LifecycleUtil.service( object, getServiceManager() );
  -        LifecycleUtil.parameterize( object, m_parameters );
  -        LifecycleUtil.configure( object, config );
  -        LifecycleUtil.initialize( object );
  -        LifecycleUtil.start( object );
  +        ComponentUtil.logEnable( object, childLogger );
  +        ComponentUtil.contextualize( object, m_context );
  +        ComponentUtil.service( object, getServiceManager() );
  +        ComponentUtil.parameterize( object, m_parameters );
  +        ComponentUtil.configure( object, config );
  +        ComponentUtil.initialize( object );
  +        ComponentUtil.start( object );
       }
   
       private void shutdownComponents()
  @@ -521,7 +521,7 @@
           {
               final Object object = m_entrys[ i ].getObject();
               if( null == object ) continue;
  -            LifecycleUtil.shutdown( object );
  +            ComponentUtil.shutdown( object );
           }
       }
   
  
  
  
  1.62      +8 -8      jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/kernel/DefaultKernel.java
  
  Index: DefaultKernel.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/kernel/DefaultKernel.java,v
  retrieving revision 1.61
  retrieving revision 1.62
  diff -u -r1.61 -r1.62
  --- DefaultKernel.java	10 May 2002 11:08:56 -0000	1.61
  +++ DefaultKernel.java	11 May 2002 06:32:41 -0000	1.62
  @@ -20,7 +20,7 @@
   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.phoenix.components.LifecycleUtil;
  +import org.apache.avalon.phoenix.components.ComponentUtil;
   import org.apache.avalon.phoenix.components.application.DefaultApplication;
   import org.apache.avalon.phoenix.interfaces.Application;
   import org.apache.avalon.phoenix.interfaces.ApplicationContext;
  @@ -128,13 +128,13 @@
                       new DefaultApplication( entry.getMetaData() );
   
                   final Logger childLogger = getLogger().getChildLogger( name );
  -                LifecycleUtil.logEnable( newApp, childLogger );
  +                ComponentUtil.logEnable( newApp, childLogger );
   
                   final ApplicationContext context = createApplicationContext( entry );
                   newApp.setApplicationContext( context );
   
  -                LifecycleUtil.initialize( newApp );
  -                LifecycleUtil.start( newApp );
  +                ComponentUtil.initialize( newApp );
  +                ComponentUtil.start( newApp );
   
                   entry.setApplication( newApp );
                   application = newApp;
  @@ -175,7 +175,7 @@
           if( null != application )
           {
               entry.setApplication( null );
  -            LifecycleUtil.shutdown( application );
  +            ComponentUtil.shutdown( application );
           }
           else
           {
  @@ -219,9 +219,9 @@
                                              entry.getClassLoader(),
                                              entry.getHierarchy() );
   
  -        LifecycleUtil.logEnable( context, createContextLogger( name ) );
  -        LifecycleUtil.service( context, createServiceManager() );
  -        LifecycleUtil.configure( context, entry.getConfiguration() );
  +        ComponentUtil.logEnable( context, createContextLogger( name ) );
  +        ComponentUtil.service( context, createServiceManager() );
  +        ComponentUtil.configure( context, entry.getConfiguration() );
           return context;
       }
   
  
  
  
  1.32      +7 -7      jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/frontends/CLIMain.java
  
  Index: CLIMain.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/frontends/CLIMain.java,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- CLIMain.java	10 May 2002 11:40:04 -0000	1.31
  +++ CLIMain.java	11 May 2002 06:32:41 -0000	1.32
  @@ -22,7 +22,7 @@
   import org.apache.avalon.framework.logger.Logger;
   import org.apache.avalon.framework.parameters.Parameters;
   import org.apache.avalon.phoenix.Constants;
  -import org.apache.avalon.phoenix.components.LifecycleUtil;
  +import org.apache.avalon.phoenix.components.ComponentUtil;
   import org.apache.avalon.phoenix.interfaces.Embeddor;
   import org.apache.log.Hierarchy;
   import org.apache.log.LogTarget;
  @@ -178,13 +178,13 @@
               final String embeddorClassname = configuration.getAttribute( "class" );
               m_embeddor = (Embeddor)Class.forName( embeddorClassname ).newInstance();
   
  -            LifecycleUtil.logEnable( m_embeddor,
  +            ComponentUtil.logEnable( m_embeddor,
                                        createLogger( parameters ) );
  -            LifecycleUtil.contextualize( m_embeddor,
  +            ComponentUtil.contextualize( m_embeddor,
                                            new DefaultContext( data ) );
  -            LifecycleUtil.parameterize( m_embeddor, parameters );
  -            LifecycleUtil.configure( m_embeddor, configuration );
  -            LifecycleUtil.initialize( m_embeddor );
  +            ComponentUtil.parameterize( m_embeddor, parameters );
  +            ComponentUtil.configure( m_embeddor, configuration );
  +            ComponentUtil.initialize( m_embeddor );
           }
           catch( final Throwable throwable )
           {
  @@ -266,7 +266,7 @@
   
               try
               {
  -                LifecycleUtil.shutdown( m_embeddor );
  +                ComponentUtil.shutdown( m_embeddor );
               }
               catch( final Throwable throwable )
               {
  
  
  
  1.13      +6 -6      jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/frontends/PhoenixServlet.java
  
  Index: PhoenixServlet.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/frontends/PhoenixServlet.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- PhoenixServlet.java	10 May 2002 11:40:04 -0000	1.12
  +++ PhoenixServlet.java	11 May 2002 06:32:41 -0000	1.13
  @@ -21,7 +21,7 @@
   import org.apache.avalon.framework.logger.LogKitLogger;
   import org.apache.avalon.framework.logger.Logger;
   import org.apache.avalon.framework.parameters.Parameters;
  -import org.apache.avalon.phoenix.components.LifecycleUtil;
  +import org.apache.avalon.phoenix.components.ComponentUtil;
   import org.apache.avalon.phoenix.components.embeddor.SingleAppEmbeddor;
   import org.apache.avalon.phoenix.interfaces.Embeddor;
   import org.apache.log.Hierarchy;
  @@ -92,10 +92,10 @@
   
               m_embeddor = (SingleAppEmbeddor)Class.forName( embeddorClassname ).newInstance();
   
  -            LifecycleUtil.logEnable( m_embeddor, createLogger( m_parameters ) );
  -            LifecycleUtil.parameterize( m_embeddor, m_parameters );
  -            LifecycleUtil.configure( m_embeddor, embeddorConf );
  -            LifecycleUtil.initialize( m_embeddor );
  +            ComponentUtil.logEnable( m_embeddor, createLogger( m_parameters ) );
  +            ComponentUtil.parameterize( m_embeddor, m_parameters );
  +            ComponentUtil.configure( m_embeddor, embeddorConf );
  +            ComponentUtil.initialize( m_embeddor );
   
               final Thread thread = new Thread( this, "Phoenix-Monitor" );
               thread.start();
  @@ -138,7 +138,7 @@
   
           try
           {
  -            LifecycleUtil.shutdown( m_embeddor );
  +            ComponentUtil.shutdown( m_embeddor );
           }
           catch( final Throwable throwable )
           {
  
  
  

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