donaldp     2002/11/01 16:29:28

  Modified:    src/java/org/apache/avalon/phoenix/components/classloader
                        SarPolicyResolver.java
               src/java/org/apache/avalon/phoenix/components/deployer
                        DefaultDeployer.java
               src/java/org/apache/avalon/phoenix/components/logger
                        DefaultLogManager.java
               src/java/org/apache/avalon/phoenix/interfaces
                        LogManager.java
               src/test/org/apache/avalon/phoenix/components/logger/test
                        LogManagerTestCase.java
  Log:
  Simplify interface to LogManager service by passing around context object. The 
context object will eventually be replaced with an ENvironmentEntry object or similar.
  
  Revision  Changes    Path
  1.4       +4 -2      
jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/classloader/SarPolicyResolver.java
  
  Index: SarPolicyResolver.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/classloader/SarPolicyResolver.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- SarPolicyResolver.java    2 Oct 2002 11:25:55 -0000       1.3
  +++ SarPolicyResolver.java    2 Nov 2002 00:29:27 -0000       1.4
  @@ -19,6 +19,7 @@
   import org.apache.avalon.framework.context.DefaultContext;
   import org.apache.avalon.framework.logger.AbstractLogEnabled;
   import org.apache.avalon.phoenix.components.util.ResourceUtil;
  +import org.apache.avalon.phoenix.BlockContext;
   import org.apache.excalibur.policy.builder.PolicyResolver;
   
   /**
  @@ -46,7 +47,8 @@
           map.putAll( System.getProperties() );
           m_context = new DefaultContext( map );
           m_context.put( "/", File.separator );
  -        m_context.put( "app.home", baseDirectory );
  +        //m_context.put( BlockContext.APP_NAME, sarName );
  +        m_context.put( BlockContext.APP_HOME_DIR, baseDirectory );
           m_workDirectory = workDirectory;
           m_baseDirectory = baseDirectory;
       }
  
  
  
  1.62      +10 -1     
jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/deployer/DefaultDeployer.java
  
  Index: DefaultDeployer.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/deployer/DefaultDeployer.java,v
  retrieving revision 1.61
  retrieving revision 1.62
  diff -u -r1.61 -r1.62
  --- DefaultDeployer.java      1 Nov 2002 08:23:30 -0000       1.61
  +++ DefaultDeployer.java      2 Nov 2002 00:29:27 -0000       1.62
  @@ -24,6 +24,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.framework.context.DefaultContext;
   import org.apache.avalon.phoenix.interfaces.Application;
   import org.apache.avalon.phoenix.interfaces.ClassLoaderManager;
   import org.apache.avalon.phoenix.interfaces.ConfigurationRepository;
  @@ -46,6 +47,7 @@
   import org.apache.avalon.phoenix.tools.configuration.ConfigurationBuilder;
   import org.apache.avalon.phoenix.tools.verifier.SarVerifier;
   import org.apache.avalon.phoenix.tools.verifier.VerifyException;
  +import org.apache.avalon.phoenix.BlockContext;
   
   /**
    * Deploy .sar files into a kernel using this class.
  @@ -248,11 +250,18 @@
   
               final File directory = installation.getDirectory();
   
  +            final DefaultContext context = new DefaultContext();
  +            context.put( BlockContext.APP_NAME, name );
  +            context.put( BlockContext.APP_HOME_DIR, directory );
  +
               final ClassLoaderSet classLoaderSet =
                   m_classLoaderManager.createClassLoaderSet( environment,
                                                              
installation.getDirectory(),
                                                              
installation.getWorkDirectory() );
               final ClassLoader classLoader = classLoaderSet.getDefaultClassLoader();
  +
  +            context.put( "classloader", classLoader );
  +
               //assemble all the blocks for application
               final SarMetaData metaData =
                   m_assembler.assembleSar( name, assembly, directory, classLoader );
  @@ -266,7 +275,7 @@
   
               final Configuration logs = environment.getChild( "logs" );
               final Logger logger =
  -                m_logManager.createHierarchy( metaData, logs, classLoader );
  +                m_logManager.createHierarchy( logs, context );
   
               //Finally add application to kernel
               m_kernel.addApplication( metaData,
  
  
  
  1.27      +7 -14     
jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/logger/DefaultLogManager.java
  
  Index: DefaultLogManager.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/logger/DefaultLogManager.java,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- DefaultLogManager.java    1 Nov 2002 01:36:56 -0000       1.26
  +++ DefaultLogManager.java    2 Nov 2002 00:29:28 -0000       1.27
  @@ -14,12 +14,11 @@
   import org.apache.avalon.excalibur.logger.SimpleLogKitManager;
   import org.apache.avalon.framework.configuration.Configuration;
   import org.apache.avalon.framework.container.ContainerUtil;
  -import org.apache.avalon.framework.context.DefaultContext;
  +import org.apache.avalon.framework.context.Context;
   import org.apache.avalon.framework.logger.AbstractLogEnabled;
   import org.apache.avalon.framework.logger.Logger;
   import org.apache.avalon.phoenix.BlockContext;
   import org.apache.avalon.phoenix.interfaces.LogManager;
  -import org.apache.avalon.phoenix.metadata.SarMetaData;
   
   /**
    * Interface that is used to manage Log objects for a Sar.
  @@ -52,30 +51,24 @@
       /**
        * Create a Logger hierarchy for specified application.
        *
  -     * @param metaData the metadata for application
        * @param logs the configuration data for logging
  -     * @param classLoader the ClassLoader for application
  +     * @param context the context in which to create loggers
        * @return the Log hierarchy
        * @throws Exception if unable to create Loggers
        */
  -    public Logger createHierarchy( final SarMetaData metaData,
  -                                   final Configuration logs,
  -                                   final ClassLoader classLoader )
  +    public Logger createHierarchy( final Configuration logs,
  +                                   final Context context )
           throws Exception
       {
  -        final String sarName = metaData.getName();
  -
  -        final DefaultContext context = new DefaultContext();
  -        context.put( BlockContext.APP_NAME, sarName );
  -        context.put( BlockContext.APP_HOME_DIR, metaData.getHomeDirectory() );
  -        context.put( "classloader", classLoader );
   
           final String version = logs.getAttribute( "version", "1.0" );
   
           if( getLogger().isDebugEnabled() )
           {
               final String message =
  -                REZ.getString( "logger-create", sarName, version );
  +                REZ.getString( "logger-create",
  +                               context.get( BlockContext.APP_NAME ),
  +                               version );
               getLogger().debug( message );
           }
           final LoggerManager loggerManager = createLoggerManager( version );
  
  
  
  1.11      +3 -6      
jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/interfaces/LogManager.java
  
  Index: LogManager.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/interfaces/LogManager.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- LogManager.java   6 Aug 2002 11:57:41 -0000       1.10
  +++ LogManager.java   2 Nov 2002 00:29:28 -0000       1.11
  @@ -9,7 +9,7 @@
   
   import org.apache.avalon.framework.configuration.Configuration;
   import org.apache.avalon.framework.logger.Logger;
  -import org.apache.avalon.phoenix.metadata.SarMetaData;
  +import org.apache.avalon.framework.context.Context;
   
   /**
    * Interface that is used to manage Log objects for a Sar.
  @@ -23,14 +23,11 @@
       /**
        * Create a Logger hierarchy for an applicaiton.
        *
  -     * @param metaData the metaData describing applicaiton
        * @param logs the configuration data for logs
  -     * @param classLoader the ClassLoader for aapplication
  +     * @param context the context in which to build hierarchy
        * @return the configured Logger hierarchy
        * @throws Exception if an error occurs
        */
  -    Logger createHierarchy( SarMetaData metaData,
  -                            Configuration logs,
  -                            ClassLoader classLoader )
  +    Logger createHierarchy( Configuration logs, Context context )
           throws Exception;
   }
  
  
  
  1.7       +8 -4      
