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>