donaldp     02/05/10 03:44:58

  Modified:    src/java/org/apache/avalon/phoenix/components/kernel
                        DefaultKernel.java
  Log:
  Integrate LifecycleUtil so that it used by kernel
  
  Revision  Changes    Path
  1.60      +42 -17    
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.59
  retrieving revision 1.60
  diff -u -r1.59 -r1.60
  --- DefaultKernel.java        10 May 2002 09:13:41 -0000      1.59
  +++ DefaultKernel.java        10 May 2002 10:44:57 -0000      1.60
  @@ -13,10 +13,12 @@
   import org.apache.avalon.framework.CascadingException;
   import org.apache.avalon.framework.configuration.Configuration;
   import org.apache.avalon.framework.logger.AbstractLogEnabled;
  +import org.apache.avalon.framework.logger.Logger;
   import org.apache.avalon.framework.service.DefaultServiceManager;
   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.application.DefaultApplication;
   import org.apache.avalon.phoenix.interfaces.Application;
   import org.apache.avalon.phoenix.interfaces.ApplicationContext;
  @@ -120,16 +122,20 @@
           {
               try
               {
  -                application = new DefaultApplication( entry.getMetaData() );
  -                setupLogger( application, name );
  +                final DefaultApplication newApp =
  +                    new DefaultApplication( entry.getMetaData() );
  +
  +                final Logger childLogger = getLogger().getChildLogger( name 
);
  +                LifecycleUtil.logEnable( newApp, childLogger );
   
                   final ApplicationContext context = createApplicationContext( 
entry );
  -                application.setApplicationContext( context );
  +                newApp.setApplicationContext( context );
   
  -                application.initialize();
  -                application.start();
  +                LifecycleUtil.initialize( newApp );
  +                LifecycleUtil.start( newApp );
   
  -                entry.setApplication( application );
  +                entry.setApplication( newApp );
  +                application = newApp;
               }
               catch( final Throwable t )
               {
  @@ -138,14 +144,18 @@
                   entry.setApplication( null );
   
                   final String message =
  -                    REZ.getString( "kernel.error.entry.initialize", 
entry.getMetaData().getName() );
  +                    REZ.getString( "kernel.error.entry.initialize",
  +                                   entry.getMetaData().getName() );
                   throw new CascadingException( message, t );
               }
   
               // manage application
               try
               {
  -                m_systemManager.register( name + ",type=Application", 
application, new Class[]{ApplicationMBean.class} );
  +                final String managementName = name + ",type=Application";
  +                m_systemManager.register( managementName,
  +                                          application,
  +                                          new 
Class[]{ApplicationMBean.class} );
               }
               catch( final Throwable t )
               {
  @@ -163,8 +173,7 @@
           if( null != application )
           {
               entry.setApplication( null );
  -            application.stop();
  -            application.dispose();
  +            LifecycleUtil.shutdown( application );
           }
           else
           {
  @@ -181,7 +190,8 @@
           throws Exception
       {
           final String name = metaData.getName();
  -        final SarEntry entry = new SarEntry( metaData, classLoader, 
hierarchy, server );
  +        final SarEntry entry =
  +            new SarEntry( metaData, classLoader, hierarchy, server );
           m_entrys.put( name, entry );
   
           try
  @@ -199,17 +209,32 @@
       private ApplicationContext createApplicationContext( final SarEntry 
entry )
           throws Exception
       {
  +        final SarMetaData metaData = entry.getMetaData();
  +        final String name = metaData.getName();
  +
           final DefaultApplicationContext context =
  -            new DefaultApplicationContext( entry.getMetaData(),
  +            new DefaultApplicationContext( metaData,
                                              entry.getClassLoader(),
                                              entry.getHierarchy() );
   
  -        setupLogger( context, entry.getMetaData().getName() + ".frame" );
  -
  -        final ServiceManager serviceManager = createServiceManager();
  -        ( (Serviceable)context ).service( serviceManager );
  -        context.configure( entry.getConfiguration() );
  +        LifecycleUtil.logEnable( context, createContextLogger( name ) );
  +        LifecycleUtil.service( context, createServiceManager() );
  +        LifecycleUtil.configure( context, entry.getConfiguration() );
           return context;
  +    }
  +
  +    /**
  +     * Create a logger for specified ApplicationContext.
  +     *
  +     * @param name the name of application name
  +     * @return the Logger for context
  +     */
  +    private Logger createContextLogger( final String name )
  +    {
  +        final String loggerName = name + ".frame";
  +        final Logger childLogger =
  +            getLogger().getChildLogger( loggerName );
  +        return childLogger;
       }
   
       private ServiceManager createServiceManager()
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to