jakarta-avalon-phoenix/src/test/org/apache/avalon/phoenix/components/logger/test/LogManagerTestCase.java
  
  Index: LogManagerTestCase.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-phoenix/src/test/org/apache/avalon/phoenix/components/logger/test/LogManagerTestCase.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- LogManagerTestCase.java   30 Oct 2002 07:32:41 -0000      1.6
  +++ LogManagerTestCase.java   2 Nov 2002 00:29:28 -0000       1.7
  @@ -17,11 +17,13 @@
   import org.apache.avalon.framework.container.ContainerUtil;
   import org.apache.avalon.framework.logger.ConsoleLogger;
   import org.apache.avalon.framework.logger.Logger;
  +import org.apache.avalon.framework.context.DefaultContext;
   import org.apache.avalon.phoenix.components.logger.DefaultLogManager;
   import org.apache.avalon.phoenix.interfaces.LogManager;
   import org.apache.avalon.phoenix.metadata.BlockListenerMetaData;
   import org.apache.avalon.phoenix.metadata.BlockMetaData;
   import org.apache.avalon.phoenix.metadata.SarMetaData;
  +import org.apache.avalon.phoenix.BlockContext;
   
   /**
    *  An basic test case for the LogManager.
  @@ -130,10 +132,12 @@
           final SarMetaData sarMetaData = createSarMetaData( getBaseDir( index ) );
   
           cleanHomeDirectory( sarMetaData );
  +        final DefaultContext context = new DefaultContext();
  +        context.put( BlockContext.APP_NAME, sarMetaData.getName() );
  +        context.put( BlockContext.APP_HOME_DIR, sarMetaData.getHomeDirectory() );
  +        context.put( "classloader", getClass().getClassLoader() );
   
  -        return logManager.createHierarchy( sarMetaData,
  -                                           logs,
  -                                           getClass().getClassLoader() );
  +        return logManager.createHierarchy( logs, context );
       }
   
       private String getBaseDir( final int index )
  
  
  

--
To unsubscribe, e-mail:   <mailto:avalon-cvs-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:avalon-cvs-help@;jakarta.apache.org>

Reply via email to