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/10 17:18:24 UTC

cvs commit: jakarta-avalon-excalibur/fortress/src/test/org/apache/excalibur/fortress/util/test AbstractRoleManagerTestCase.java ConfigurableRoleManagerTestCase.java ExcaliburRoleManagerTestCase.java

donaldp     2002/11/10 08:18:24

  Modified:    fortress/examples/src/java/org/apache/excalibur/fortress/examples/extended
                        Main.java
               fortress/examples/src/java/org/apache/excalibur/fortress/examples/servlet
                        servlet.java
               fortress/examples/src/java/org/apache/excalibur/fortress/examples/swing
                        Main.java
               fortress/examples/src/java/org/apache/excalibur/fortress/examples/viewer
                        Main.java
               fortress/src/java/org/apache/excalibur/fortress
                        ContainerManager.java
               fortress/src/java/org/apache/excalibur/fortress/util
                        ContextManager.java
               fortress/src/test/org/apache/excalibur/fortress/test
                        ContainerProfile.java HandlersTestCase.java
               fortress/src/test/org/apache/excalibur/fortress/util/test
                        ConfigurableRoleManagerTestCase.java
                        ExcaliburRoleManagerTestCase.java
  Added:       fortress/src/java/org/apache/excalibur/fortress/util
                        FortressConfig.java
               fortress/src/test/org/apache/excalibur/fortress/util/test
                        AbstractRoleManagerTestCase.java
  Log:
  Use FortressConfig object as an alternative means of configuring fortress.
  
  Revision  Changes    Path
  1.11      +11 -11    jakarta-avalon-excalibur/fortress/examples/src/java/org/apache/excalibur/fortress/examples/extended/Main.java
  
  Index: Main.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/fortress/examples/src/java/org/apache/excalibur/fortress/examples/extended/Main.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- Main.java	9 Nov 2002 07:29:37 -0000	1.10
  +++ Main.java	10 Nov 2002 16:18:23 -0000	1.11
  @@ -49,10 +49,10 @@
   */
   package org.apache.excalibur.fortress.examples.extended;
   
  +import org.apache.avalon.framework.container.ContainerUtil;
   import org.apache.excalibur.fortress.ContainerManager;
   import org.apache.excalibur.fortress.DefaultContainerManager;
  -import org.apache.excalibur.fortress.util.ContextBuilder;
  -import org.apache.avalon.framework.container.ContainerUtil;
  +import org.apache.excalibur.fortress.util.FortressConfig;
   
   /**
    * Fortress container example with custom extensions
  @@ -72,16 +72,16 @@
       public static final void main( String[] args )
           throws Exception
       {
  -        ContextBuilder contextBuilder = new ContextBuilder()
  -            .setContainerClass( "org.apache.excalibur.fortress.examples.extended.ExtendedContainer" )
  -            .setContextDirectory( "./" )
  -            .setWorkDirectory( "./" )
  -            .setContainerConfiguration( "resource://org/apache/excalibur/fortress/examples/extended/ExtendedContainer.xconf" )
  -            .setLoggerManagerConfiguration( "resource://org/apache/excalibur/fortress/examples/extended/ExtendedContainer.xlog" )
  -            .setRoleManagerConfiguration( "resource://org/apache/excalibur/fortress/examples/extended/ExtendedContainer.roles" );
  +        FortressConfig config = new FortressConfig();
  +        config.setContainerClass( "org.apache.excalibur.fortress.examples.extended.ExtendedContainer" );
  +        config.setContextDirectory( "./" );
  +        config.setWorkDirectory( "./" );
  +        config.setContainerConfiguration( "resource://org/apache/excalibur/fortress/examples/extended/ExtendedContainer.xconf" );
  +        config.setLoggerManagerConfiguration( "resource://org/apache/excalibur/fortress/examples/extended/ExtendedContainer.xlog" );
  +        config.setRoleManagerConfiguration( "resource://org/apache/excalibur/fortress/examples/extended/ExtendedContainer.roles" );
   
           final ContainerManager cm =
  -            new DefaultContainerManager( contextBuilder.getContext() );
  +            new DefaultContainerManager( config.getContext() );
           ContainerUtil.initialize( cm );
   
           m_container = (ExtendedContainer)cm.getContainer();
  
  
  
  1.10      +10 -10    jakarta-avalon-excalibur/fortress/examples/src/java/org/apache/excalibur/fortress/examples/servlet/servlet.java
  
  Index: servlet.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/fortress/examples/src/java/org/apache/excalibur/fortress/examples/servlet/servlet.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- servlet.java	2 Oct 2002 01:52:20 -0000	1.9
  +++ servlet.java	10 Nov 2002 16:18:23 -0000	1.10
  @@ -56,7 +56,7 @@
   import javax.servlet.http.HttpServlet;
   import org.apache.excalibur.fortress.ContainerManager;
   import org.apache.excalibur.fortress.DefaultContainerManager;
  -import org.apache.excalibur.fortress.util.ContextBuilder;
  +import org.apache.excalibur.fortress.util.FortressConfig;
   
   /**
    * Servlet based Fortress container example.
  @@ -81,15 +81,15 @@
   
           try
           {
  -            ContextBuilder contextBuilder = new ContextBuilder()
  -                .setContainerClass( "org.apache.excalibur.fortress.examples.servlet.ServletContainer" )
  -                .setContextDirectory( "./" )
  -                .setWorkDirectory( "./" )
  -                .setContainerConfiguration( "resource://org/apache/excalibur/fortress/examples/servlet/ServletContainer.xconf" )
  -                .setLoggerManagerConfiguration( "resource://org/apache/excalibur/fortress/examples/servlet/ServletContainer.xlog" )
  -                .setRoleManagerConfiguration( "resource://org/apache/excalibur/fortress/examples/servlet/ServletContainer.roles" );
  +            final FortressConfig config = new FortressConfig();
  +            config.setContainerClass( "org.apache.excalibur.fortress.examples.servlet.ServletContainer" );
  +            config.setContextDirectory( "./" );
  +            config.setWorkDirectory( "./" );
  +            config.setContainerConfiguration( "resource://org/apache/excalibur/fortress/examples/servlet/ServletContainer.xconf" );
  +            config.setLoggerManagerConfiguration( "resource://org/apache/excalibur/fortress/examples/servlet/ServletContainer.xlog" );
  +            config.setRoleManagerConfiguration( "resource://org/apache/excalibur/fortress/examples/servlet/ServletContainer.roles" );
   
  -            m_containerManager = new DefaultContainerManager( contextBuilder.getContext() );
  +            m_containerManager = new DefaultContainerManager( config.getContext() );
               m_containerManager.initialize();
   
               m_container = (ServletContainer)m_containerManager.getContainer();
  
  
  
  1.15      +12 -13    jakarta-avalon-excalibur/fortress/examples/src/java/org/apache/excalibur/fortress/examples/swing/Main.java
  
  Index: Main.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/fortress/examples/src/java/org/apache/excalibur/fortress/examples/swing/Main.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- Main.java	9 Nov 2002 07:29:37 -0000	1.14
  +++ Main.java	10 Nov 2002 16:18:23 -0000	1.15
  @@ -49,11 +49,10 @@
   */
   package org.apache.excalibur.fortress.examples.swing;
   
  -import org.apache.excalibur.fortress.Container;
  +import org.apache.avalon.framework.container.ContainerUtil;
   import org.apache.excalibur.fortress.ContainerManager;
   import org.apache.excalibur.fortress.DefaultContainerManager;
  -import org.apache.excalibur.fortress.util.ContextBuilder;
  -import org.apache.avalon.framework.container.ContainerUtil;
  +import org.apache.excalibur.fortress.util.FortressConfig;
   
   /**
    * Fortress container example.
  @@ -72,16 +71,16 @@
       public static void main( String[] args )
           throws Exception
       {
  -        ContextBuilder contextBuilder = new ContextBuilder()
  -            .setContainerClass( "org.apache.excalibur.fortress.examples.swing.SwingContainer" )
  -            .setContextDirectory( "./" )
  -            .setWorkDirectory( "./" )
  -            .setContainerConfiguration( "resource://org/apache/excalibur/fortress/examples/swing/SwingContainer.xconf" )
  -            .setLoggerManagerConfiguration( "resource://org/apache/excalibur/fortress/examples/swing/SwingContainer.xlog" )
  -            .setRoleManagerConfiguration( "resource://org/apache/excalibur/fortress/examples/swing/SwingContainer.roles" )
  -            .setInstrumentManagerConfiguration( "resource://org/apache/excalibur/fortress/examples/swing/SwingContainer.instruments" );
  +        final FortressConfig config = new FortressConfig();
  +        config.setContainerClass( "org.apache.excalibur.fortress.examples.swing.SwingContainer" );
  +        config.setContextDirectory( "./" );
  +        config.setWorkDirectory( "./" );
  +        config.setContainerConfiguration( "resource://org/apache/excalibur/fortress/examples/swing/SwingContainer.xconf" );
  +        config.setLoggerManagerConfiguration( "resource://org/apache/excalibur/fortress/examples/swing/SwingContainer.xlog" );
  +        config.setRoleManagerConfiguration( "resource://org/apache/excalibur/fortress/examples/swing/SwingContainer.roles" );
  +        config.setInstrumentManagerConfiguration( "resource://org/apache/excalibur/fortress/examples/swing/SwingContainer.instruments" );
   
  -        ContainerManager cm = new DefaultContainerManager( contextBuilder.getContext() );
  +        ContainerManager cm = new DefaultContainerManager( config.getContext() );
           ContainerUtil.initialize( cm );
       }
   }
  
  
  
  1.11      +10 -10    jakarta-avalon-excalibur/fortress/examples/src/java/org/apache/excalibur/fortress/examples/viewer/Main.java
  
  Index: Main.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/fortress/examples/src/java/org/apache/excalibur/fortress/examples/viewer/Main.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- Main.java	9 Nov 2002 07:29:37 -0000	1.10
  +++ Main.java	10 Nov 2002 16:18:23 -0000	1.11
  @@ -53,7 +53,7 @@
   import org.apache.avalon.framework.container.ContainerUtil;
   import org.apache.excalibur.fortress.ContainerManager;
   import org.apache.excalibur.fortress.DefaultContainerManager;
  -import org.apache.excalibur.fortress.util.ContextBuilder;
  +import org.apache.excalibur.fortress.util.FortressConfig;
   
   /**
    * Fortress container example allowing you to perform lookups on components
  @@ -73,15 +73,15 @@
       {
           try
           {
  -            ContextBuilder contextBuilder = new ContextBuilder()
  -                .setContainerClass( "org.apache.excalibur.fortress.examples.viewer.ComponentViewer" )
  -                .setContextDirectory( "./" )
  -                .setWorkDirectory( "./" )
  -                .setContainerConfiguration( "resource://org/apache/excalibur/fortress/examples/viewer/ComponentViewer.xconf" )
  -                .setLoggerManagerConfiguration( "resource://org/apache/excalibur/fortress/examples/viewer/ComponentViewer.xlog" )
  -                .setRoleManagerConfiguration( "resource://org/apache/excalibur/fortress/examples/viewer/ComponentViewer.roles" );
  +            final FortressConfig config = new FortressConfig();
  +            config.setContainerClass( "org.apache.excalibur.fortress.examples.viewer.ComponentViewer" );
  +            config.setContextDirectory( "./" );
  +            config.setWorkDirectory( "./" );
  +            config.setContainerConfiguration( "resource://org/apache/excalibur/fortress/examples/viewer/ComponentViewer.xconf" );
  +            config.setLoggerManagerConfiguration( "resource://org/apache/excalibur/fortress/examples/viewer/ComponentViewer.xlog" );
  +            config.setRoleManagerConfiguration( "resource://org/apache/excalibur/fortress/examples/viewer/ComponentViewer.roles" );
   
  -            ContainerManager cm = new DefaultContainerManager( contextBuilder.getContext() );
  +            ContainerManager cm = new DefaultContainerManager( config.getContext() );
               ContainerUtil.initialize( cm );
   
               //(ComponentViewer)cm.getContainer();
  
  
  
  1.47      +8 -8      jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/ContainerManager.java
  
  Index: ContainerManager.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/ContainerManager.java,v
  retrieving revision 1.46
  retrieving revision 1.47
  diff -u -r1.46 -r1.47
  --- ContainerManager.java	9 Nov 2002 23:37:51 -0000	1.46
  +++ ContainerManager.java	10 Nov 2002 16:18:23 -0000	1.47
  @@ -57,14 +57,14 @@
    *
    * <pre>
    * <code>
  - *    ContextBuilder contextBuilder = new ContextBuilder ();
  - *    contextBuilder.setContainerClass( Thread.currentThread().getContextClassLoader().loadClass( "org.apache.excalibur.fortress.test.TestContainer" ) );
  - *    contextBuilder.setContextDirectory( "./" );
  - *    contextBuilder.setWorkDirectory( "./" );
  - *    contextBuilder.setContainerConfiguration( "resource://org.apache.excalibur.fortress/test/ContainerProfile.xconf" );
  - *    contextBuilder.setLoggerManagerConfiguration( "resource://org.apache.excalibur.fortress/test/ContainerProfile.xlog" );
  + *    FortressConfig config = new FortressConfig();
  + *    config.setContainerClass( Thread.currentThread().getContextClassLoader().loadClass( "org.apache.excalibur.fortress.test.TestContainer" ) );
  + *    config.setContextDirectory( "./" );
  + *    config.setWorkDirectory( "./" );
  + *    config.setContainerConfiguration( "resource://org.apache.excalibur.fortress/test/ContainerProfile.xconf" );
  + *    config.setLoggerManagerConfiguration( "resource://org.apache.excalibur.fortress/test/ContainerProfile.xlog" );
    *
  - *    ContainerManager cm = new DefaultContainerManager( contextBuilder.getContext() );
  + *    ContainerManager cm = new DefaultContainerManager( config.getContext() );
    *    ContainerUtil.initialize( cm );
    * </code>
    * </pre>
  
  
  
  1.54      +2 -2      jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/util/ContextManager.java
  
  Index: ContextManager.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/util/ContextManager.java,v
  retrieving revision 1.53
  retrieving revision 1.54
  diff -u -r1.53 -r1.54
  --- ContextManager.java	10 Nov 2002 12:00:17 -0000	1.53
  +++ ContextManager.java	10 Nov 2002 16:18:23 -0000	1.54
  @@ -152,7 +152,7 @@
       private final DefaultContext m_containerManagerContext;
   
       /**
  -     * New context passed in, maybe from a ContextBuilder.
  +     * New context passed in, maybe from a FortressConfig.
        * This context may not have objects, but rather URI's or
        * other pointers. The ContextManager inspects it for
        * elements it can use to create component managers etc.
  
  
  
  1.1                  jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/util/FortressConfig.java
  
  Index: FortressConfig.java
  ===================================================================
  /*
  
   ============================================================================
                     The Apache Software License, Version 1.1
   ============================================================================
  
   Copyright (C) @year@ The Apache Software Foundation. All rights reserved.
  
   Redistribution and use in source and binary forms, with or without modifica-
   tion, are permitted provided that the following conditions are met:
  
   1. Redistributions of  source code must  retain the above copyright  notice,
      this list of conditions and the following disclaimer.
  
   2. Redistributions in binary form must reproduce the above copyright notice,
      this list of conditions and the following disclaimer in the documentation
      and/or other materials provided with the distribution.
  
   3. The end-user documentation included with the redistribution, if any, must
      include  the following  acknowledgment:  "This product includes  software
      developed  by the  Apache Software Foundation  (http://www.apache.org/)."
      Alternately, this  acknowledgment may  appear in the software itself,  if
      and wherever such third-party acknowledgments normally appear.
  
   4. The names "Jakarta", "Avalon", "Excalibur" and "Apache Software Foundation"
      must not be used to endorse or promote products derived from this  software
      without  prior written permission. For written permission, please contact
      apache@apache.org.
  
   5. Products  derived from this software may not  be called "Apache", nor may
      "Apache" appear  in their name,  without prior written permission  of the
      Apache Software Foundation.
  
   THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
   INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
   FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
   APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
   INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
   DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
   OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
   ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
   (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
   THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  
   This software  consists of voluntary contributions made  by many individuals
   on  behalf of the Apache Software  Foundation. For more  information on the
   Apache Software Foundation, please see <http://www.apache.org/>.
  
  */
  package org.apache.excalibur.fortress.util;
  
  import java.io.File;
  import org.apache.avalon.excalibur.logger.LoggerManager;
  import org.apache.avalon.framework.configuration.Configuration;
  import org.apache.avalon.framework.context.Context;
  import org.apache.avalon.framework.context.ContextException;
  import org.apache.avalon.framework.context.DefaultContext;
  import org.apache.avalon.framework.service.ServiceManager;
  import org.apache.excalibur.event.Queue;
  import org.apache.excalibur.fortress.container.DefaultContainer;
  import org.apache.excalibur.fortress.role.RoleManager;
  import org.apache.excalibur.instrument.InstrumentManager;
  import org.apache.excalibur.mpool.PoolManager;
  
  /**
   * Helper class to create a context for the ContextManager.
   */
  public class FortressConfig
  {
      private final DefaultContext context;
  
      /**
       * Creates a context builder and initializes it with default values.
       * The default values are:
       *
       * <ul>
       * <li>CONTAINER_CLASS = "org.apache.excalibur.fortress.container.DefaultContainer" </li>
       * <li>THREADS_CPU =  2</li>
       * <li>THREAD_TIMEOUT = 1000</li>
       * <li>CONTEXT_DIRECTORY = "../"</li>
       * <li>WORK_DIRECTORY = "/tmp"</li>
       * <li>LOG_CATEGORY = "fortress"</li>
       * <li>CONTEXT_CLASSLOADER = the thread context class loader</li>
       * </ul>
       */
      public FortressConfig()
      {
          this( createDefaultConfig() );
      }
  
      /**
       * Creates a context builder and initializes it with default values.
       *
       * @param parent parent context with default values.
       */
      public FortressConfig( Context parent )
      {
          context = new OverridableContext( parent );
      }
  
      /**
       * Creates a default context.
       */
      public static final Context createDefaultConfig()
      {
          return createDefaultConfig( Thread.currentThread().getContextClassLoader() );
      }
  
      /**
       * Creates a default context.
       */
      public static final Context createDefaultConfig( ClassLoader classLoader )
      {
          DefaultContext defaultContext = new DefaultContext();
  
          try
          {
              defaultContext.put( ContextManagerConstants.CONTAINER_CLASS,
                                  DefaultContainer.class );
          }
          catch( Exception e )
          {
              // ignore
          }
  
          defaultContext.put( ContextManagerConstants.THREADS_CPU, new Integer( 2 ) );
          defaultContext.put( ContextManagerConstants.THREAD_TIMEOUT, new Long( 1000 ) );
          defaultContext.put( ContextManagerConstants.CONTEXT_DIRECTORY, new File( "../" ) );
          defaultContext.put( ContextManagerConstants.WORK_DIRECTORY, new File( "/tmp" ) );
          defaultContext.put( ContextManagerConstants.LOG_CATEGORY, "fortress" );
          defaultContext.put( ClassLoader.class.getName(), classLoader );
          defaultContext.put( ContextManagerConstants.CONFIGURATION_URI, "conf/system.xconf" );
          defaultContext.put( ContextManagerConstants.LOGGER_MANAGER_CONFIGURATION_URI, "conf/logkit.xconf" );
          defaultContext.put( ContextManagerConstants.ROLE_MANAGER_CONFIGURATION_URI, "resource://ext/system.roles" );
          defaultContext.put( ContextManagerConstants.ASSEMBLY_CONFIGURATION_URI, "resource://ext/assembly.xml" );
  
          defaultContext.makeReadOnly();
  
          return defaultContext;
      }
  
      /**
       * Finalizes the context and returns it.
       */
      public Context getContext()
      {
          context.makeReadOnly();
          return context;
      }
  
      public void setCommandQueue( final Queue commandQueue )
      {
          context.put( Queue.ROLE, commandQueue );
      }
  
      public void setServiceManagerParent( final ServiceManager serviceManager )
      {
          context.put( ContextManagerConstants.SERVICE_MANAGER_PARENT, serviceManager );
      }
  
      public void setServiceManager( final ServiceManager componentManager )
      {
          context.put( ContextManagerConstants.SERVICE_MANAGER, componentManager );
      }
  
      public void setContainerClass( final String containerClass )
          throws ClassNotFoundException
      {
          ClassLoader classLoader = null;
          try
          {
              classLoader = (ClassLoader)context.get( ClassLoader.class.getName() );
          }
          catch( ContextException ce )
          {
              classLoader = Thread.currentThread().getContextClassLoader();
          }
  
          context.put( ContextManagerConstants.CONTAINER_CLASS, classLoader.loadClass( containerClass ) );
      }
  
      public void setContainerClass( final Class containerClass )
      {
          context.put( ContextManagerConstants.CONTAINER_CLASS, containerClass );
      }
  
      public void setContainerConfiguration( final Configuration config )
      {
          context.put( ContextManagerConstants.CONFIGURATION, config );
          context.put( ContextManagerConstants.CONFIGURATION_URI, null );
      }
  
      public void setContainerConfiguration( final String location )
      {
          context.put( ContextManagerConstants.CONFIGURATION_URI, location );
      }
  
      public void setAssemblyConfiguration( final Configuration config )
      {
          context.put( ContextManagerConstants.ASSEMBLY_CONFIGURATION, config );
          context.put( ContextManagerConstants.ASSEMBLY_CONFIGURATION_URI, null );
      }
  
      public void setAssemblyConfiguration( final String location )
      {
          context.put( ContextManagerConstants.ASSEMBLY_CONFIGURATION_URI, location );
      }
  
      public void setContextClassLoader( final ClassLoader loader )
      {
          context.put( ClassLoader.class.getName(), loader );
      }
  
      public void setContextDirectory( final File file )
      {
          context.put( ContextManagerConstants.CONTEXT_DIRECTORY, file );
      }
  
      public void setContextDirectory( final String directory )
      {
          context.put( ContextManagerConstants.CONTEXT_DIRECTORY, new File( directory ) );
      }
  
      public void setLoggerCategory( final String category )
      {
          context.put( ContextManagerConstants.LOG_CATEGORY, category );
      }
  
      public void setLoggerManager( final LoggerManager logManager )
      {
          context.put( LoggerManager.ROLE, logManager );
          context.put( ContextManagerConstants.LOGGER_MANAGER_CONFIGURATION, null );
          context.put( ContextManagerConstants.LOGGER_MANAGER_CONFIGURATION_URI, null );
      }
  
      public void setLoggerManagerConfiguration( final Configuration config )
      {
          context.put( ContextManagerConstants.LOGGER_MANAGER_CONFIGURATION, config );
          context.put( ContextManagerConstants.LOGGER_MANAGER_CONFIGURATION_URI, null );
      }
  
      public void setLoggerManagerConfiguration( final String location )
      {
          context.put( ContextManagerConstants.LOGGER_MANAGER_CONFIGURATION_URI, location );
      }
  
      public void setInstrumentManager( final InstrumentManager profiler )
      {
          context.put( InstrumentManager.ROLE, profiler );
          context.put( ContextManagerConstants.INSTRUMENT_MANAGER_CONFIGURATION, null );
          context.put( ContextManagerConstants.INSTRUMENT_MANAGER_CONFIGURATION_URI, null );
      }
  
      public void setInstrumentManagerConfiguration( final Configuration config )
      {
          context.put( ContextManagerConstants.INSTRUMENT_MANAGER_CONFIGURATION, config );
          context.put( ContextManagerConstants.INSTRUMENT_MANAGER_CONFIGURATION_URI, null );
      }
  
      public void setInstrumentManagerConfiguration( final String location )
      {
          context.put( ContextManagerConstants.INSTRUMENT_MANAGER_CONFIGURATION_URI, location );
      }
  
      public void setNumberOfThreadsPerCPU( final int numberOfThreads )
      {
          context.put( ContextManagerConstants.THREADS_CPU, new Integer( numberOfThreads ) );
      }
  
      public void setPoolManager( final PoolManager poolManager )
      {
          context.put( PoolManager.ROLE, poolManager );
      }
  
      public void setRoleManager( final RoleManager roleManager )
      {
          context.put( RoleManager.ROLE, roleManager );
      }
  
      public void setRoleManagerConfiguration( final Configuration config )
      {
          context.put( ContextManagerConstants.ROLE_MANAGER_CONFIGURATION, config );
          context.put( ContextManagerConstants.ROLE_MANAGER_CONFIGURATION_URI, null );
      }
  
      public void setRoleManagerConfiguration( final String location )
      {
          context.put( ContextManagerConstants.ROLE_MANAGER_CONFIGURATION_URI, location );
      }
  
      public void setThreadTimeout( final long timeout )
      {
          context.put( ContextManagerConstants.THREAD_TIMEOUT, new Long( timeout ) );
      }
  
      public void setWorkDirectory( final File file )
      {
          context.put( ContextManagerConstants.WORK_DIRECTORY, file );
      }
  
      public void setWorkDirectory( final String directory )
      {
          setWorkDirectory( new File( directory ) );
      }
  }
  
  
  
  1.33      +11 -11    jakarta-avalon-excalibur/fortress/src/test/org/apache/excalibur/fortress/test/ContainerProfile.java
  
  Index: ContainerProfile.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/fortress/src/test/org/apache/excalibur/fortress/test/ContainerProfile.java,v
  retrieving revision 1.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- ContainerProfile.java	8 Nov 2002 05:32:13 -0000	1.32
  +++ ContainerProfile.java	10 Nov 2002 16:18:23 -0000	1.33
  @@ -60,6 +60,7 @@
   import org.apache.avalon.excalibur.xml.Parser;
   import org.apache.avalon.framework.configuration.Configuration;
   import org.apache.avalon.framework.configuration.DefaultConfigurationBuilder;
  +import org.apache.avalon.framework.container.ContainerUtil;
   import org.apache.avalon.framework.context.Context;
   import org.apache.avalon.framework.context.DefaultContext;
   import org.apache.avalon.framework.logger.ConsoleLogger;
  @@ -67,11 +68,10 @@
   import org.apache.avalon.framework.logger.NullLogger;
   import org.apache.avalon.framework.service.ServiceManager;
   import org.apache.avalon.framework.service.WrapperServiceManager;
  -import org.apache.avalon.framework.container.ContainerUtil;
   import org.apache.excalibur.fortress.ContainerManager;
   import org.apache.excalibur.fortress.DefaultContainerManager;
   import org.apache.excalibur.fortress.container.DefaultContainer;
  -import org.apache.excalibur.fortress.util.ContextBuilder;
  +import org.apache.excalibur.fortress.util.FortressConfig;
   
   /**
    * Used as a basis for the PoolComparisonProfile Tests
  @@ -137,16 +137,16 @@
           resetMemory(); // Start clean
   
           long cmStart = System.currentTimeMillis();
  -        ContextBuilder contextBuilder = new ContextBuilder()
  -            .setContextDirectory( "./" )
  -            .setWorkDirectory( "./tmp" )
  -            .setContainerClass( DefaultContainer.class )
  -            .setContainerConfiguration( "resource://org/apache/excalibur/fortress/test/ContainerProfile.xconf" )
  -            .setLoggerManagerConfiguration( "resource://org/apache/excalibur/fortress/test/ContainerProfile.xlog" )
  -            .setRoleManagerConfiguration( "resource://org/apache/excalibur/fortress/test/ContainerProfile.roles" );
  +        final FortressConfig config = new FortressConfig();
  +        config.setContextDirectory( "./" );
  +        config.setWorkDirectory( "./tmp" );
  +        config.setContainerClass( DefaultContainer.class );
  +        config.setContainerConfiguration( "resource://org/apache/excalibur/fortress/test/ContainerProfile.xconf" );
  +        config.setLoggerManagerConfiguration( "resource://org/apache/excalibur/fortress/test/ContainerProfile.xlog" );
  +        config.setRoleManagerConfiguration( "resource://org/apache/excalibur/fortress/test/ContainerProfile.roles" );
   
   
  -        final ContainerManager cm = new DefaultContainerManager( contextBuilder.getContext(), new NullLogger() );
  +        final ContainerManager cm = new DefaultContainerManager( config.getContext(), new NullLogger() );
           ContainerUtil.initialize( cm );
           DefaultContainer container = (DefaultContainer)cm.getContainer();
           assertNotNull( container );
  
  
  
  1.5       +9 -9      jakarta-avalon-excalibur/fortress/src/test/org/apache/excalibur/fortress/test/HandlersTestCase.java
  
  Index: HandlersTestCase.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/fortress/src/test/org/apache/excalibur/fortress/test/HandlersTestCase.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- HandlersTestCase.java	10 Nov 2002 12:46:52 -0000	1.4
  +++ HandlersTestCase.java	10 Nov 2002 16:18:23 -0000	1.5
  @@ -19,7 +19,7 @@
   import org.apache.excalibur.fortress.test.data.Role2;
   import org.apache.excalibur.fortress.test.data.Role3;
   import org.apache.excalibur.fortress.test.data.Role4;
  -import org.apache.excalibur.fortress.util.ContextBuilder;
  +import org.apache.excalibur.fortress.util.FortressConfig;
   
   /**
    * A testcase for the different handlers.
  @@ -172,15 +172,15 @@
   
       private ServiceManager getServiceManager() throws Exception
       {
  -        final ContextBuilder contextBuilder = new ContextBuilder();
  -        contextBuilder.setContextDirectory( "./" );
  -        contextBuilder.setWorkDirectory( "./" );
  +        final FortressConfig config = new FortressConfig();
  +        config.setContextDirectory( "./" );
  +        config.setWorkDirectory( "./" );
           final String BASE = "resource://org/apache/excalibur/fortress/test/data/";
  -        contextBuilder.setContainerConfiguration( BASE + "test1.xconf" );
  -        contextBuilder.setLoggerManagerConfiguration( BASE + "test1.xlog" );
  -        contextBuilder.setRoleManagerConfiguration( BASE + "test1.roles" );
  +        config.setContainerConfiguration( BASE + "test1.xconf" );
  +        config.setLoggerManagerConfiguration( BASE + "test1.xlog" );
  +        config.setRoleManagerConfiguration( BASE + "test1.roles" );
   
  -        final ContainerManager cm = new DefaultContainerManager( contextBuilder.getContext() );
  +        final ContainerManager cm = new DefaultContainerManager( config.getContext() );
           ContainerUtil.initialize( cm );
   
           final DefaultContainer container = (DefaultContainer)cm.getContainer();
  
  
  
  1.16      +18 -140   jakarta-avalon-excalibur/fortress/src/test/org/apache/excalibur/fortress/util/test/ConfigurableRoleManagerTestCase.java
  
  Index: ConfigurableRoleManagerTestCase.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/fortress/src/test/org/apache/excalibur/fortress/util/test/ConfigurableRoleManagerTestCase.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- ConfigurableRoleManagerTestCase.java	10 Nov 2002 02:39:51 -0000	1.15
  +++ ConfigurableRoleManagerTestCase.java	10 Nov 2002 16:18:23 -0000	1.16
  @@ -49,11 +49,8 @@
   */
   package org.apache.excalibur.fortress.util.test;
   
  -import junit.framework.TestCase;
  -
   import org.apache.avalon.framework.configuration.DefaultConfigurationBuilder;
   import org.apache.avalon.framework.logger.ConsoleLogger;
  -import org.apache.avalon.framework.logger.Logger;
   import org.apache.excalibur.fortress.role.ConfigurableRoleManager;
   
   /**
  @@ -66,156 +63,37 @@
    * @since 4.1
    */
   public class ConfigurableRoleManagerTestCase
  -    extends TestCase
  +    extends AbstractRoleManagerTestCase
   {
  -    Logger m_logger;
  -
  -    /**
  -     * Default constructor--this RoleManager has no parent.
  -     */
       public ConfigurableRoleManagerTestCase( String name )
       {
           super( name );
  -
  -        m_logger = new ConsoleLogger( ConsoleLogger.LEVEL_INFO );
       }
   
  -    /**
  -     * Test the shorthand return values.
  -     */
       public void testShorthandReturnValues()
           throws Exception
       {
           DefaultConfigurationBuilder builder = new DefaultConfigurationBuilder();
           ConfigurableRoleManager roles = new ConfigurableRoleManager( null, this.getClass().getClassLoader() );
  -        roles.enableLogging( m_logger );
  -        roles.configure( builder.build( this.getClass().getClassLoader()
  -                                        .getResourceAsStream( "org/apache/excalibur/fortress/test/ContainerProfile.roles" ) ) );
  -
  -        assertEquals(
  -            roles.getClassForName( "datasource" ),
  -            Class.forName( "org.apache.avalon.excalibur.datasource.JdbcDataSource" )
  -        );
  -        assertEquals(
  -            roles.getClassForName( "monitor" ),
  -            Class.forName( "org.apache.avalon.excalibur.monitor.ActiveMonitor" )
  -        );
  -        assertEquals(
  -            roles.getClassForName( "parser" ),
  -            Class.forName( "org.apache.avalon.excalibur.xml.JaxpParser" )
  -        );
  -    }
  -
  -    /**
  -     * Test the shorthand return values.
  -     */
  -    public void testShorthandRemapReturnValues()
  -        throws Exception
  -    {
  -        DefaultConfigurationBuilder builder = new DefaultConfigurationBuilder();
  -        ConfigurableRoleManager roles = new ConfigurableRoleManager( null, this.getClass().getClassLoader() );
  -        roles.enableLogging( m_logger );
  -        roles.configure( builder.build( this.getClass().getClassLoader()
  -                                        .getResourceAsStream( "org/apache/excalibur/fortress/test/ContainerProfile.roles" ) ) );
  -
  -        assertEquals(
  -            roles.getNameForClass( Class.forName( "org.apache.avalon.excalibur.datasource.JdbcDataSource" ) ),
  -            "datasource"
  -        );
  -        assertEquals(
  -            roles.getNameForClass( Class.forName( "org.apache.avalon.excalibur.monitor.ActiveMonitor" ) ),
  -            "monitor"
  -        );
  -        assertEquals(
  -            roles.getNameForClass( Class.forName( "org.apache.avalon.excalibur.xml.JaxpParser" ) ),
  -            "parser"
  -        );
  -    }
  -
  -    /**
  -     * Test the shorthand return values.
  -     */
  -    public void testRoleForClass()
  -        throws Exception
  -    {
  -        DefaultConfigurationBuilder builder = new DefaultConfigurationBuilder();
  -        ConfigurableRoleManager roles = new ConfigurableRoleManager( null, this.getClass().getClassLoader() );
  -        roles.enableLogging( m_logger );
  -        roles.configure( builder.build( this.getClass().getClassLoader()
  -                                        .getResourceAsStream( "org/apache/excalibur/fortress/test/ContainerProfile.roles" ) ) );
  -
  -        assertEquals(
  -            roles.getRoleForClass( Class.forName( "org.apache.avalon.excalibur.datasource.JdbcDataSource" ) ),
  -            "org.apache.avalon.excalibur.datasource.DataSourceComponent"
  -        );
  -        assertEquals(
  -            roles.getRoleForClass( Class.forName( "org.apache.avalon.excalibur.monitor.ActiveMonitor" ) ),
  -            "org.apache.avalon.excalibur.monitor.Monitor"
  -        );
  -        assertEquals(
  -            roles.getRoleForClass( Class.forName( "org.apache.avalon.excalibur.xml.JaxpParser" ) ),
  -            "org.apache.avalon.excalibur.xml.Parser"
  -        );
  -    }
  -
  -    /**
  -     * Test the shorthand return values.
  -     */
  -    public void testClassesForRole()
  -        throws Exception
  -    {
  -        DefaultConfigurationBuilder builder = new DefaultConfigurationBuilder();
  -        ConfigurableRoleManager roles = new ConfigurableRoleManager( null, this.getClass().getClassLoader() );
  -        roles.enableLogging( m_logger );
  -        roles.configure( builder.build( this.getClass().getClassLoader()
  -                                        .getResourceAsStream( "org/apache/excalibur/fortress/test/ContainerProfile.roles" ) ) );
  -
  -        Class[] classes = roles.getClassesForRole( "org.apache.avalon.excalibur.datasource.DataSourceComponent" );
  -
  -        assertEquals(
  -            classes[ 0 ],
  -            Class.forName( "org.apache.avalon.excalibur.datasource.JdbcDataSource" )
  -        );
  -
  -        classes = roles.getClassesForRole( "org.apache.avalon.excalibur.monitor.Monitor" );
  -
  -        assertEquals(
  -            classes[ 0 ],
  -            Class.forName( "org.apache.avalon.excalibur.monitor.ActiveMonitor" )
  -        );
  -
  -        classes = roles.getClassesForRole( "org.apache.avalon.excalibur.xml.Parser" );
  -
  -        assertEquals(
  -            classes[ 0 ],
  -            Class.forName( "org.apache.avalon.excalibur.xml.JaxpParser" )
  -        );
  -    }
  -
  -    /**
  -     * Test the handler class return values.
  -     */
  -    public void testHandlerClassReturnValues()
  -        throws Exception
  -    {
  -        DefaultConfigurationBuilder builder = new DefaultConfigurationBuilder();
  -        ConfigurableRoleManager roles = new ConfigurableRoleManager( null, this.getClass().getClassLoader() );
  -        roles.enableLogging( m_logger );
  +        roles.enableLogging( new ConsoleLogger( ConsoleLogger.LEVEL_INFO ) );
           roles.configure( builder.build( this.getClass().getClassLoader()
                                           .getResourceAsStream( "org/apache/excalibur/fortress/test/ContainerProfile.roles" ) ) );
   
  -        assertEquals(
  -            roles.getHandlerClassForClass( Class.forName( "org.apache.avalon.excalibur.datasource.JdbcDataSource" ) ),
  -            Class.forName( "org.apache.excalibur.fortress.handler.ThreadSafeComponentHandler" )
  -        );
  -        assertEquals(
  -            roles.getHandlerClassForClass( Class.forName( "org.apache.avalon.excalibur.monitor.ActiveMonitor" ) ),
  -            Class.forName( "org.apache.excalibur.fortress.handler.ThreadSafeComponentHandler" )
  -        );
  -        assertEquals(
  -            roles.getHandlerClassForClass( Class.forName( "org.apache.avalon.excalibur.xml.JaxpParser" ) ),
  -            Class.forName( "org.apache.excalibur.fortress.handler.PoolableComponentHandler" )
  -        );
  +        checkRole( roles,
  +                   "datasource",
  +                   "org.apache.avalon.excalibur.datasource.DataSourceComponent",
  +                   "org.apache.avalon.excalibur.datasource.JdbcDataSource",
  +                   "org.apache.excalibur.fortress.handler.ThreadSafeComponentHandler" );
  +        checkRole( roles,
  +                   "monitor",
  +                   "org.apache.avalon.excalibur.monitor.Monitor",
  +                   "org.apache.avalon.excalibur.monitor.ActiveMonitor",
  +                   "org.apache.excalibur.fortress.handler.ThreadSafeComponentHandler" );
  +        checkRole( roles,
  +                   "parser",
  +                   "org.apache.avalon.excalibur.xml.Parser",
  +                   "org.apache.avalon.excalibur.xml.JaxpParser",
  +                   "org.apache.excalibur.fortress.handler.PoolableComponentHandler" );
       }
   }
   
  
  
  
  1.19      +67 -341   jakarta-avalon-excalibur/fortress/src/test/org/apache/excalibur/fortress/util/test/ExcaliburRoleManagerTestCase.java
  
  Index: ExcaliburRoleManagerTestCase.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/fortress/src/test/org/apache/excalibur/fortress/util/test/ExcaliburRoleManagerTestCase.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- ExcaliburRoleManagerTestCase.java	10 Nov 2002 02:39:51 -0000	1.18
  +++ ExcaliburRoleManagerTestCase.java	10 Nov 2002 16:18:23 -0000	1.19
  @@ -50,10 +50,10 @@
   package org.apache.excalibur.fortress.util.test;
   
   import junit.framework.TestCase;
  -
   import org.apache.avalon.framework.logger.ConsoleLogger;
   import org.apache.avalon.framework.logger.Logger;
   import org.apache.excalibur.fortress.role.ExcaliburRoleManager;
  +import org.apache.excalibur.fortress.role.RoleEntry;
   
   /**
    * Configurable RoleManager implementation.  It populates the RoleManager
  @@ -65,29 +65,11 @@
    * @since 4.1
    */
   public class ExcaliburRoleManagerTestCase
  -    extends TestCase
  +    extends AbstractRoleManagerTestCase
   {
  -    Logger m_logger;
  -    boolean m_informixClassExists = false;
  -
  -    /**
  -     * Default constructor--this RoleManager has no parent.
  -     */
       public ExcaliburRoleManagerTestCase( String name )
       {
           super( name );
  -
  -        try
  -        {
  -            Class.forName( "org.apache.avalon.excalibur.datasource.InformixDataSource" );
  -            m_informixClassExists = true;
  -        }
  -        catch( Exception e )
  -        {
  -            m_informixClassExists = false;
  -        }
  -
  -        m_logger = new ConsoleLogger( ConsoleLogger.LEVEL_INFO );
       }
   
       /**
  @@ -97,329 +79,73 @@
           throws Exception
       {
           ExcaliburRoleManager roles = new ExcaliburRoleManager( null, this.getClass().getClassLoader() );
  -        roles.enableLogging( m_logger );
  +        roles.enableLogging( new ConsoleLogger( ConsoleLogger.LEVEL_INFO ) );
           roles.initialize();
   
  -        assertEquals(
  -            roles.getClassForName( "cache" ),
  -            Class.forName( "org.apache.excalibur.cache.impl.DefaultCache" )
  -        );
  -        assertEquals(
  -            roles.getClassForName( "lru-cache" ),
  -            Class.forName( "org.apache.excalibur.cache.impl.LRUCache" )
  -        );
  -        assertEquals(
  -            roles.getClassForName( "jdbc-datasource" ),
  -            Class.forName( "org.apache.avalon.excalibur.datasource.JdbcDataSource" )
  -        );
  -        assertEquals(
  -            roles.getClassForName( "j2ee-datasource" ),
  -            Class.forName( "org.apache.avalon.excalibur.datasource.J2eeDataSource" )
  -        );
  -        if( m_informixClassExists )
  -        {
  -            assertEquals(
  -                roles.getClassForName( "informix-datasource" ),
  -                Class.forName( "org.apache.avalon.excalibur.datasource.InformixDataSource" )
  -            );
  -        }
  -        assertEquals(
  -            roles.getClassForName( "monitor" ),
  -            Class.forName( "org.apache.avalon.excalibur.monitor.ActiveMonitor" )
  -        );
  -        assertEquals(
  -            roles.getClassForName( "passive-monitor" ),
  -            Class.forName( "org.apache.avalon.excalibur.monitor.PassiveMonitor" )
  -        );
  -        assertEquals(
  -            roles.getClassForName( "xalan-xpath" ),
  -            Class.forName( "org.apache.avalon.excalibur.xml.xpath.XPathProcessorImpl" )
  -        );
  -        assertEquals(
  -            roles.getClassForName( "jaxpath" ),
  -            Class.forName( "org.apache.avalon.excalibur.xml.xpath.JaxenProcessorImpl" )
  -        );
  -        assertEquals(
  -            roles.getClassForName( "resolver" ),
  -            Class.forName( "org.apache.excalibur.source.impl.SourceResolverImpl" )
  -        );
  -        assertEquals(
  -            roles.getClassForName( "parser" ),
  -            Class.forName( "org.apache.avalon.excalibur.xml.JaxpParser" )
  -        );
  -        assertEquals(
  -            roles.getClassForName( "xerces-parser" ),
  -            Class.forName( "org.apache.avalon.excalibur.xml.XercesParser" )
  -        );
  +        checkRole( roles,
  +                   "cache",
  +                   "org.apache.excalibur.cache.Cache",
  +                   "org.apache.excalibur.cache.impl.DefaultCache",
  +                   "org.apache.excalibur.fortress.handler.ThreadSafeComponentHandler" );
  +        checkRole( roles,
  +                   "lru-cache",
  +                   "org.apache.excalibur.cache.Cache",
  +                   "org.apache.excalibur.cache.impl.LRUCache",
  +                   "org.apache.excalibur.fortress.handler.ThreadSafeComponentHandler" );
  +        checkRole( roles,
  +                   "jdbc-datasource",
  +                   "org.apache.avalon.excalibur.datasource.DataSourceComponent",
  +                   "org.apache.avalon.excalibur.datasource.JdbcDataSource",
  +                   "org.apache.excalibur.fortress.handler.ThreadSafeComponentHandler" );
  +        checkRole( roles,
  +                   "j2ee-datasource",
  +                   "org.apache.avalon.excalibur.datasource.DataSourceComponent",
  +                   "org.apache.avalon.excalibur.datasource.J2eeDataSource",
  +                   "org.apache.excalibur.fortress.handler.ThreadSafeComponentHandler" );
  +        if( isInformixClassExists() )
  +        {
  +            checkRole( roles,
  +                       "informix-datasource",
  +                       "org.apache.avalon.excalibur.datasource.DataSourceComponent",
  +                       "org.apache.avalon.excalibur.datasource.InformixDataSource",
  +                       "org.apache.excalibur.fortress.handler.ThreadSafeComponentHandler" );
  +        }
  +        checkRole( roles,
  +                   "monitor",
  +                   "org.apache.avalon.excalibur.monitor.Monitor",
  +                   "org.apache.avalon.excalibur.monitor.ActiveMonitor",
  +                   "org.apache.excalibur.fortress.handler.ThreadSafeComponentHandler" );
  +        checkRole( roles,
  +                   "passive-monitor",
  +                   "org.apache.avalon.excalibur.monitor.Monitor",
  +                   "org.apache.avalon.excalibur.monitor.PassiveMonitor",
  +                   "org.apache.excalibur.fortress.handler.ThreadSafeComponentHandler" );
  +        checkRole( roles,
  +                   "xalan-xpath",
  +                   "org.apache.avalon.excalibur.xml.xpath.XPathProcessor",
  +                   "org.apache.avalon.excalibur.xml.xpath.XPathProcessorImpl",
  +                   "org.apache.excalibur.fortress.handler.ThreadSafeComponentHandler" );
  +        checkRole( roles,
  +                   "jaxpath",
  +                   "org.apache.avalon.excalibur.xml.xpath.XPathProcessor",
  +                   "org.apache.avalon.excalibur.xml.xpath.JaxenProcessorImpl",
  +                   "org.apache.excalibur.fortress.handler.ThreadSafeComponentHandler" );
  +        checkRole( roles,
  +                   "resolver",
  +                   "org.apache.excalibur.source.SourceResolver",
  +                   "org.apache.excalibur.source.impl.SourceResolverImpl",
  +                   "org.apache.excalibur.fortress.handler.ThreadSafeComponentHandler" );
  +        checkRole( roles,
  +                   "parser",
  +                   "org.apache.avalon.excalibur.xml.Parser",
  +                   "org.apache.avalon.excalibur.xml.JaxpParser",
  +                   "org.apache.excalibur.fortress.handler.PerThreadComponentHandler" );
  +        checkRole( roles,
  +                   "xerces-parser",
  +                   "org.apache.avalon.excalibur.xml.Parser",
  +                   "org.apache.avalon.excalibur.xml.XercesParser",
  +                   "org.apache.excalibur.fortress.handler.FactoryComponentHandler" );
       }
   
  -    /**
  -     * Test the shorthand return values.
  -     */
  -    public void testShorthandRemapReturnValues()
  -        throws Exception
  -    {
  -        ExcaliburRoleManager roles = new ExcaliburRoleManager( null, this.getClass().getClassLoader() );
  -        roles.enableLogging( m_logger );
  -        roles.initialize();
  -
  -        assertEquals(
  -            roles.getNameForClass( Class.forName( "org.apache.excalibur.cache.impl.DefaultCache" ) ),
  -            "cache"
  -        );
  -        assertEquals(
  -            roles.getNameForClass( Class.forName( "org.apache.excalibur.cache.impl.LRUCache" ) ),
  -            "lru-cache"
  -        );
  -        assertEquals(
  -            roles.getNameForClass( Class.forName( "org.apache.avalon.excalibur.datasource.JdbcDataSource" ) ),
  -            "jdbc-datasource"
  -        );
  -        assertEquals(
  -            roles.getNameForClass( Class.forName( "org.apache.avalon.excalibur.datasource.J2eeDataSource" ) ),
  -            "j2ee-datasource"
  -        );
  -        if( m_informixClassExists )
  -        {
  -            assertEquals(
  -                roles.getNameForClass( Class.forName( "org.apache.avalon.excalibur.datasource.InformixDataSource" ) ),
  -                "informix-datasource"
  -            );
  -        }
  -        assertEquals(
  -            roles.getNameForClass( Class.forName( "org.apache.avalon.excalibur.monitor.ActiveMonitor" ) ),
  -            "monitor"
  -        );
  -        assertEquals(
  -            roles.getNameForClass( Class.forName( "org.apache.avalon.excalibur.monitor.PassiveMonitor" ) ),
  -            "passive-monitor"
  -        );
  -        assertEquals(
  -            roles.getNameForClass( Class.forName( "org.apache.avalon.excalibur.xml.xpath.XPathProcessorImpl" ) ),
  -            "xalan-xpath"
  -        );
  -        assertEquals(
  -            roles.getNameForClass( Class.forName( "org.apache.avalon.excalibur.xml.xpath.JaxenProcessorImpl" ) ),
  -            "jaxpath"
  -        );
  -        assertEquals(
  -            roles.getNameForClass( Class.forName( "org.apache.excalibur.source.impl.SourceResolverImpl" ) ),
  -            "resolver"
  -        );
  -        assertEquals(
  -            roles.getNameForClass( Class.forName( "org.apache.avalon.excalibur.xml.JaxpParser" ) ),
  -            "parser"
  -        );
  -        assertEquals(
  -            roles.getNameForClass( Class.forName( "org.apache.avalon.excalibur.xml.XercesParser" ) ),
  -            "xerces-parser"
  -        );
  -    }
  -
  -    /**
  -     * Test the shorthand return values.
  -     */
  -    public void testRoleForClass()
  -        throws Exception
  -    {
  -        ExcaliburRoleManager roles = new ExcaliburRoleManager( null, this.getClass().getClassLoader() );
  -        roles.enableLogging( m_logger );
  -        roles.initialize();
  -
  -        assertEquals(
  -            roles.getRoleForClass( Class.forName( "org.apache.excalibur.cache.impl.DefaultCache" ) ),
  -            "org.apache.excalibur.cache.Cache"
  -        );
  -        assertEquals(
  -            roles.getRoleForClass( Class.forName( "org.apache.excalibur.cache.impl.LRUCache" ) ),
  -            "org.apache.excalibur.cache.Cache"
  -        );
  -        assertEquals(
  -            roles.getRoleForClass( Class.forName( "org.apache.avalon.excalibur.datasource.JdbcDataSource" ) ),
  -            "org.apache.avalon.excalibur.datasource.DataSourceComponent"
  -        );
  -        assertEquals(
  -            roles.getRoleForClass( Class.forName( "org.apache.avalon.excalibur.datasource.J2eeDataSource" ) ),
  -            "org.apache.avalon.excalibur.datasource.DataSourceComponent"
  -        );
  -        if( m_informixClassExists )
  -        {
  -            assertEquals(
  -                roles.getRoleForClass( Class.forName( "org.apache.avalon.excalibur.datasource.InformixDataSource" ) ),
  -                "org.apache.avalon.excalibur.datasource.DataSourceComponent"
  -            );
  -        }
  -        assertEquals(
  -            roles.getRoleForClass( Class.forName( "org.apache.avalon.excalibur.monitor.ActiveMonitor" ) ),
  -            "org.apache.avalon.excalibur.monitor.Monitor"
  -        );
  -        assertEquals(
  -            roles.getRoleForClass( Class.forName( "org.apache.avalon.excalibur.monitor.PassiveMonitor" ) ),
  -            "org.apache.avalon.excalibur.monitor.Monitor"
  -        );
  -        assertEquals(
  -            roles.getRoleForClass( Class.forName( "org.apache.avalon.excalibur.xml.xpath.XPathProcessorImpl" ) ),
  -            "org.apache.avalon.excalibur.xml.xpath.XPathProcessor"
  -        );
  -        assertEquals(
  -            roles.getRoleForClass( Class.forName( "org.apache.avalon.excalibur.xml.xpath.JaxenProcessorImpl" ) ),
  -            "org.apache.avalon.excalibur.xml.xpath.XPathProcessor"
  -        );
  -        assertEquals(
  -            roles.getRoleForClass( Class.forName( "org.apache.excalibur.source.impl.SourceResolverImpl" ) ),
  -            "org.apache.excalibur.source.SourceResolver"
  -        );
  -        assertEquals(
  -            roles.getRoleForClass( Class.forName( "org.apache.avalon.excalibur.xml.JaxpParser" ) ),
  -            "org.apache.avalon.excalibur.xml.Parser"
  -        );
  -        assertEquals(
  -            roles.getRoleForClass( Class.forName( "org.apache.avalon.excalibur.xml.XercesParser" ) ),
  -            "org.apache.avalon.excalibur.xml.Parser"
  -        );
  -    }
  -
  -    /**
  -     * Test the shorthand return values.
  -     */
  -    public void testClassesForRole()
  -        throws Exception
  -    {
  -        ExcaliburRoleManager roles = new ExcaliburRoleManager( null, this.getClass().getClassLoader() );
  -        roles.enableLogging( m_logger );
  -        roles.initialize();
  -
  -        Class[] classes = roles.getClassesForRole( "org.apache.excalibur.cache.Cache" );
  -
  -        assertEquals(
  -            classes[ 0 ],
  -            Class.forName( "org.apache.excalibur.cache.impl.DefaultCache" )
  -        );
  -        assertEquals(
  -            classes[ 1 ],
  -            Class.forName( "org.apache.excalibur.cache.impl.LRUCache" )
  -        );
  -
  -        classes = roles.getClassesForRole( "org.apache.avalon.excalibur.datasource.DataSourceComponent" );
  -
  -        assertEquals(
  -            classes[ 0 ],
  -            Class.forName( "org.apache.avalon.excalibur.datasource.JdbcDataSource" )
  -        );
  -        assertEquals(
  -            classes[ 1 ],
  -            Class.forName( "org.apache.avalon.excalibur.datasource.J2eeDataSource" )
  -        );
  -        if( m_informixClassExists )
  -        {
  -            assertEquals(
  -                classes[ 2 ],
  -                Class.forName( "org.apache.avalon.excalibur.datasource.InformixDataSource" )
  -            );
  -        }
  -
  -        classes = roles.getClassesForRole( "org.apache.avalon.excalibur.monitor.Monitor" );
  -
  -        assertEquals(
  -            classes[ 0 ],
  -            Class.forName( "org.apache.avalon.excalibur.monitor.ActiveMonitor" )
  -        );
  -        assertEquals(
  -            classes[ 1 ],
  -            Class.forName( "org.apache.avalon.excalibur.monitor.PassiveMonitor" )
  -        );
  -
  -        classes = roles.getClassesForRole( "org.apache.avalon.excalibur.xml.xpath.XPathProcessor" );
  -
  -        assertEquals(
  -            classes[ 0 ],
  -            Class.forName( "org.apache.avalon.excalibur.xml.xpath.XPathProcessorImpl" )
  -        );
  -        assertEquals(
  -            classes[ 1 ],
  -            Class.forName( "org.apache.avalon.excalibur.xml.xpath.JaxenProcessorImpl" )
  -        );
  -
  -        classes = roles.getClassesForRole( "org.apache.excalibur.source.SourceResolver" );
  -
  -        assertEquals(
  -            classes[ 0 ],
  -            Class.forName( "org.apache.excalibur.source.impl.SourceResolverImpl" )
  -        );
  -
  -        classes = roles.getClassesForRole( "org.apache.avalon.excalibur.xml.Parser" );
  -
  -        assertEquals(
  -            classes[ 0 ],
  -            Class.forName( "org.apache.avalon.excalibur.xml.JaxpParser" )
  -        );
  -        assertEquals(
  -            classes[ 1 ],
  -            Class.forName( "org.apache.avalon.excalibur.xml.XercesParser" )
  -        );
  -    }
  -
  -    /**
  -     * Test the handler class return values.
  -     */
  -    public void testHandlerClassReturnValues()
  -        throws Exception
  -    {
  -        ExcaliburRoleManager roles = new ExcaliburRoleManager( null, this.getClass().getClassLoader() );
  -        roles.enableLogging( m_logger );
  -        roles.initialize();
  -
  -        assertEquals(
  -            roles.getHandlerClassForClass( Class.forName( "org.apache.excalibur.cache.impl.DefaultCache" ) ),
  -            Class.forName( "org.apache.excalibur.fortress.handler.ThreadSafeComponentHandler" )
  -        );
  -        assertEquals(
  -            roles.getHandlerClassForClass( Class.forName( "org.apache.excalibur.cache.impl.LRUCache" ) ),
  -            Class.forName( "org.apache.excalibur.fortress.handler.ThreadSafeComponentHandler" )
  -        );
  -        assertEquals(
  -            roles.getHandlerClassForClass( Class.forName( "org.apache.avalon.excalibur.datasource.JdbcDataSource" ) ),
  -            Class.forName( "org.apache.excalibur.fortress.handler.ThreadSafeComponentHandler" )
  -        );
  -        assertEquals(
  -            roles.getHandlerClassForClass( Class.forName( "org.apache.avalon.excalibur.datasource.J2eeDataSource" ) ),
  -            Class.forName( "org.apache.excalibur.fortress.handler.ThreadSafeComponentHandler" )
  -        );
  -        if( m_informixClassExists )
  -        {
  -            assertEquals(
  -                roles.getHandlerClassForClass( Class.forName( "org.apache.avalon.excalibur.datasource.InformixDataSource" ) ),
  -                Class.forName( "org.apache.excalibur.fortress.handler.ThreadSafeComponentHandler" )
  -            );
  -        }
  -        assertEquals(
  -            roles.getHandlerClassForClass( Class.forName( "org.apache.avalon.excalibur.monitor.ActiveMonitor" ) ),
  -            Class.forName( "org.apache.excalibur.fortress.handler.ThreadSafeComponentHandler" )
  -        );
  -        assertEquals(
  -            roles.getHandlerClassForClass( Class.forName( "org.apache.avalon.excalibur.monitor.PassiveMonitor" ) ),
  -            Class.forName( "org.apache.excalibur.fortress.handler.ThreadSafeComponentHandler" )
  -        );
  -        assertEquals(
  -            roles.getHandlerClassForClass( Class.forName( "org.apache.avalon.excalibur.xml.xpath.XPathProcessorImpl" ) ),
  -            Class.forName( "org.apache.excalibur.fortress.handler.ThreadSafeComponentHandler" )
  -        );
  -        assertEquals(
  -            roles.getHandlerClassForClass( Class.forName( "org.apache.avalon.excalibur.xml.xpath.JaxenProcessorImpl" ) ),
  -            Class.forName( "org.apache.excalibur.fortress.handler.ThreadSafeComponentHandler" )
  -        );
  -        assertEquals(
  -            roles.getHandlerClassForClass( Class.forName( "org.apache.excalibur.source.impl.SourceResolverImpl" ) ),
  -            Class.forName( "org.apache.excalibur.fortress.handler.ThreadSafeComponentHandler" )
  -        );
  -        assertEquals(
  -            roles.getHandlerClassForClass( Class.forName( "org.apache.avalon.excalibur.xml.JaxpParser" ) ),
  -            Class.forName( "org.apache.excalibur.fortress.handler.PerThreadComponentHandler" )
  -        );
  -        assertEquals(
  -            roles.getHandlerClassForClass( Class.forName( "org.apache.avalon.excalibur.xml.XercesParser" ) ),
  -            Class.forName( "org.apache.excalibur.fortress.handler.FactoryComponentHandler" )
  -        );
  -    }
   }
   
  
  
  
  1.1                  jakarta-avalon-excalibur/fortress/src/test/org/apache/excalibur/fortress/util/test/AbstractRoleManagerTestCase.java
  
  Index: AbstractRoleManagerTestCase.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.excalibur.fortress.util.test;
  
  import junit.framework.TestCase;
  import org.apache.excalibur.fortress.role.RoleEntry;
  import org.apache.excalibur.fortress.role.RoleManager;
  
  /**
   *
   * @author <a href="mailto:peter at apache.org">Peter Donald</a>
   * @version $Revision: 1.1 $ $Date: 2002/11/10 16:18:23 $
   */
  public class AbstractRoleManagerTestCase extends TestCase
  {
      private boolean m_informixClassExists = false;
  
      public AbstractRoleManagerTestCase( final String key )
      {
          super( key );
  
          try
          {
              Class.forName( "org.apache.avalon.excalibur.datasource.InformixDataSource" );
              m_informixClassExists = true;
          }
          catch( Exception e )
          {
              m_informixClassExists = false;
          }
      }
  
      protected boolean isInformixClassExists()
      {
          return m_informixClassExists;
      }
  
      protected void checkRole( final RoleManager roles,
                                final String shortname,
                                final String role,
                                final String className,
                                final String handlerClassname )
          throws ClassNotFoundException
      {
          final RoleEntry roleEntry = roles.getRoleForShortName( shortname );
          assertNotNull( "RoleEntry", roleEntry );
  
          assertEquals( "componentClass:",
                        roleEntry.getComponentClass(), Class.forName( className ) );
          assertEquals( "Role:", roleEntry.getRole(), role );
          assertEquals( "Handler:",
                        roleEntry.getHandlerClass(), Class.forName( handlerClassname ) );
      }
  }
  
  
  

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