Author: cziegeler Date: Sat Oct 23 08:46:58 2004 New Revision: 55389 Added: cocoon/trunk/src/core/test/org/apache/cocoon/core/container/ContainerTestCase.java Modified: cocoon/trunk/src/blocks/axis/java/org/apache/cocoon/components/axis/SoapServer.java cocoon/trunk/src/blocks/cron/java/org/apache/cocoon/components/cron/QuartzJobScheduler.java cocoon/trunk/src/blocks/hsqldb/java/org/apache/cocoon/components/hsqldb/Server.java cocoon/trunk/src/blocks/ojb/java/org/apache/cocoon/ojb/broker/components/PBFactory.java cocoon/trunk/src/blocks/ojb/java/org/apache/cocoon/ojb/odmg/components/OdmgImplementation.java cocoon/trunk/src/blocks/php/java/org/apache/cocoon/generation/PhpGenerator.java cocoon/trunk/src/blocks/portal-fw/java/org/apache/cocoon/webapps/portal/components/PortalManagerImpl.java cocoon/trunk/src/blocks/portal-fw/java/org/apache/cocoon/webapps/portal/context/SessionContextProviderImpl.java cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/PortalManager.java cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/PortalService.java cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/aspect/impl/MemoryAspectDataStore.java cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/aspect/impl/SessionAspectDataStore.java cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/aspect/impl/TemporaryAspectDataStore.java cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/renderer/Renderer.java cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/renderer/aspect/RendererAspect.java cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/ProfileManager.java cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/MapProfileLS.java cocoon/trunk/src/blocks/profiler/java/org/apache/cocoon/components/profiler/Profiler.java cocoon/trunk/src/blocks/repository/java/org/apache/cocoon/components/repository/RepositoryManager.java cocoon/trunk/src/blocks/repository/java/org/apache/cocoon/components/source/SourceInspector.java cocoon/trunk/src/blocks/session-fw/java/org/apache/cocoon/webapps/session/context/StandardSessionContextProvider.java cocoon/trunk/src/blocks/taglib/java/org/apache/cocoon/taglib/Tag.java cocoon/trunk/src/blocks/web3/java/org/apache/cocoon/components/web3/Web3Client.java cocoon/trunk/src/blocks/web3/java/org/apache/cocoon/components/web3/Web3Streamer.java cocoon/trunk/src/blocks/webdav/java/org/apache/cocoon/components/repository/impl/WebDAVRepository.java cocoon/trunk/src/blocks/webdav/java/org/apache/cocoon/components/repository/impl/WebDAVRepositoryPropertyHelper.java cocoon/trunk/src/blocks/webdav/java/org/apache/cocoon/components/repository/impl/WebDAVRepositoryTransactionHelper.java cocoon/trunk/src/blocks/webdav/java/org/apache/cocoon/components/repository/impl/WebDAVRepositoryVersioningHelper.java cocoon/trunk/src/core/test/org/apache/cocoon/core/container/RoleManagerTestCase.java cocoon/trunk/src/java/org/apache/cocoon/Processor.java cocoon/trunk/src/java/org/apache/cocoon/ProcessorWrapper.java cocoon/trunk/src/java/org/apache/cocoon/RequestListener.java cocoon/trunk/src/java/org/apache/cocoon/components/modules/input/SitemapVariableHolder.java cocoon/trunk/src/java/org/apache/cocoon/components/modules/output/OutputModule.java cocoon/trunk/src/java/org/apache/cocoon/components/notification/NotifyingBuilder.java cocoon/trunk/src/java/org/apache/cocoon/components/persistence/RequestDataStoreImpl.java cocoon/trunk/src/java/org/apache/cocoon/components/sax/XMLDeserializer.java cocoon/trunk/src/java/org/apache/cocoon/components/sax/XMLSerializer.java cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/ProcessingNodeBuilder.java cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/TreeBuilder.java cocoon/trunk/src/java/org/apache/cocoon/matching/Matcher.java cocoon/trunk/src/java/org/apache/cocoon/selection/Selector.java cocoon/trunk/src/java/org/apache/cocoon/serialization/SerializerFactory.java cocoon/trunk/src/java/org/apache/cocoon/sitemap/SitemapModelComponent.java cocoon/trunk/src/java/org/apache/cocoon/sitemap/SitemapOutputComponent.java cocoon/trunk/src/java/org/apache/cocoon/transformation/TransformerFactory.java cocoon/trunk/src/samples/org/apache/cocoon/samples/parentcm/Time.java cocoon/trunk/src/samples/org/apache/cocoon/samples/parentcm/TimeComponent.java cocoon/trunk/src/test/org/apache/cocoon/SitemapComponentTestCase.java cocoon/trunk/src/test/org/apache/cocoon/components/treeprocessor/variables/PreparedVariableResolverTestCase.java cocoon/trunk/src/test/org/apache/cocoon/transformation/AugmentTransformerTestCase.java cocoon/trunk/src/test/org/apache/cocoon/transformation/CIncludeTransformerTestCase.java cocoon/trunk/src/test/org/apache/cocoon/transformation/EncodeURLTransformerTestCase.java cocoon/trunk/src/test/org/apache/cocoon/transformation/I18NTransformerTestCase.java cocoon/trunk/src/test/org/apache/cocoon/transformation/XIncludeTransformerTestCase.java Log: Remove usage of deprecated Component, Composable, ComponentSelector interfaces Add own base class for tests (this is not tested yet...)
Modified: cocoon/trunk/src/blocks/axis/java/org/apache/cocoon/components/axis/SoapServer.java ============================================================================== --- cocoon/trunk/src/blocks/axis/java/org/apache/cocoon/components/axis/SoapServer.java (original) +++ cocoon/trunk/src/blocks/axis/java/org/apache/cocoon/components/axis/SoapServer.java Sat Oct 23 08:46:58 2004 @@ -20,7 +20,6 @@ import javax.servlet.ServletContext; import org.apache.avalon.framework.activity.Startable; -import org.apache.avalon.framework.component.Component; import org.apache.axis.MessageContext; @@ -45,10 +44,10 @@ * </p> * * @author <a href="mailto:[EMAIL PROTECTED]">Marcus Crafter</a> - * @version CVS $Id: SoapServer.java,v 1.2 2004/03/05 13:01:41 bdelacretaz Exp $ + * @version CVS $Id$ */ -public interface SoapServer extends Component, Startable -{ +public interface SoapServer extends Startable { + /** * Component's ROLE definition */ Modified: cocoon/trunk/src/blocks/cron/java/org/apache/cocoon/components/cron/QuartzJobScheduler.java ============================================================================== --- cocoon/trunk/src/blocks/cron/java/org/apache/cocoon/components/cron/QuartzJobScheduler.java (original) +++ cocoon/trunk/src/blocks/cron/java/org/apache/cocoon/components/cron/QuartzJobScheduler.java Sat Oct 23 08:46:58 2004 @@ -25,7 +25,6 @@ import org.apache.avalon.framework.activity.Disposable; import org.apache.avalon.framework.activity.Initializable; import org.apache.avalon.framework.activity.Startable; -import org.apache.avalon.framework.component.Component; import org.apache.avalon.framework.configuration.Configurable; import org.apache.avalon.framework.configuration.Configuration; import org.apache.avalon.framework.configuration.ConfigurationException; @@ -71,7 +70,7 @@ * @since 2.1.1 */ public class QuartzJobScheduler extends AbstractLogEnabled - implements JobScheduler, Component, ThreadSafe, + implements JobScheduler, ThreadSafe, Serviceable, Configurable, Startable, Disposable, Contextualizable, Initializable { Modified: cocoon/trunk/src/blocks/hsqldb/java/org/apache/cocoon/components/hsqldb/Server.java ============================================================================== --- cocoon/trunk/src/blocks/hsqldb/java/org/apache/cocoon/components/hsqldb/Server.java (original) +++ cocoon/trunk/src/blocks/hsqldb/java/org/apache/cocoon/components/hsqldb/Server.java Sat Oct 23 08:46:58 2004 @@ -15,13 +15,12 @@ */ package org.apache.cocoon.components.hsqldb; -import org.apache.avalon.framework.component.Component; - /** * * @author <a href="mailto:[EMAIL PROTECTED]">Davanum Srinivas</a> - * @version CVS $Id: Server.java,v 1.2 2004/03/05 13:01:56 bdelacretaz Exp $ + * @version CVS $Id$ */ -public interface Server extends Component { +public interface Server { + String ROLE = Server.class.getName(); } Modified: cocoon/trunk/src/blocks/ojb/java/org/apache/cocoon/ojb/broker/components/PBFactory.java ============================================================================== --- cocoon/trunk/src/blocks/ojb/java/org/apache/cocoon/ojb/broker/components/PBFactory.java (original) +++ cocoon/trunk/src/blocks/ojb/java/org/apache/cocoon/ojb/broker/components/PBFactory.java Sat Oct 23 08:46:58 2004 @@ -15,7 +15,6 @@ */ package org.apache.cocoon.ojb.broker.components; -import org.apache.avalon.framework.component.Component; import org.apache.ojb.broker.PBFactoryException; import org.apache.ojb.broker.PBKey; import org.apache.ojb.broker.PersistenceBroker; @@ -26,9 +25,9 @@ * The PersistenceBroker API provides the lowest level access to OJB's persistence engine. * * @author <a href="mailto:[EMAIL PROTECTED]">Antonio Gallardo</a> - * @version CVS $Id: PBFactory.java,v 1.3 2004/06/25 14:49:56 cziegeler Exp $ + * @version CVS $Id$ */ -public interface PBFactory extends Component { +public interface PBFactory { /** * The <code>ROLE</code> Modified: cocoon/trunk/src/blocks/ojb/java/org/apache/cocoon/ojb/odmg/components/OdmgImplementation.java ============================================================================== --- cocoon/trunk/src/blocks/ojb/java/org/apache/cocoon/ojb/odmg/components/OdmgImplementation.java (original) +++ cocoon/trunk/src/blocks/ojb/java/org/apache/cocoon/ojb/odmg/components/OdmgImplementation.java Sat Oct 23 08:46:58 2004 @@ -15,7 +15,6 @@ */ package org.apache.cocoon.ojb.odmg.components; -import org.apache.avalon.framework.component.Component; import org.odmg.Implementation; import org.odmg.ODMGException; @@ -24,9 +23,9 @@ * Interface of the ODMG Implementation. It is used to get the Implementation Object to interact with ODMG using OJB * * @author <a href="mailto:[EMAIL PROTECTED]">Giacomo Pati</a> - * @version CVS $Id: OdmgImplementation.java,v 1.3 2004/06/25 14:49:56 cziegeler Exp $ + * @version CVS $Id$ */ -public interface OdmgImplementation extends Component { +public interface OdmgImplementation { /** The ROLE */ String ROLE = OdmgImplementation.class.getName(); Modified: cocoon/trunk/src/blocks/php/java/org/apache/cocoon/generation/PhpGenerator.java ============================================================================== --- cocoon/trunk/src/blocks/php/java/org/apache/cocoon/generation/PhpGenerator.java (original) +++ cocoon/trunk/src/blocks/php/java/org/apache/cocoon/generation/PhpGenerator.java Sat Oct 23 08:46:58 2004 @@ -27,7 +27,6 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.apache.avalon.framework.component.Component; import org.apache.avalon.framework.CascadingRuntimeException; import org.apache.avalon.framework.logger.Logger; @@ -46,7 +45,7 @@ * results into SAX events. * * @author <a href="mailto:[EMAIL PROTECTED]">Sam Ruby</a> - * @version CVS $Id: PhpGenerator.java,v 1.2 2004/03/05 13:02:03 bdelacretaz Exp $ + * @version CVS $Id$ */ public class PhpGenerator extends ServletGenerator { @@ -174,7 +173,7 @@ throw new ProcessingException(e.toString(), e); } finally { this.resolver.release( inputSource ); - this.manager.release( (Component)parser ); + this.manager.release( parser ); } } } Modified: cocoon/trunk/src/blocks/portal-fw/java/org/apache/cocoon/webapps/portal/components/PortalManagerImpl.java ============================================================================== --- cocoon/trunk/src/blocks/portal-fw/java/org/apache/cocoon/webapps/portal/components/PortalManagerImpl.java (original) +++ cocoon/trunk/src/blocks/portal-fw/java/org/apache/cocoon/webapps/portal/components/PortalManagerImpl.java Sat Oct 23 08:46:58 2004 @@ -25,7 +25,6 @@ import org.apache.avalon.excalibur.pool.Recyclable; import org.apache.avalon.framework.activity.Disposable; -import org.apache.avalon.framework.component.Component; import org.apache.avalon.framework.configuration.Configuration; import org.apache.avalon.framework.configuration.ConfigurationException; import org.apache.avalon.framework.context.Context; @@ -77,11 +76,11 @@ * This is the basis portal component * * @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a> - * @version CVS $Id: PortalManagerImpl.java,v 1.9 2004/06/18 14:28:55 vgritsenko Exp $ + * @version CVS $Id$ */ public final class PortalManagerImpl extends AbstractLogEnabled -implements Disposable, Serviceable, Recyclable, Contextualizable, Component, PortalManager { +implements Disposable, Serviceable, Recyclable, Contextualizable, PortalManager { /** The cache (store) for the profiles */ private Store profileStore; Modified: cocoon/trunk/src/blocks/portal-fw/java/org/apache/cocoon/webapps/portal/context/SessionContextProviderImpl.java ============================================================================== --- cocoon/trunk/src/blocks/portal-fw/java/org/apache/cocoon/webapps/portal/context/SessionContextProviderImpl.java (original) +++ cocoon/trunk/src/blocks/portal-fw/java/org/apache/cocoon/webapps/portal/context/SessionContextProviderImpl.java Sat Oct 23 08:46:58 2004 @@ -19,7 +19,6 @@ import java.util.Map; import org.apache.avalon.framework.activity.Disposable; -import org.apache.avalon.framework.component.Component; import org.apache.avalon.framework.context.Context; import org.apache.avalon.framework.context.ContextException; import org.apache.avalon.framework.context.Contextualizable; @@ -44,10 +43,10 @@ * Context provider for the portal context * * @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a> - * @version CVS $Id: SessionContextProviderImpl.java,v 1.9 2004/05/26 08:39:49 cziegeler Exp $ + * @version CVS $Id$ */ public final class SessionContextProviderImpl extends AbstractLogEnabled - implements SessionContextProvider, ThreadSafe, Component, Serviceable, Contextualizable, Disposable { + implements SessionContextProvider, ThreadSafe, Serviceable, Contextualizable, Disposable { private ServiceManager manager; private Context context; Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/PortalManager.java ============================================================================== --- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/PortalManager.java (original) +++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/PortalManager.java Sat Oct 23 08:46:58 2004 @@ -15,7 +15,6 @@ */ package org.apache.cocoon.portal; -import org.apache.avalon.framework.component.Component; import org.apache.avalon.framework.parameters.Parameters; import org.apache.cocoon.ProcessingException; import org.xml.sax.ContentHandler; @@ -32,9 +31,9 @@ * @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a> * @author <a href="mailto:[EMAIL PROTECTED]">Volker Schmitt</a> * - * @version CVS $Id: PortalManager.java,v 1.3 2004/03/05 13:02:08 bdelacretaz Exp $ + * @version CVS $Id$ */ -public interface PortalManager extends Component { +public interface PortalManager { String ROLE = PortalManager.class.getName(); Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/PortalService.java ============================================================================== --- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/PortalService.java (original) +++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/PortalService.java Sat Oct 23 08:46:58 2004 @@ -17,7 +17,6 @@ import java.util.Iterator; -import org.apache.avalon.framework.component.Component; import org.apache.cocoon.portal.layout.Layout; /** @@ -31,7 +30,7 @@ * * @version CVS $Id$ */ -public interface PortalService extends Component { +public interface PortalService { String ROLE = PortalService.class.getName(); Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/aspect/impl/MemoryAspectDataStore.java ============================================================================== --- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/aspect/impl/MemoryAspectDataStore.java (original) +++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/aspect/impl/MemoryAspectDataStore.java Sat Oct 23 08:46:58 2004 @@ -18,7 +18,6 @@ import java.util.HashMap; import java.util.Map; -import org.apache.avalon.framework.component.Component; import org.apache.avalon.framework.logger.AbstractLogEnabled; import org.apache.avalon.framework.thread.ThreadSafe; import org.apache.cocoon.portal.aspect.AspectDataStore; @@ -29,11 +28,11 @@ * * @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a> * - * @version CVS $Id: MemoryAspectDataStore.java,v 1.2 2004/03/05 13:02:10 bdelacretaz Exp $ + * @version CVS $Id$ */ public class MemoryAspectDataStore extends AbstractLogEnabled - implements Component, ThreadSafe, AspectDataStore { + implements ThreadSafe, AspectDataStore { protected final Map objectMap = new HashMap(); Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/aspect/impl/SessionAspectDataStore.java ============================================================================== --- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/aspect/impl/SessionAspectDataStore.java (original) +++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/aspect/impl/SessionAspectDataStore.java Sat Oct 23 08:46:58 2004 @@ -15,7 +15,6 @@ */ package org.apache.cocoon.portal.aspect.impl; -import org.apache.avalon.framework.component.Component; import org.apache.avalon.framework.context.Context; import org.apache.avalon.framework.context.ContextException; import org.apache.avalon.framework.context.Contextualizable; @@ -31,11 +30,11 @@ * * @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a> * - * @version CVS $Id: SessionAspectDataStore.java,v 1.6 2004/03/05 13:02:10 bdelacretaz Exp $ + * @version CVS $Id$ */ public class SessionAspectDataStore extends AbstractLogEnabled - implements Component, ThreadSafe, AspectDataStore, Contextualizable { + implements ThreadSafe, AspectDataStore, Contextualizable { protected Context context; Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/aspect/impl/TemporaryAspectDataStore.java ============================================================================== --- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/aspect/impl/TemporaryAspectDataStore.java (original) +++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/aspect/impl/TemporaryAspectDataStore.java Sat Oct 23 08:46:58 2004 @@ -18,7 +18,6 @@ import java.util.HashMap; import java.util.Map; -import org.apache.avalon.framework.component.Component; import org.apache.avalon.framework.context.Context; import org.apache.avalon.framework.context.ContextException; import org.apache.avalon.framework.context.Contextualizable; @@ -38,11 +37,11 @@ * * @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a> * - * @version CVS $Id: TemporaryAspectDataStore.java,v 1.2 2004/03/05 13:02:10 bdelacretaz Exp $ + * @version CVS $Id$ */ public class TemporaryAspectDataStore extends AbstractLogEnabled - implements Component, Serviceable, ThreadSafe, AspectDataStore, Contextualizable { + implements Serviceable, ThreadSafe, AspectDataStore, Contextualizable { protected Context context; Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/renderer/Renderer.java ============================================================================== --- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/renderer/Renderer.java (original) +++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/renderer/Renderer.java Sat Oct 23 08:46:58 2004 @@ -17,7 +17,6 @@ import java.util.Iterator; -import org.apache.avalon.framework.component.Component; import org.apache.cocoon.portal.PortalService; import org.apache.cocoon.portal.layout.Layout; import org.xml.sax.ContentHandler; @@ -29,10 +28,9 @@ * @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a> * @author <a href="mailto:[EMAIL PROTECTED]">Volker Schmitt</a> * - * @version CVS $Id: Renderer.java,v 1.4 2004/03/05 13:02:13 bdelacretaz Exp $ + * @version CVS $Id$ */ -public interface Renderer - extends Component { +public interface Renderer { String ROLE = Renderer.class.getName(); Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/renderer/aspect/RendererAspect.java ============================================================================== --- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/renderer/aspect/RendererAspect.java (original) +++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/renderer/aspect/RendererAspect.java Sat Oct 23 08:46:58 2004 @@ -17,7 +17,6 @@ import java.util.Iterator; -import org.apache.avalon.framework.component.Component; import org.apache.avalon.framework.parameters.ParameterException; import org.apache.avalon.framework.parameters.Parameters; import org.apache.cocoon.portal.PortalService; @@ -33,10 +32,9 @@ * @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a> * @author <a href="mailto:[EMAIL PROTECTED]">Volker Schmitt</a> * - * @version CVS $Id: RendererAspect.java,v 1.6 2004/04/25 20:09:34 haul Exp $ + * @version CVS $Id$ */ -public interface RendererAspect - extends Component { +public interface RendererAspect { String ROLE = RendererAspect.class.getName(); Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/ProfileManager.java ============================================================================== --- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/ProfileManager.java (original) +++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/ProfileManager.java Sat Oct 23 08:46:58 2004 @@ -18,7 +18,6 @@ import java.util.Collection; import java.util.List; -import org.apache.avalon.framework.component.Component; import org.apache.cocoon.portal.coplet.CopletData; import org.apache.cocoon.portal.coplet.CopletInstanceData; import org.apache.cocoon.portal.layout.Layout; @@ -33,7 +32,7 @@ * * @version CVS $Id$ */ -public interface ProfileManager extends Component { +public interface ProfileManager { String ROLE = ProfileManager.class.getName(); Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/MapProfileLS.java ============================================================================== --- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/MapProfileLS.java (original) +++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/MapProfileLS.java Sat Oct 23 08:46:58 2004 @@ -23,7 +23,6 @@ import java.util.Map.Entry; import org.apache.avalon.framework.activity.Disposable; -import org.apache.avalon.framework.component.Component; import org.apache.avalon.framework.logger.AbstractLogEnabled; import org.apache.avalon.framework.service.ServiceException; import org.apache.avalon.framework.service.ServiceManager; @@ -50,7 +49,7 @@ */ public class MapProfileLS extends AbstractLogEnabled - implements Component, Serviceable, ProfileLS, ThreadSafe, Disposable { + implements Serviceable, ProfileLS, ThreadSafe, Disposable { /** The component manager */ protected ServiceManager manager; Modified: cocoon/trunk/src/blocks/profiler/java/org/apache/cocoon/components/profiler/Profiler.java ============================================================================== --- cocoon/trunk/src/blocks/profiler/java/org/apache/cocoon/components/profiler/Profiler.java (original) +++ cocoon/trunk/src/blocks/profiler/java/org/apache/cocoon/components/profiler/Profiler.java Sat Oct 23 08:46:58 2004 @@ -15,8 +15,6 @@ */ package org.apache.cocoon.components.profiler; -import org.apache.avalon.framework.component.Component; - import java.util.Collection; /** @@ -24,10 +22,10 @@ * * @author <a href="mailto:[EMAIL PROTECTED]">Vadim Gritsenko</a> * @author <a href="mailto:[EMAIL PROTECTED]">Stephan Michels</a> - * @version CVS $Id: Profiler.java,v 1.2 2004/03/05 13:02:20 bdelacretaz Exp $ + * @version CVS $Id$ */ -public interface Profiler extends Component -{ +public interface Profiler { + String ROLE = Profiler.class.getName(); /** Modified: cocoon/trunk/src/blocks/repository/java/org/apache/cocoon/components/repository/RepositoryManager.java ============================================================================== --- cocoon/trunk/src/blocks/repository/java/org/apache/cocoon/components/repository/RepositoryManager.java (original) +++ cocoon/trunk/src/blocks/repository/java/org/apache/cocoon/components/repository/RepositoryManager.java Sat Oct 23 08:46:58 2004 @@ -19,7 +19,6 @@ import java.util.Map; import org.apache.avalon.framework.activity.Disposable; -import org.apache.avalon.framework.component.Component; import org.apache.avalon.framework.configuration.Configurable; import org.apache.avalon.framework.configuration.Configuration; import org.apache.avalon.framework.configuration.ConfigurationException; @@ -37,7 +36,7 @@ * A factory component to create instances of repositories. */ public class RepositoryManager extends AbstractLogEnabled -implements Serviceable, Disposable, Configurable, Component, ThreadSafe { +implements Serviceable, Disposable, Configurable, ThreadSafe { /** The Avalon role name */ public static final String ROLE = RepositoryManager.class.getName(); Modified: cocoon/trunk/src/blocks/repository/java/org/apache/cocoon/components/source/SourceInspector.java ============================================================================== --- cocoon/trunk/src/blocks/repository/java/org/apache/cocoon/components/source/SourceInspector.java (original) +++ cocoon/trunk/src/blocks/repository/java/org/apache/cocoon/components/source/SourceInspector.java Sat Oct 23 08:46:58 2004 @@ -15,7 +15,6 @@ */ package org.apache.cocoon.components.source; -import org.apache.avalon.framework.component.Component; import org.apache.cocoon.components.source.helpers.SourceProperty; import org.apache.excalibur.source.Source; import org.apache.excalibur.source.SourceException; @@ -26,11 +25,11 @@ * * @author <a href="mailto:[EMAIL PROTECTED]">Stephan Michels</a> * @author <a href="mailto:[EMAIL PROTECTED]">Unico Hommes</a> - * @version CVS $Id: SourceInspector.java,v 1.6 2004/03/05 13:02:21 bdelacretaz Exp $ + * @version CVS $Id$ */ -public interface SourceInspector extends Component { +public interface SourceInspector { - public final static String ROLE = "org.apache.cocoon.components.source.SourceInspector"; + public final static String ROLE = SourceInspector.class.getName(); /** * Gets the SourceProperty associated with the given Source identified Modified: cocoon/trunk/src/blocks/session-fw/java/org/apache/cocoon/webapps/session/context/StandardSessionContextProvider.java ============================================================================== --- cocoon/trunk/src/blocks/session-fw/java/org/apache/cocoon/webapps/session/context/StandardSessionContextProvider.java (original) +++ cocoon/trunk/src/blocks/session-fw/java/org/apache/cocoon/webapps/session/context/StandardSessionContextProvider.java Sat Oct 23 08:46:58 2004 @@ -18,7 +18,6 @@ import java.util.Map; import org.apache.avalon.framework.activity.Disposable; -import org.apache.avalon.framework.component.Component; import org.apache.avalon.framework.context.Context; import org.apache.avalon.framework.context.ContextException; import org.apache.avalon.framework.context.Contextualizable; @@ -39,11 +38,11 @@ * response context. * * @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a> - * @version CVS $Id: StandardSessionContextProvider.java,v 1.9 2004/03/19 14:16:55 cziegeler Exp $ + * @version CVS $Id$ */ public final class StandardSessionContextProvider extends AbstractLogEnabled -implements SessionContextProvider, ThreadSafe, Contextualizable, Serviceable, Component, Disposable { +implements SessionContextProvider, ThreadSafe, Contextualizable, Serviceable, Disposable { protected Context context; Modified: cocoon/trunk/src/blocks/taglib/java/org/apache/cocoon/taglib/Tag.java ============================================================================== --- cocoon/trunk/src/blocks/taglib/java/org/apache/cocoon/taglib/Tag.java (original) +++ cocoon/trunk/src/blocks/taglib/java/org/apache/cocoon/taglib/Tag.java Sat Oct 23 08:46:58 2004 @@ -18,7 +18,6 @@ import java.io.IOException; import java.util.Map; -import org.apache.avalon.framework.component.Component; import org.apache.avalon.framework.parameters.Parameters; import org.apache.cocoon.environment.SourceResolver; @@ -35,7 +34,7 @@ * @author <a href="mailto:[EMAIL PROTECTED]">Volker Schmitt</a> * @version CVS $Id$ */ -public interface Tag extends Component { +public interface Tag { String ROLE = Tag.class.getName(); Modified: cocoon/trunk/src/blocks/web3/java/org/apache/cocoon/components/web3/Web3Client.java ============================================================================== --- cocoon/trunk/src/blocks/web3/java/org/apache/cocoon/components/web3/Web3Client.java (original) +++ cocoon/trunk/src/blocks/web3/java/org/apache/cocoon/components/web3/Web3Client.java Sat Oct 23 08:46:58 2004 @@ -15,8 +15,6 @@ */ package org.apache.cocoon.components.web3; -import org.apache.avalon.framework.component.Component; - import com.sap.mw.jco.IRepository; import com.sap.mw.jco.JCO.Client; import com.sap.mw.jco.JCO.Function; @@ -26,11 +24,11 @@ * * @author <a href="mailto:[EMAIL PROTECTED]">Michael Gerzabek</a> * @since 2.1 - * @version CVS $Id: Web3Client.java,v 1.5 2004/03/05 13:02:25 bdelacretaz Exp $ + * @version CVS $Id$ */ -public interface Web3Client extends Component { +public interface Web3Client { - String ROLE = "org.apache.cocoon.components.web3.Web3Client"; + String ROLE = Web3Client.class.getName(); /** * Releases the Connection to the backend Modified: cocoon/trunk/src/blocks/web3/java/org/apache/cocoon/components/web3/Web3Streamer.java ============================================================================== --- cocoon/trunk/src/blocks/web3/java/org/apache/cocoon/components/web3/Web3Streamer.java (original) +++ cocoon/trunk/src/blocks/web3/java/org/apache/cocoon/components/web3/Web3Streamer.java Sat Oct 23 08:46:58 2004 @@ -20,18 +20,16 @@ import org.xml.sax.SAXException; import org.xml.sax.ContentHandler; -import org.apache.avalon.framework.component.Component; - /** * The standard interface for Web3Producer. * * @author <a href="mailto:[EMAIL PROTECTED]">Michael Gerzabek</a> * @since 2.1 - * @version CVS $Id: Web3Streamer.java,v 1.5 2004/03/05 13:02:25 bdelacretaz Exp $ + * @version CVS $Id$ */ -public interface Web3Streamer extends Component { +public interface Web3Streamer { - String ROLE = "org.apache.cocoon.components.web3.Web3Streamer"; + String ROLE = Web3Streamer.class.getName(); void stream(JCO.Function function, ContentHandler contentHandler) throws SAXException; Modified: cocoon/trunk/src/blocks/webdav/java/org/apache/cocoon/components/repository/impl/WebDAVRepository.java ============================================================================== --- cocoon/trunk/src/blocks/webdav/java/org/apache/cocoon/components/repository/impl/WebDAVRepository.java (original) +++ cocoon/trunk/src/blocks/webdav/java/org/apache/cocoon/components/repository/impl/WebDAVRepository.java Sat Oct 23 08:46:58 2004 @@ -26,7 +26,6 @@ import org.apache.avalon.excalibur.io.IOUtil; import org.apache.avalon.framework.activity.Disposable; import org.apache.avalon.framework.activity.Initializable; -import org.apache.avalon.framework.component.Component; import org.apache.avalon.framework.configuration.Configurable; import org.apache.avalon.framework.configuration.Configuration; import org.apache.avalon.framework.configuration.ConfigurationException; @@ -57,7 +56,7 @@ * A repository implementation for WebDAV. */ public class WebDAVRepository extends AbstractLogEnabled -implements Repository, Serviceable, Configurable, Initializable, Disposable, Component { +implements Repository, Serviceable, Configurable, Initializable, Disposable { /** The name of the repository location configuration element */ public static final String REPO_BASE_CONF = "repo-base"; Modified: cocoon/trunk/src/blocks/webdav/java/org/apache/cocoon/components/repository/impl/WebDAVRepositoryPropertyHelper.java ============================================================================== --- cocoon/trunk/src/blocks/webdav/java/org/apache/cocoon/components/repository/impl/WebDAVRepositoryPropertyHelper.java (original) +++ cocoon/trunk/src/blocks/webdav/java/org/apache/cocoon/components/repository/impl/WebDAVRepositoryPropertyHelper.java Sat Oct 23 08:46:58 2004 @@ -24,7 +24,6 @@ import javax.xml.transform.OutputKeys; import org.apache.avalon.framework.activity.Disposable; -import org.apache.avalon.framework.component.Component; import org.apache.avalon.framework.logger.AbstractLogEnabled; import org.apache.avalon.framework.service.ServiceException; import org.apache.avalon.framework.service.ServiceManager; @@ -43,7 +42,7 @@ * intended to be used by flowscripts or corresponding wrapper components. */ public class WebDAVRepositoryPropertyHelper extends AbstractLogEnabled -implements RepositoryPropertyHelper, Serviceable, Disposable, Component { +implements RepositoryPropertyHelper, Serviceable, Disposable { /* The ServiceManager */ private ServiceManager manager; Modified: cocoon/trunk/src/blocks/webdav/java/org/apache/cocoon/components/repository/impl/WebDAVRepositoryTransactionHelper.java ============================================================================== --- cocoon/trunk/src/blocks/webdav/java/org/apache/cocoon/components/repository/impl/WebDAVRepositoryTransactionHelper.java (original) +++ cocoon/trunk/src/blocks/webdav/java/org/apache/cocoon/components/repository/impl/WebDAVRepositoryTransactionHelper.java Sat Oct 23 08:46:58 2004 @@ -18,7 +18,6 @@ import java.io.IOException; import org.apache.avalon.framework.activity.Disposable; -import org.apache.avalon.framework.component.Component; import org.apache.avalon.framework.logger.AbstractLogEnabled; import org.apache.avalon.framework.service.ServiceException; import org.apache.avalon.framework.service.ServiceManager; @@ -33,7 +32,7 @@ * intended to be used by flowscripts or corresponding wrapper components. */ public class WebDAVRepositoryTransactionHelper extends AbstractLogEnabled -implements RepositoryTransactionHelper, Serviceable, Disposable, Component { +implements RepositoryTransactionHelper, Serviceable, Disposable { /* The ServiceManager */ private ServiceManager manager; Modified: cocoon/trunk/src/blocks/webdav/java/org/apache/cocoon/components/repository/impl/WebDAVRepositoryVersioningHelper.java ============================================================================== --- cocoon/trunk/src/blocks/webdav/java/org/apache/cocoon/components/repository/impl/WebDAVRepositoryVersioningHelper.java (original) +++ cocoon/trunk/src/blocks/webdav/java/org/apache/cocoon/components/repository/impl/WebDAVRepositoryVersioningHelper.java Sat Oct 23 08:46:58 2004 @@ -19,7 +19,6 @@ import java.util.List; import org.apache.avalon.framework.activity.Disposable; -import org.apache.avalon.framework.component.Component; import org.apache.avalon.framework.logger.AbstractLogEnabled; import org.apache.avalon.framework.service.ServiceException; import org.apache.avalon.framework.service.ServiceManager; @@ -34,7 +33,7 @@ * intended to be used by flowscripts or corresponding wrapper components. */ public class WebDAVRepositoryVersioningHelper extends AbstractLogEnabled -implements RepositoryVersioningHelper, Serviceable, Disposable, Component { +implements RepositoryVersioningHelper, Serviceable, Disposable { /* The ServiceManager */ private ServiceManager manager; Added: cocoon/trunk/src/core/test/org/apache/cocoon/core/container/ContainerTestCase.java ============================================================================== --- (empty file) +++ cocoon/trunk/src/core/test/org/apache/cocoon/core/container/ContainerTestCase.java Sat Oct 23 08:46:58 2004 @@ -0,0 +1,528 @@ +/* + * Copyright 2002-2004 The Apache Software Foundation + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. + * + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.cocoon.core.container; + +import java.io.InputStream; +import java.lang.reflect.Method; +import java.lang.reflect.Modifier; +import java.net.URL; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; + +import junit.framework.AssertionFailedError; +import junit.framework.TestCase; +import junit.framework.TestResult; + +import org.apache.avalon.excalibur.logger.DefaultLoggerManager; +import org.apache.avalon.excalibur.logger.LoggerManager; +import org.apache.avalon.framework.activity.Disposable; +import org.apache.avalon.framework.activity.Initializable; +import org.apache.avalon.framework.configuration.Configuration; +import org.apache.avalon.framework.configuration.DefaultConfigurationBuilder; +import org.apache.avalon.framework.context.Context; +import org.apache.avalon.framework.context.DefaultContext; +import org.apache.avalon.framework.logger.ConsoleLogger; +import org.apache.avalon.framework.logger.Logger; +import org.apache.avalon.framework.service.ServiceException; +import org.apache.avalon.framework.service.ServiceManager; + +/** + * JUnit TestCase for Avalon Components. + * <p> + * This class extends the JUnit TestCase class to setup an environment which + * makes it possible to easily test Avalon Components. The following methods + * and instance variables are exposed for convenience testing: + * </p> + * <dl> + * <dt>manager</dt> + * <dd> + * This instance variable contains an initialized ComponentLocator which + * can be used to lookup Components configured in the test configuration + * file. (see below) + * </dd> + * <dt>getLogger()</dt> + * <dd> + * This method returns the default logger for this test case + * </dd> + * </dl> + * <p> + * The following test case configuration can be used as a basis for new tests. + * Detailed are explanations of the configuration elements can be found after + * the example. The example will log all logger output to the console and to + * a log file. + * </p> + * <pre> + * <testcase> + * <annotation> + * <![CDATA[ + * <title>{Name of test}</title> + * <para> + * {Description of test} + * The configuration is specified in the file located in + * <parameter>avalon-excalibur/src/test/{path and name of conf file}.xtext</parameter>. + * </para> + * ]]> + * </annotation> + * + * <logkit log-level="INFO"> + * <factories> + * <factory type="stream" class="org.apache.avalon.excalibur.logger.factory.StreamTargetFactory"/> + * <factory type="file" class="org.apache.avalon.excalibur.logger.factory.FileTargetFactory"/> + * </factories> + * + * <targets> + * <stream id="console"> + * <stream>System.out</stream> + * <format type="avalon"> + * %7.7{priority} %23.23{time:yyyy-MM-dd' 'HH:mm:ss.SSS} [%30.30{category}] (%{context}): %{message}\n%{throwable} + * </format> + * </stream> + * <file id="log-file"> + * <filename>TEST-{full test class name}.log</filename> + * <format type="avalon"> + * %7.7{priority} %23.23{time:yyyy-MM-dd' 'HH:mm:ss.SSS} [%30.30{category}] (%{context}): %{message}\n%{throwable} + * </format> + * </file> + * </targets> + * + * <categories> + * <category name="test" log-level="INFO"> + * <log-target id-ref="console"/> + * <log-target id-ref="log-file"/> + * </category> + * <category name="jdbc" log-level="INFO"> + * <log-target id-ref="console"/> + * <log-target id-ref="log-file"/> + * </category> + * </categories> + * </logkit> + * + * <context> + * <entry name="foo" value="bar"/> + * <entry name="baz" class="my.context.Class"/> + * </context> + * + * <roles> + * <role name="org.apache.avalon.excalibur.datasource.DataSourceComponentSelector" + * shorthand="datasources" + * default-class="org.apache.avalon.excalibur.component.ExcaliburComponentSelector"> + * <hint shorthand="jdbc" class="org.apache.avalon.excalibur.datasource.JdbcDataSource"/> + * </role> + * </roles> + * + * <components> + * <datasources> + * <jdbc name="personell" logger="jdbc"> + * <pool-controller min="5" max="10"/> + * <jdbc name="personnel"/> + * <dburl>jdbc:odbc:test</dburl> + * <user>test</user> + * <password>test</password> + * <driver>sun.jdbc.odbc.JdbcOdbcDriver</driver> + * </jdbc> + * </datasources> + * </components> + * </testcase> + * </pre> + * <p> + * Element Explanation: + * <dl> + * <dt>testcase</dt> + * <dd>Defines a test case configuration. Must contain one each of the + * following elements: <code>annotation</code>, <code>logkit</code>, + * <code>context</code>, <code>roles</code>, and <code>components</code> + * </dd>. + * + * <dt>annotation</dt> + * <dd>Defines a test annotation. This element should define a block of + * XML enclosed within a CDATA element. The XML should be made up of a + * <code>title</code> element, naming the test, and a <code>para</code> + * element which is used to describe the test.</dd> + * + * <dt>logkit</dt> + * <dd>Configures the logger used by the test cases and the components used + * by the tests. The <code>logkit</code> element takes two optional + * attributes: + * <dl> + * <dt>logger</dt><dd>Uses to name the logger which is used to bootstrap + * the LogKit logger. (Defaults to <code>"lm"</code>)</dd> + * <dt>log-level</dt><dd>Because the logger used by the LogKit must be + * created before the Log Kit Manager is initialized, it must be fully + * configured before the <code>logkit</code> element is parsed. This + * attribute allows the Log Kit's log priority to be set. This log + * level will also become the default for the Role Manager, Component + * Manager, and all components if they do not have <code>category</code> + * elements declated in the <code>logkit</code> element. + * (Defaults to "INFO")</dd> + * </dl> + * The loggers used by test cases and components can be easily configured + * from within this file. The default test configuration, shown above, + * includes a "test" category. This category is used to configure the + * default logger for all test cases. If it is set to "DEBUG", then all + * test debug logging will be enabled. To enalble debug logging for a + * single test case, a child category must be defined for the + * "testCheckTotals" test case as follows: + * <pre> + * <categories> + * <category name="test" log-level="INFO"> + * <log-target id-ref="console"/> + * <log-target id-ref="log-file"/> + * + * <category name="testCheckTotals" log-level="DEBUG"> + * <log-target id-ref="console"/> + * <log-target id-ref="log-file"/> + * </category> + * </category> + * </categories> + * </pre> + * For general information on how to configure the LogKit Manager, please + * refer to the Log Kit documentation. + * </dd> + * + * <dt>context</dt> + * <dd>Allows context properties to be set in the context passed to any + * Contextualizable components.</dd> + * + * <dt>roles</dt> + * <dd>Roles configuration for the Components configured in the + * <code>components</code> element. The logger used by the RoleManager + * can be configured using a <code>logger</code> attribute, which defaults + * to "rm". By default this logger will have the same log level and + * formatting as the LogKit logger. It can be configured by adding a + * <code>category</code> within the <code>logkit</code> element.</dd> + * + * <dt>components</dt> + * <dd>Used to configure any Components used by the test cases. The logger + * used by the ComponentLocator can be configured using a <code>logger</code> + * attribute, which defaults to "cm". By default this logger will have the + * same log level and formatting as the LogKit logger. It can be configured + * by adding a <code>category</code> within the <code>logkit</code> element. + * </dd> + * + * </dl> + * + * @version $Id: ExcaliburTestCase.java,v 1.6 2004/02/28 11:47:27 cziegeler Exp $ + */ +public class ContainerTestCase extends TestCase { + + ///Format of default formatter + private static final String FORMAT = + "%7.7{priority} %23.23{time:yyyy-MM-dd' 'HH:mm:ss.SSS} [%30.30{category}] (%{context}): %{message}\n%{throwable}"; + + //The default logger + private Logger m_logger; + private CocoonServiceManager m_manager; + private LoggerManager m_logKitManager; + private static HashMap m_tests = new HashMap(); + + protected ServiceManager manager; + + public ContainerTestCase( final String name ) { + super( name ); + + ArrayList methodList = (ArrayList)ContainerTestCase.m_tests.get( getClass() ); + + if( null == methodList ) + { + Method[] methods = getClass().getMethods(); + methodList = new ArrayList( methods.length ); + + for( int i = 0; i < methods.length; i++ ) + { + String methodName = methods[ i ].getName(); + if( methodName.startsWith( "test" ) && + ( Modifier.isPublic( methods[ i ].getModifiers() ) ) && + ( methods[ i ].getReturnType().equals( Void.TYPE ) ) && + ( methods[ i ].getParameterTypes().length == 0 ) ) + { + methodList.add( methodName ); + } + } + + ContainerTestCase.m_tests.put( getClass(), methodList ); + } + } + + /** Return the logger */ + protected Logger getLogger() + { + return m_logger; + } + + /** + * Initializes the ComponentLocator + * + * The configuration file is determined by the class name plus .xtest appended, + * all '.' replaced by '/' and loaded as a resource via classpath + */ + protected void prepare() + throws Exception + { + final String resourceName = getClass().getName().replace( '.', '/' ) + ".xtest"; + URL resource = getClass().getClassLoader().getResource( resourceName ); + + if( resource != null ) + { + getLogger().debug( "Loading resource " + resourceName ); + prepare( resource.openStream() ); + } + else + { + getLogger().debug( "Resource not found " + resourceName ); + } + } + + /** + * Initializes the ComponentLocator + * + * @param testconf The configuration file is passed as a <code>InputStream</code> + * + * A common way to supply a InputStream is to overwrite the initialize() method + * in the sub class, do there whatever is needed to get the right InputStream object + * supplying a conformant xtest configuartion and pass it to this initialize method. + * the mentioned initialize method is also the place to set a different logging priority + * to the member variable m_logPriority. + */ + protected final void prepare( final InputStream testconf ) + throws Exception + { + getLogger().debug( "ExcaliburTestCase.initialize" ); + + final DefaultConfigurationBuilder builder = new DefaultConfigurationBuilder(); + final Configuration conf = builder.build( testconf ); + + String annotation = conf.getChild( "annotation" ).getValue( null ); + + if( ( null != annotation ) && !( "".equals( annotation ) ) ) + { + m_logger.info( annotation ); + } + + Context context = setupContext( conf.getChild( "context" ) ); + + setupManagers( conf.getChild( "components" ), + conf.getChild( "roles" ), + conf.getChild( "logkit" ), + context ); + manager = m_manager; + + setCurrentLogger( "prepare" ); + } + + /** + * Disposes the <code>ComponentLocator</code> + */ + final private void done() + { + if( null != m_manager ) + { + m_manager.dispose(); + } + + m_manager = null; + } + + /** + * Exctract the base class name of a class. + */ + private String getBaseClassName( Class clazz ) + { + String name = clazz.getName(); + int pos = name.lastIndexOf( '.' ); + if( pos >= 0 ) + { + name = name.substring( pos + 1 ); + } + return name; + } + + /** + * Override <code>run</code> so that we can have code that is run once. + */ + final public void run( TestResult result ) + { + ArrayList methodList = (ArrayList)ContainerTestCase.m_tests.get( getClass() ); + + if( null == methodList || methodList.isEmpty() ) + { + return; // The test was already run! NOTE: this is a hack. + } + + // Set the logger for the initialization phase. + setCurrentLogger( getBaseClassName( getClass() ) ); + + try + { + if( this instanceof Initializable ) + { + ( (Initializable)this ).initialize(); + } + + prepare(); + + Iterator tests = methodList.iterator(); + + while( tests.hasNext() ) + { + String methodName = (String)tests.next(); + setName( methodName ); + setCurrentLogger( methodName ); + + if( getLogger().isDebugEnabled() ) + { + getLogger().debug( "" ); + getLogger().debug( "========================================" ); + getLogger().debug( " begin test: " + methodName ); + getLogger().debug( "========================================" ); + } + + super.run( result ); + + if( getLogger().isDebugEnabled() ) + { + getLogger().debug( "========================================" ); + getLogger().debug( " end test: " + methodName ); + getLogger().debug( "========================================" ); + getLogger().debug( "" ); + } + } + + } + catch( Exception e ) + { + System.out.println( e ); + e.printStackTrace(); + result.addError( this, e ); + } + finally + { + done(); + + if( this instanceof Disposable ) + { + try + { + ( (Disposable)this ).dispose(); + } + catch( Exception e ) + { + result.addFailure( this, new AssertionFailedError( "Disposal Error" ) ); + } + } + } + + methodList.clear(); + ContainerTestCase.m_tests.put( getClass(), methodList ); + } + + /** + * Sets the logger which will be returned by getLogger and getLogEnabledLogger + */ + final private void setCurrentLogger( String name ) { + m_logger = m_logKitManager.getLoggerForCategory( "test." + name );; + } + + /** + * set up a context according to the xtest configuration specifications context + * element. + * + * A method addContext(DefaultContext context) is called here to enable subclasses + * to put additional objects into the context programmatically. + */ + final private Context setupContext( final Configuration conf ) + throws Exception + { + //FIXME(GP): This method should setup the Context object according to the + // configuration spec. not yet completed + final DefaultContext context = new DefaultContext(); + final Configuration[] confs = conf.getChildren( "entry" ); + for( int i = 0; i < confs.length; i++ ) + { + final String key = confs[ i ].getAttribute( "name" ); + final String value = confs[ i ].getAttribute( "value", null ); + if( value == null ) + { + String clazz = confs[ i ].getAttribute( "class" ); + Object obj = getClass().getClassLoader().loadClass( clazz ).newInstance(); + context.put( key, obj ); + if( getLogger().isInfoEnabled() ) + getLogger().info( "ExcaliburTestCase: added an instance of class " + clazz + " to context entry " + key ); + } + else + { + context.put( key, value ); + if( getLogger().isInfoEnabled() ) + getLogger().info( "ExcaliburTestCase: added value \"" + value + "\" to context entry " + key ); + } + } + addContext( context ); + return ( context ); + } + + /** + * This method may be overwritten by subclasses to put additional objects + * into the context programmatically. + */ + protected void addContext( DefaultContext context ) + { + } + + final private void setupManagers( final Configuration confCM, + final Configuration confRM, + final Configuration confLM, + final Context context ) + throws Exception + { + // Setup the log manager. Get the logger name and log level from attributes + // in the <logkit> node + String lmLoggerName = confLM.getAttribute( "logger", "lm" ); + String lmLogLevel = confLM.getAttribute( "log-level", "INFO" ); + DefaultLoggerManager logKitManager = new DefaultLoggerManager(); + logKitManager.enableLogging( new ConsoleLogger() ); + logKitManager.contextualize( context ); + logKitManager.configure( confLM ); + m_logKitManager = logKitManager; + + // Setup the RoleManager + String rmLoggerName = confRM.getAttribute( "logger", "rm" ); + RoleManager roleManager = new RoleManager(); + roleManager.enableLogging( logKitManager.getLoggerForCategory( rmLoggerName ) ); + roleManager.configure( confRM ); + + // Set up the ComponentLocator + String cmLoggerName = confCM.getAttribute( "logger", "cm" ); + CocoonServiceManager ecManager = new CocoonServiceManager(null, null); + ecManager.enableLogging( logKitManager.getLoggerForCategory( cmLoggerName ) ); + ecManager.setLoggerManager( logKitManager ); + ecManager.contextualize( context ); + ecManager.setRoleManager( roleManager ); + ecManager.configure( confCM ); + ecManager.initialize(); + m_manager = ecManager; + } + + protected final Object lookup( final String key ) + throws ServiceException { + return manager.lookup( key ); + } + + protected final void release( final Object object ) { + manager.release( object ); + } +} + Modified: cocoon/trunk/src/core/test/org/apache/cocoon/core/container/RoleManagerTestCase.java ============================================================================== --- cocoon/trunk/src/core/test/org/apache/cocoon/core/container/RoleManagerTestCase.java (original) +++ cocoon/trunk/src/core/test/org/apache/cocoon/core/container/RoleManagerTestCase.java Sat Oct 23 08:46:58 2004 @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.cocoon.components.container; +package org.apache.cocoon.core.container; import org.apache.avalon.framework.configuration.Configuration; import org.apache.avalon.framework.configuration.ConfigurationException; Modified: cocoon/trunk/src/java/org/apache/cocoon/Processor.java ============================================================================== --- cocoon/trunk/src/java/org/apache/cocoon/Processor.java (original) +++ cocoon/trunk/src/java/org/apache/cocoon/Processor.java Sat Oct 23 08:46:58 2004 @@ -15,7 +15,6 @@ */ package org.apache.cocoon; -import org.apache.avalon.framework.component.Component; import org.apache.avalon.framework.configuration.Configuration; import org.apache.avalon.framework.service.ServiceManager; import org.apache.avalon.framework.service.ServiceSelector; @@ -30,7 +29,7 @@ * @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a> * @version CVS $Id$ */ -public interface Processor extends Component { +public interface Processor { /** The role of the root processor */ String ROLE = Processor.class.getName(); Modified: cocoon/trunk/src/java/org/apache/cocoon/ProcessorWrapper.java ============================================================================== --- cocoon/trunk/src/java/org/apache/cocoon/ProcessorWrapper.java (original) +++ cocoon/trunk/src/java/org/apache/cocoon/ProcessorWrapper.java Sat Oct 23 08:46:58 2004 @@ -16,7 +16,6 @@ package org.apache.cocoon; import org.apache.avalon.framework.activity.Disposable; -import org.apache.avalon.framework.component.Component; import org.apache.avalon.framework.configuration.Configuration; import org.apache.avalon.framework.thread.ThreadSafe; import org.apache.cocoon.environment.Environment; @@ -29,7 +28,7 @@ * @version CVS $Id$ */ public final class ProcessorWrapper -implements Processor, Component, Disposable, ThreadSafe { +implements Processor, Disposable, ThreadSafe { private Processor processor; Modified: cocoon/trunk/src/java/org/apache/cocoon/RequestListener.java ============================================================================== --- cocoon/trunk/src/java/org/apache/cocoon/RequestListener.java (original) +++ cocoon/trunk/src/java/org/apache/cocoon/RequestListener.java Sat Oct 23 08:46:58 2004 @@ -16,7 +16,6 @@ package org.apache.cocoon; -import org.apache.avalon.framework.component.Component; import org.apache.cocoon.environment.Environment; @@ -27,7 +26,8 @@ * NB Cocoon does not require an instance of this Component to function, but if * there is one it will be used. */ -public interface RequestListener extends Component { +public interface RequestListener { + String ROLE = RequestListener.class.getName(); /** Modified: cocoon/trunk/src/java/org/apache/cocoon/components/modules/input/SitemapVariableHolder.java ============================================================================== --- cocoon/trunk/src/java/org/apache/cocoon/components/modules/input/SitemapVariableHolder.java (original) +++ cocoon/trunk/src/java/org/apache/cocoon/components/modules/input/SitemapVariableHolder.java Sat Oct 23 08:46:58 2004 @@ -19,7 +19,6 @@ import java.util.Iterator; import java.util.Map; -import org.apache.avalon.framework.component.Component; import org.apache.avalon.framework.configuration.Configurable; import org.apache.avalon.framework.configuration.Configuration; import org.apache.avalon.framework.configuration.ConfigurationException; @@ -34,12 +33,11 @@ * sitemap base * * @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a> - * @version CVS $Id: SitemapVariableHolder.java,v 1.7 2004/07/07 02:37:01 vgritsenko Exp $ + * @version CVS $Id$ */ public final class SitemapVariableHolder extends AbstractLogEnabled - implements Component, Configurable, SitemapConfigurable, ThreadSafe -{ + implements Configurable, SitemapConfigurable, ThreadSafe { public static final String ROLE = SitemapVariableHolder.class.getName(); Modified: cocoon/trunk/src/java/org/apache/cocoon/components/modules/output/OutputModule.java ============================================================================== --- cocoon/trunk/src/java/org/apache/cocoon/components/modules/output/OutputModule.java (original) +++ cocoon/trunk/src/java/org/apache/cocoon/components/modules/output/OutputModule.java Sat Oct 23 08:46:58 2004 @@ -18,7 +18,6 @@ import java.util.Map; -import org.apache.avalon.framework.component.Component; import org.apache.avalon.framework.configuration.Configuration; /** @@ -29,9 +28,9 @@ * the transaction completes successfully. * * @author <a href="mailto:[EMAIL PROTECTED]">Christian Haul</a> - * @version CVS $Id: OutputModule.java,v 1.3 2004/03/05 13:02:49 bdelacretaz Exp $ + * @version CVS $Id$ */ -public interface OutputModule extends Component { +public interface OutputModule { String ROLE = OutputModule.class.getName(); Modified: cocoon/trunk/src/java/org/apache/cocoon/components/notification/NotifyingBuilder.java ============================================================================== --- cocoon/trunk/src/java/org/apache/cocoon/components/notification/NotifyingBuilder.java (original) +++ cocoon/trunk/src/java/org/apache/cocoon/components/notification/NotifyingBuilder.java Sat Oct 23 08:46:58 2004 @@ -17,16 +17,14 @@ import java.util.Map; -import org.apache.avalon.framework.component.Component; - /** * Generates an Notifying representation of widely used objects. * * @author <a href="mailto:[EMAIL PROTECTED]">Nicola Ken Barozzi</a> - * @version CVS $Id: NotifyingBuilder.java,v 1.2 2004/03/05 13:02:49 bdelacretaz Exp $ + * @version CVS $Id$ */ -public interface NotifyingBuilder extends Component{ +public interface NotifyingBuilder { /** * The role implemented by a <code>NotifyingBuilder</code>. Modified: cocoon/trunk/src/java/org/apache/cocoon/components/persistence/RequestDataStoreImpl.java ============================================================================== --- cocoon/trunk/src/java/org/apache/cocoon/components/persistence/RequestDataStoreImpl.java (original) +++ cocoon/trunk/src/java/org/apache/cocoon/components/persistence/RequestDataStoreImpl.java Sat Oct 23 08:46:58 2004 @@ -18,7 +18,6 @@ import java.util.HashMap; import java.util.Map; -import org.apache.avalon.framework.component.Component; import org.apache.avalon.framework.context.Context; import org.apache.avalon.framework.context.ContextException; import org.apache.avalon.framework.context.Contextualizable; @@ -32,14 +31,14 @@ * * @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a> * - * @version CVS $Id: RequestDataStoreImpl.java,v 1.5 2004/07/11 14:04:35 cziegeler Exp $ + * @version CVS $Id$ * @since 2.1.1 * @deprecated Use the scoped attributes on the Request object instead. * This component will be removed with Cocoon 2.3. */ public class RequestDataStoreImpl extends AbstractLogEnabled - implements Component, ThreadSafe, RequestDataStore, Contextualizable { + implements ThreadSafe, RequestDataStore, Contextualizable { protected Context context; Modified: cocoon/trunk/src/java/org/apache/cocoon/components/sax/XMLDeserializer.java ============================================================================== --- cocoon/trunk/src/java/org/apache/cocoon/components/sax/XMLDeserializer.java (original) +++ cocoon/trunk/src/java/org/apache/cocoon/components/sax/XMLDeserializer.java Sat Oct 23 08:46:58 2004 @@ -15,7 +15,6 @@ */ package org.apache.cocoon.components.sax; -import org.apache.avalon.framework.component.Component; import org.apache.cocoon.xml.XMLProducer; import org.xml.sax.SAXException; @@ -31,9 +30,9 @@ * the serialized data. * * @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a> - * @version CVS $Id: XMLDeserializer.java,v 1.3 2004/03/05 13:02:50 bdelacretaz Exp $ + * @version CVS $Id$ */ -public interface XMLDeserializer extends XMLProducer, Component { +public interface XMLDeserializer extends XMLProducer { String ROLE = XMLDeserializer.class.getName(); Modified: cocoon/trunk/src/java/org/apache/cocoon/components/sax/XMLSerializer.java ============================================================================== --- cocoon/trunk/src/java/org/apache/cocoon/components/sax/XMLSerializer.java (original) +++ cocoon/trunk/src/java/org/apache/cocoon/components/sax/XMLSerializer.java Sat Oct 23 08:46:58 2004 @@ -15,7 +15,6 @@ */ package org.apache.cocoon.components.sax; -import org.apache.avalon.framework.component.Component; import org.apache.cocoon.xml.XMLConsumer; /** @@ -26,9 +25,9 @@ * the serialized data. * * @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a> - * @version CVS $Id: XMLSerializer.java,v 1.2 2004/03/05 13:02:50 bdelacretaz Exp $ + * @version CVS $Id$ */ -public interface XMLSerializer extends XMLConsumer, Component { +public interface XMLSerializer extends XMLConsumer { String ROLE = XMLSerializer.class.getName(); /** Modified: cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/ProcessingNodeBuilder.java ============================================================================== --- cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/ProcessingNodeBuilder.java (original) +++ cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/ProcessingNodeBuilder.java Sat Oct 23 08:46:58 2004 @@ -15,7 +15,6 @@ */ package org.apache.cocoon.components.treeprocessor; -import org.apache.avalon.framework.component.Component; import org.apache.avalon.framework.configuration.Configuration; /** @@ -34,10 +33,10 @@ * used by only one <code>TreeBuilder</code> at a time. * * @author <a href="mailto:[EMAIL PROTECTED]">Sylvain Wallez</a> - * @version CVS $Id: ProcessingNodeBuilder.java,v 1.2 2004/03/05 13:02:51 bdelacretaz Exp $ + * @version CVS $Id$ */ -public interface ProcessingNodeBuilder extends Component { +public interface ProcessingNodeBuilder { /** * Set the builder for which we are building. Modified: cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/TreeBuilder.java ============================================================================== --- cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/TreeBuilder.java (original) +++ cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/TreeBuilder.java Sat Oct 23 08:46:58 2004 @@ -17,7 +17,6 @@ import java.util.List; -import org.apache.avalon.framework.component.Component; import org.apache.avalon.framework.configuration.Configuration; import org.apache.avalon.framework.configuration.ConfigurationException; import org.apache.avalon.framework.service.ServiceManager; @@ -25,10 +24,10 @@ /** * * @author <a href="mailto:[EMAIL PROTECTED]">Sylvain Wallez</a> - * @version CVS $Id: TreeBuilder.java,v 1.8 2004/07/16 12:36:45 sylvain Exp $ + * @version CVS $Id$ */ -public interface TreeBuilder extends Component { +public interface TreeBuilder { final static String ROLE = TreeBuilder.class.getName(); Modified: cocoon/trunk/src/java/org/apache/cocoon/matching/Matcher.java ============================================================================== --- cocoon/trunk/src/java/org/apache/cocoon/matching/Matcher.java (original) +++ cocoon/trunk/src/java/org/apache/cocoon/matching/Matcher.java Sat Oct 23 08:46:58 2004 @@ -15,7 +15,6 @@ */ package org.apache.cocoon.matching; -import org.apache.avalon.framework.component.Component; import org.apache.avalon.framework.parameters.Parameters; import org.apache.cocoon.sitemap.PatternException; @@ -24,9 +23,9 @@ /** * * @author <a href="mailto:[EMAIL PROTECTED]">Giacomo Pati</a> - * @version CVS $Id: Matcher.java,v 1.2 2004/03/05 13:02:56 bdelacretaz Exp $ + * @version CVS $Id$ */ -public interface Matcher extends Component { +public interface Matcher { String ROLE = Matcher.class.getName(); Modified: cocoon/trunk/src/java/org/apache/cocoon/selection/Selector.java ============================================================================== --- cocoon/trunk/src/java/org/apache/cocoon/selection/Selector.java (original) +++ cocoon/trunk/src/java/org/apache/cocoon/selection/Selector.java Sat Oct 23 08:46:58 2004 @@ -15,7 +15,6 @@ */ package org.apache.cocoon.selection; -import org.apache.avalon.framework.component.Component; import org.apache.avalon.framework.parameters.Parameters; import java.util.Map; @@ -24,9 +23,9 @@ * * @author <a href="mailto:[EMAIL PROTECTED]">Giacomo Pati</a> * @author <a href="mailto:leo.sutic">Leo Sutic</a> - * @version CVS $Id: Selector.java,v 1.2 2004/03/05 13:02:57 bdelacretaz Exp $ + * @version CVS $Id$ */ -public interface Selector extends Component { +public interface Selector { String ROLE = Selector.class.getName(); /** Modified: cocoon/trunk/src/java/org/apache/cocoon/serialization/SerializerFactory.java ============================================================================== --- cocoon/trunk/src/java/org/apache/cocoon/serialization/SerializerFactory.java (original) +++ cocoon/trunk/src/java/org/apache/cocoon/serialization/SerializerFactory.java Sat Oct 23 08:46:58 2004 @@ -15,8 +15,6 @@ */ package org.apache.cocoon.serialization; -import org.apache.avalon.framework.component.Component; - /** * A serializer factory is the factory of [EMAIL PROTECTED] Serializer}s. * @@ -31,7 +29,7 @@ * @author <a href="mailto:[EMAIL PROTECTED]">Vadim Gritsenko</a> * @version CVS $Id$ */ -public interface SerializerFactory extends Component { +public interface SerializerFactory { String ROLE = Serializer.ROLE; Modified: cocoon/trunk/src/java/org/apache/cocoon/sitemap/SitemapModelComponent.java ============================================================================== --- cocoon/trunk/src/java/org/apache/cocoon/sitemap/SitemapModelComponent.java (original) +++ cocoon/trunk/src/java/org/apache/cocoon/sitemap/SitemapModelComponent.java Sat Oct 23 08:46:58 2004 @@ -15,7 +15,6 @@ */ package org.apache.cocoon.sitemap; -import org.apache.avalon.framework.component.Component; import org.apache.avalon.framework.parameters.Parameters; import org.apache.cocoon.ProcessingException; import org.apache.cocoon.environment.SourceResolver; @@ -31,9 +30,9 @@ * * @author <a href="mailto:[EMAIL PROTECTED]">Pierpaolo Fumagalli</a> * (Apache Software Foundation) - * @version CVS $Id: SitemapModelComponent.java,v 1.3 2004/03/05 13:02:58 bdelacretaz Exp $ + * @version CVS $Id$ */ -public interface SitemapModelComponent extends Component { +public interface SitemapModelComponent { /** * Set the <code>SourceResolver</code>, objectModel <code>Map</code>, * the source and sitemap <code>Parameters</code> used to process the request. Modified: cocoon/trunk/src/java/org/apache/cocoon/sitemap/SitemapOutputComponent.java ============================================================================== --- cocoon/trunk/src/java/org/apache/cocoon/sitemap/SitemapOutputComponent.java (original) +++ cocoon/trunk/src/java/org/apache/cocoon/sitemap/SitemapOutputComponent.java Sat Oct 23 08:46:58 2004 @@ -15,8 +15,6 @@ */ package org.apache.cocoon.sitemap; -import org.apache.avalon.framework.component.Component; - import java.io.IOException; import java.io.OutputStream; @@ -26,9 +24,9 @@ * * @author <a href="mailto:[EMAIL PROTECTED]">Giacomo Pati</a> * @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a> - * @version CVS $Id: SitemapOutputComponent.java,v 1.3 2004/03/05 13:02:58 bdelacretaz Exp $ + * @version CVS $Id$ */ -public interface SitemapOutputComponent extends Component { +public interface SitemapOutputComponent { /** * Set the [EMAIL PROTECTED] OutputStream} where the requested resource should Modified: cocoon/trunk/src/java/org/apache/cocoon/transformation/TransformerFactory.java ============================================================================== --- cocoon/trunk/src/java/org/apache/cocoon/transformation/TransformerFactory.java (original) +++ cocoon/trunk/src/java/org/apache/cocoon/transformation/TransformerFactory.java Sat Oct 23 08:46:58 2004 @@ -15,8 +15,6 @@ */ package org.apache.cocoon.transformation; -import org.apache.avalon.framework.component.Component; - /** * A transformer factory is the factory of [EMAIL PROTECTED] Transformer}s. * @@ -31,7 +29,7 @@ * @author <a href="mailto:[EMAIL PROTECTED]">Vadim Gritsenko</a> * @version CVS $Id$ */ -public interface TransformerFactory extends Component { +public interface TransformerFactory { String ROLE = Transformer.ROLE; Modified: cocoon/trunk/src/samples/org/apache/cocoon/samples/parentcm/Time.java ============================================================================== --- cocoon/trunk/src/samples/org/apache/cocoon/samples/parentcm/Time.java (original) +++ cocoon/trunk/src/samples/org/apache/cocoon/samples/parentcm/Time.java Sat Oct 23 08:46:58 2004 @@ -15,16 +15,14 @@ */ package org.apache.cocoon.samples.parentcm; -import org.apache.avalon.framework.component.Component; - import java.util.Date; /** * Interface for a simple time-keeping component. * @author ? - * @version CVS $Id: Time.java,v 1.2 2004/03/05 13:03:02 bdelacretaz Exp $ + * @version CVS $Id$ */ -public interface Time extends Component { +public interface Time { String ROLE = Time.class.getName(); Modified: cocoon/trunk/src/samples/org/apache/cocoon/samples/parentcm/TimeComponent.java ============================================================================== --- cocoon/trunk/src/samples/org/apache/cocoon/samples/parentcm/TimeComponent.java (original) +++ cocoon/trunk/src/samples/org/apache/cocoon/samples/parentcm/TimeComponent.java Sat Oct 23 08:46:58 2004 @@ -15,7 +15,6 @@ */ package org.apache.cocoon.samples.parentcm; -import org.apache.avalon.framework.component.Component; import org.apache.avalon.framework.thread.ThreadSafe; import java.util.Date; @@ -24,9 +23,10 @@ * Implementing class for the parent component manager sample's * <code>org.apache.cocoon.samples.parentcm.Time</code> component. * @author ? - * @version CVS $Id: TimeComponent.java,v 1.2 2004/03/05 13:03:02 bdelacretaz Exp $ + * @version CVS $Id$ */ -public class TimeComponent implements Component, Time, ThreadSafe { +public class TimeComponent implements Time, ThreadSafe { + public Date getTime () { return new Date(); } Modified: cocoon/trunk/src/test/org/apache/cocoon/SitemapComponentTestCase.java ============================================================================== --- cocoon/trunk/src/test/org/apache/cocoon/SitemapComponentTestCase.java (original) +++ cocoon/trunk/src/test/org/apache/cocoon/SitemapComponentTestCase.java Sat Oct 23 08:46:58 2004 @@ -29,19 +29,17 @@ import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; -import org.apache.avalon.excalibur.testcase.ExcaliburTestCase; -import org.apache.avalon.framework.component.Component; -import org.apache.avalon.framework.component.ComponentException; -import org.apache.avalon.framework.component.ComponentSelector; import org.apache.avalon.framework.context.DefaultContext; import org.apache.avalon.framework.parameters.Parameters; -import org.apache.avalon.framework.service.WrapperServiceManager; +import org.apache.avalon.framework.service.ServiceException; +import org.apache.avalon.framework.service.ServiceSelector; import org.apache.cocoon.acting.Action; import org.apache.cocoon.components.ContextHelper; import org.apache.cocoon.components.flow.AbstractInterpreter; import org.apache.cocoon.components.flow.FlowHelper; import org.apache.cocoon.components.flow.Interpreter; import org.apache.cocoon.components.source.SourceResolverAdapter; +import org.apache.cocoon.core.container.ContainerTestCase; import org.apache.cocoon.environment.ObjectModelHelper; import org.apache.cocoon.environment.mock.MockContext; import org.apache.cocoon.environment.mock.MockRedirector; @@ -70,8 +68,8 @@ * @author <a href="mailto:[EMAIL PROTECTED]">Mark Leicester</a> * @version CVS $Id$ */ -public abstract class SitemapComponentTestCase extends ExcaliburTestCase -{ +public abstract class SitemapComponentTestCase extends ContainerTestCase { + public final static Parameters EMPTY_PARAMS = Parameters.EMPTY_PARAMETERS; private MockRequest request = new MockRequest(); @@ -139,13 +137,13 @@ */ public final Map match(String type, String pattern, Parameters parameters) throws PatternException { - ComponentSelector selector = null; + ServiceSelector selector = null; Matcher matcher = null; SourceResolver resolver = null; Map result = null; try { - selector = (ComponentSelector) this.manager.lookup(Matcher.ROLE + + selector = (ServiceSelector) this.manager.lookup(Matcher.ROLE + "Selector"); assertNotNull("Test lookup of matcher selector", selector); @@ -158,7 +156,7 @@ result = matcher.match(pattern, objectmodel, parameters); - } catch (ComponentException ce) { + } catch (ServiceException ce) { getLogger().error("Could not retrieve matcher", ce); fail("Could not retrieve matcher: " + ce.toString()); } finally { @@ -180,13 +178,13 @@ */ public final boolean select(String type, String expression, Parameters parameters) { - ComponentSelector selector = null; + ServiceSelector selector = null; org.apache.cocoon.selection.Selector sel = null; SourceResolver resolver = null; boolean result = false; try { - selector = (ComponentSelector) this.manager.lookup(org.apache.cocoon.selection.Selector.ROLE + + selector = (ServiceSelector) this.manager.lookup(org.apache.cocoon.selection.Selector.ROLE + "Selector"); assertNotNull("Test lookup of selector selector", selector); @@ -200,7 +198,7 @@ result = sel.select(expression, objectmodel, parameters); - } catch (ComponentException ce) { + } catch (ServiceException ce) { getLogger().error("Could not retrieve selector", ce); fail("Could not retrieve selector: " + ce.toString()); } finally { @@ -224,13 +222,13 @@ redirector.reset(); - ComponentSelector selector = null; + ServiceSelector selector = null; Action action = null; SourceResolver resolver = null; Map result = null; try { - selector = (ComponentSelector) this.manager.lookup(Action.ROLE + + selector = (ServiceSelector) this.manager.lookup(Action.ROLE + "Selector"); assertNotNull("Test lookup of action selector", selector); @@ -241,15 +239,15 @@ action = (Action) selector.select(type); assertNotNull("Test lookup of action", action); - result = action.act(redirector, new SourceResolverAdapter(resolver, new WrapperServiceManager(manager)), + result = action.act(redirector, new SourceResolverAdapter(resolver, manager), objectmodel, source, parameters); - } catch (ComponentException ce) { + } catch (ServiceException ce) { getLogger().error("Could not retrieve action", ce); fail("Could not retrieve action: " + ce.toString()); } finally { if (action != null) { - selector.release((Component)action); + selector.release(action); } this.manager.release(selector); this.manager.release(resolver); @@ -267,14 +265,14 @@ public final Document generate(String type, String source, Parameters parameters) throws IOException, SAXException, ProcessingException { - ComponentSelector selector = null; + ServiceSelector selector = null; Generator generator = null; SourceResolver resolver = null; SAXParser parser = null; Document document = null; try { - selector = (ComponentSelector) this.manager.lookup(Generator.ROLE + + selector = (ServiceSelector) this.manager.lookup(Generator.ROLE + "Selector"); assertNotNull("Test lookup of generator selector", selector); @@ -289,7 +287,7 @@ generator = (Generator) selector.select(type); assertNotNull("Test lookup of generator", generator); - generator.setup(new SourceResolverAdapter(resolver, new WrapperServiceManager(manager)), + generator.setup(new SourceResolverAdapter(resolver, manager), objectmodel, source, parameters); DOMBuilder builder = new DOMBuilder(); @@ -301,7 +299,7 @@ assertNotNull("Test for generator document", document); - } catch (ComponentException ce) { + } catch (ServiceException ce) { getLogger().error("Could not retrieve generator", ce); fail("Could not retrieve generator: " + ce.toString()); } finally { @@ -310,7 +308,7 @@ } this.manager.release(selector); this.manager.release(resolver); - this.manager.release((Component) parser); + this.manager.release(parser); } return document; @@ -327,7 +325,7 @@ public final Document transform(String type, String source, Parameters parameters, Document input) throws SAXException, ProcessingException, IOException { - ComponentSelector selector = null; + ServiceSelector selector = null; Transformer transformer = null; SourceResolver resolver = null; SAXParser parser = null; @@ -337,7 +335,7 @@ Document document = null; try { - selector = (ComponentSelector) this.manager.lookup(Transformer.ROLE+ + selector = (ServiceSelector) this.manager.lookup(Transformer.ROLE+ "Selector"); assertNotNull("Test lookup of transformer selector", selector); @@ -352,7 +350,7 @@ transformer = (Transformer) selector.select(type); assertNotNull("Test lookup of transformer", transformer); - transformer.setup(new SourceResolverAdapter(resolver, new WrapperServiceManager(manager)), + transformer.setup(new SourceResolverAdapter(resolver, manager), objectmodel, source, parameters); DOMBuilder builder = new DOMBuilder(); @@ -365,7 +363,7 @@ document = builder.getDocument(); assertNotNull("Test for transformer document", document); - } catch (ComponentException ce) { + } catch (ServiceException ce) { getLogger().error("Could not retrieve transformer", ce); ce.printStackTrace(); fail("Could not retrieve transformer:"+ce.toString()); @@ -387,7 +385,7 @@ } if (parser!=null) { - this.manager.release((Component) parser); + this.manager.release(parser); } } @@ -406,7 +404,7 @@ public final byte[] serialize(String type, Parameters parameters, Document input) throws SAXException, IOException{ - ComponentSelector selector = null; + ServiceSelector selector = null; Serializer serializer = null; SourceResolver resolver = null; Source inputsource = null; @@ -416,7 +414,7 @@ ByteArrayOutputStream document = null; try { - selector = (ComponentSelector) this.manager.lookup(Serializer.ROLE+ + selector = (ServiceSelector) this.manager.lookup(Serializer.ROLE+ "Selector"); assertNotNull("Test lookup of serializer selector", selector); @@ -434,7 +432,7 @@ DOMStreamer streamer = new DOMStreamer(serializer); streamer.stream(input); - } catch (ComponentException ce) { + } catch (ServiceException ce) { getLogger().error("Could not retrieve serializer", ce); fail("Could not retrieve serializer:"+ce.toString()); } finally { @@ -462,12 +460,12 @@ redirector.reset(); - ComponentSelector selector = null; + ServiceSelector selector = null; Interpreter interpreter = null; SourceResolver resolver = null; try { - selector = (ComponentSelector) this.manager.lookup(Interpreter.ROLE); + selector = (ServiceSelector) this.manager.lookup(Interpreter.ROLE); assertNotNull("Test lookup of interpreter selector", selector); resolver = (SourceResolver) this.manager.lookup(SourceResolver.ROLE); @@ -488,12 +486,12 @@ interpreter.callFunction(function, parameters, getRedirector()); - } catch (ComponentException ce) { + } catch (ServiceException ce) { getLogger().error("Could not retrieve interpeter", ce); fail("Could not retrieve interpreter: " + ce.toString()); } finally { if (interpreter != null) { - selector.release((Component) interpreter); + selector.release(interpreter); } this.manager.release(selector); this.manager.release(resolver); @@ -505,12 +503,12 @@ redirector.reset(); - ComponentSelector selector = null; + ServiceSelector selector = null; Interpreter interpreter = null; SourceResolver resolver = null; try { - selector = (ComponentSelector) this.manager.lookup(Interpreter.ROLE); + selector = (ServiceSelector) this.manager.lookup(Interpreter.ROLE); assertNotNull("Test lookup of interpreter selector", selector); resolver = (SourceResolver) this.manager.lookup(SourceResolver.ROLE); @@ -531,12 +529,12 @@ interpreter.handleContinuation(id, parameters, getRedirector()); - } catch (ComponentException ce) { + } catch (ServiceException ce) { getLogger().error("Could not retrieve interpreter", ce); fail("Could not retrieve interpreter: " + ce.toString()); } finally { if (interpreter != null) { - selector.release((Component) interpreter); + selector.release(interpreter); } this.manager.release(selector); this.manager.release(resolver); @@ -596,7 +594,7 @@ assertiondocument = builder.getDocument(); assertNotNull("Test if assertion document exists", assertiondocument); - } catch (ComponentException ce) { + } catch (ServiceException ce) { getLogger().error("Could not retrieve generator", ce); fail("Could not retrieve generator: " + ce.toString()); } catch (Exception e) { @@ -607,7 +605,7 @@ resolver.release(assertionsource); } this.manager.release(resolver); - this.manager.release((Component) parser); + this.manager.release(parser); } return assertiondocument; @@ -657,7 +655,7 @@ i++; } - } catch (ComponentException ce) { + } catch (ServiceException ce) { getLogger().error("Could not retrieve generator", ce); fail("Could not retrieve generator: "+ce.toString()); } catch (Exception e) { @@ -668,7 +666,7 @@ resolver.release(assertionsource); } this.manager.release(resolver); - this.manager.release((Component) parser); + this.manager.release(parser); } return assertiondocument; Modified: cocoon/trunk/src/test/org/apache/cocoon/components/treeprocessor/variables/PreparedVariableResolverTestCase.java ============================================================================== --- cocoon/trunk/src/test/org/apache/cocoon/components/treeprocessor/variables/PreparedVariableResolverTestCase.java (original) +++ cocoon/trunk/src/test/org/apache/cocoon/components/treeprocessor/variables/PreparedVariableResolverTestCase.java Sat Oct 23 08:46:58 2004 @@ -19,9 +19,7 @@ import java.util.HashMap; import java.util.Map; -import org.apache.avalon.framework.component.ComponentException; -import org.apache.avalon.framework.logger.LogKitLogger; -import org.apache.avalon.framework.service.WrapperServiceManager; +import org.apache.avalon.framework.service.ServiceException; import org.apache.cocoon.SitemapComponentTestCase; import org.apache.cocoon.components.treeprocessor.InvokeContext; import org.apache.cocoon.environment.mock.MockRequest; @@ -40,33 +38,33 @@ } - public void testNestedExpressions() throws PatternException, ComponentException { + public void testNestedExpressions() throws PatternException, ServiceException { String expr = "{request-param:{request-param:foo}}"; MockRequest request = getRequest(); request.reset(); request.addParameter("foo", "bar"); request.addParameter("bar", "123"); InvokeContext context = new InvokeContext(true); - context.enableLogging(new LogKitLogger(getLogger())); + context.enableLogging(getLogger()); Map sitemapElements = new HashMap(); context.pushMap("sitemap", sitemapElements); - VariableResolver resolver = VariableResolverFactory.getResolver(expr, new WrapperServiceManager(manager)); + VariableResolver resolver = VariableResolverFactory.getResolver(expr, manager); assertEquals("123", resolver.resolve(context, getObjectModel())); } - public void testNestedModuleAndSitemapExpressions() throws PatternException, ComponentException { + public void testNestedModuleAndSitemapExpressions() throws PatternException, ServiceException { String expr = "{request-param:f{1}}"; MockRequest request = getRequest(); request.reset(); request.addParameter("foo", "123"); InvokeContext context = new InvokeContext(true); - context.enableLogging(new LogKitLogger(getLogger())); + context.enableLogging(getLogger()); Map sitemapElements = new HashMap(); sitemapElements.put("1", "oo"); context.pushMap("sitemap", sitemapElements); - VariableResolver resolver = VariableResolverFactory.getResolver(expr, new WrapperServiceManager(manager)); + VariableResolver resolver = VariableResolverFactory.getResolver(expr, manager); assertEquals("123", resolver.resolve(context, getObjectModel())); } @@ -74,12 +72,12 @@ String expr = "{#label:name}"; InvokeContext context = new InvokeContext(true); - context.enableLogging(new LogKitLogger(getLogger())); + context.enableLogging(getLogger()); Map sitemapElements = new HashMap(); sitemapElements.put("name", "123"); context.pushMap("label", sitemapElements); - VariableResolver resolver = VariableResolverFactory.getResolver(expr, new WrapperServiceManager(manager)); + VariableResolver resolver = VariableResolverFactory.getResolver(expr, manager); assertEquals("123", resolver.resolve(context, getObjectModel())); } @@ -87,12 +85,12 @@ String expr = "123{1}"; InvokeContext context = new InvokeContext(true); - context.enableLogging(new LogKitLogger(getLogger())); + context.enableLogging(getLogger()); Map sitemapElements = new HashMap(); sitemapElements.put("1", "abc"); context.pushMap("label", sitemapElements); - VariableResolver resolver = VariableResolverFactory.getResolver(expr, new WrapperServiceManager(manager)); + VariableResolver resolver = VariableResolverFactory.getResolver(expr, manager); assertEquals("123abc", resolver.resolve(context, getObjectModel())); } @@ -100,12 +98,12 @@ String expr = "123{1}/def"; InvokeContext context = new InvokeContext(true); - context.enableLogging(new LogKitLogger(getLogger())); + context.enableLogging(getLogger()); Map sitemapElements = new HashMap(); sitemapElements.put("1", "abc"); context.pushMap("label", sitemapElements); - VariableResolver resolver = VariableResolverFactory.getResolver(expr, new WrapperServiceManager(manager)); + VariableResolver resolver = VariableResolverFactory.getResolver(expr, manager); assertEquals("123abc/def", resolver.resolve(context, getObjectModel())); } @@ -113,12 +111,12 @@ String expr = "123{sitemap:1}/def"; InvokeContext context = new InvokeContext(true); - context.enableLogging(new LogKitLogger(getLogger())); + context.enableLogging(getLogger()); Map sitemapElements = new HashMap(); sitemapElements.put("1", "abc"); context.pushMap("label", sitemapElements); - VariableResolver resolver = VariableResolverFactory.getResolver(expr, new WrapperServiceManager(manager)); + VariableResolver resolver = VariableResolverFactory.getResolver(expr, manager); assertEquals("123abc/def", resolver.resolve(context, getObjectModel())); } @@ -126,7 +124,7 @@ String expr = "from {../1} to {1}"; InvokeContext context = new InvokeContext(true); - context.enableLogging(new LogKitLogger(getLogger())); + context.enableLogging(getLogger()); Map sitemapElements; sitemapElements = new HashMap(); @@ -137,7 +135,7 @@ sitemapElements.put("1", "oscar"); context.pushMap("label2", sitemapElements); - VariableResolver resolver = VariableResolverFactory.getResolver(expr, new WrapperServiceManager(manager)); + VariableResolver resolver = VariableResolverFactory.getResolver(expr, manager); assertEquals("from juliet to oscar", resolver.resolve(context, getObjectModel())); } @@ -145,7 +143,7 @@ String expr = "from {/1} to {1}"; InvokeContext context = new InvokeContext(true); - context.enableLogging(new LogKitLogger(getLogger())); + context.enableLogging(getLogger()); Map sitemapElements; sitemapElements = new HashMap(); @@ -156,7 +154,7 @@ sitemapElements.put("1", "oscar"); context.pushMap("label2", sitemapElements); - VariableResolver resolver = VariableResolverFactory.getResolver(expr, new WrapperServiceManager(manager)); + VariableResolver resolver = VariableResolverFactory.getResolver(expr, manager); assertEquals("from juliet to oscar", resolver.resolve(context, getObjectModel())); } @@ -164,13 +162,13 @@ String expr = "http://cocoon.apache.org"; InvokeContext context = new InvokeContext(true); - context.enableLogging(new LogKitLogger(getLogger())); + context.enableLogging(getLogger()); Map sitemapElements; sitemapElements = new HashMap(); context.pushMap("label", sitemapElements); - VariableResolver resolver = VariableResolverFactory.getResolver(expr, new WrapperServiceManager(manager)); + VariableResolver resolver = VariableResolverFactory.getResolver(expr, manager); assertEquals("http://cocoon.apache.org", resolver.resolve(context, getObjectModel())); } @@ -178,13 +176,13 @@ String expr = ":colon-starts-this"; InvokeContext context = new InvokeContext(true); - context.enableLogging(new LogKitLogger(getLogger())); + context.enableLogging(getLogger()); Map sitemapElements; sitemapElements = new HashMap(); context.pushMap("label", sitemapElements); - VariableResolver resolver = VariableResolverFactory.getResolver(expr, new WrapperServiceManager(manager)); + VariableResolver resolver = VariableResolverFactory.getResolver(expr, manager); assertEquals(":colon-starts-this", resolver.resolve(context, getObjectModel())); } @@ -192,14 +190,14 @@ String expr = "{1}:{1}"; InvokeContext context = new InvokeContext(true); - context.enableLogging(new LogKitLogger(getLogger())); + context.enableLogging(getLogger()); Map sitemapElements; sitemapElements = new HashMap(); sitemapElements.put("1", "abc"); context.pushMap("label", sitemapElements); - VariableResolver resolver = VariableResolverFactory.getResolver(expr, new WrapperServiceManager(manager)); + VariableResolver resolver = VariableResolverFactory.getResolver(expr, manager); assertEquals("abc:abc", resolver.resolve(context, getObjectModel())); } @@ -207,24 +205,24 @@ String expr = "This is a \\{brace\\}"; InvokeContext context = new InvokeContext(true); - context.enableLogging(new LogKitLogger(getLogger())); + context.enableLogging(getLogger()); Map sitemapElements; sitemapElements = new HashMap(); context.pushMap("label", sitemapElements); - VariableResolver resolver = VariableResolverFactory.getResolver(expr, new WrapperServiceManager(manager)); + VariableResolver resolver = VariableResolverFactory.getResolver(expr, manager); assertEquals("This is a {brace}", resolver.resolve(context, getObjectModel())); } public void testModuleWithoutOption() throws PatternException { String expr = "{baselink:}"; InvokeContext context = new InvokeContext(true); - context.enableLogging(new LogKitLogger(getLogger())); + context.enableLogging(getLogger()); Map sitemapElements = new HashMap(); context.pushMap("sitemap", sitemapElements); - VariableResolver resolver = VariableResolverFactory.getResolver(expr, new WrapperServiceManager(manager)); + VariableResolver resolver = VariableResolverFactory.getResolver(expr, manager); assertEquals("", resolver.resolve(context, getObjectModel())); } } Modified: cocoon/trunk/src/test/org/apache/cocoon/transformation/AugmentTransformerTestCase.java ============================================================================== --- cocoon/trunk/src/test/org/apache/cocoon/transformation/AugmentTransformerTestCase.java (original) +++ cocoon/trunk/src/test/org/apache/cocoon/transformation/AugmentTransformerTestCase.java Sat Oct 23 08:46:58 2004 @@ -21,7 +21,6 @@ import junit.textui.TestRunner; import org.apache.avalon.framework.parameters.Parameters; -import org.apache.avalon.framework.service.WrapperServiceManager; import org.apache.cocoon.Processor; import org.apache.cocoon.SitemapComponentTestCase; import org.apache.cocoon.environment.internal.EnvironmentHelper; @@ -81,7 +80,7 @@ MockEnvironment env = new MockEnvironment(); Processor processor = (Processor)this.manager.lookup(Processor.ROLE); - EnvironmentHelper.enterProcessor(processor, new WrapperServiceManager(this.manager), env); + EnvironmentHelper.enterProcessor(processor, this.manager, env); Document resultDocument = load(result); Document inputDocument = load(input); Modified: cocoon/trunk/src/test/org/apache/cocoon/transformation/CIncludeTransformerTestCase.java ============================================================================== --- cocoon/trunk/src/test/org/apache/cocoon/transformation/CIncludeTransformerTestCase.java (original) +++ cocoon/trunk/src/test/org/apache/cocoon/transformation/CIncludeTransformerTestCase.java Sat Oct 23 08:46:58 2004 @@ -22,7 +22,6 @@ import org.apache.avalon.framework.parameters.Parameters; import org.apache.cocoon.Processor; import org.apache.cocoon.SitemapComponentTestCase; -import org.apache.avalon.framework.service.WrapperServiceManager; import org.apache.cocoon.environment.internal.EnvironmentHelper; import org.apache.cocoon.environment.mock.MockEnvironment; @@ -78,7 +77,7 @@ MockEnvironment env = new MockEnvironment(); Processor processor = (Processor)this.manager.lookup(Processor.ROLE); - EnvironmentHelper.enterProcessor(processor, new WrapperServiceManager(this.manager), env); + EnvironmentHelper.enterProcessor(processor, this.manager, env); assertEqual( load(result), transform("cinclude", src, parameters, load(input))); @@ -106,7 +105,7 @@ MockEnvironment env = new MockEnvironment(); Processor processor = (Processor)this.manager.lookup(Processor.ROLE); - EnvironmentHelper.enterProcessor(processor, new WrapperServiceManager(this.manager), env); + EnvironmentHelper.enterProcessor(processor, this.manager, env); assertEqual( load(result), transform("cinclude", src, parameters, load(input))); @@ -134,7 +133,7 @@ MockEnvironment env = new MockEnvironment(); Processor processor = (Processor)this.manager.lookup(Processor.ROLE); - EnvironmentHelper.enterProcessor(processor, new WrapperServiceManager(this.manager), env); + EnvironmentHelper.enterProcessor(processor, this.manager, env); assertEqual( load(result), transform("cinclude", src, parameters, load(input))); Modified: cocoon/trunk/src/test/org/apache/cocoon/transformation/EncodeURLTransformerTestCase.java ============================================================================== --- cocoon/trunk/src/test/org/apache/cocoon/transformation/EncodeURLTransformerTestCase.java (original) +++ cocoon/trunk/src/test/org/apache/cocoon/transformation/EncodeURLTransformerTestCase.java Sat Oct 23 08:46:58 2004 @@ -22,7 +22,6 @@ import org.apache.avalon.framework.parameters.Parameters; import org.apache.cocoon.Processor; import org.apache.cocoon.SitemapComponentTestCase; -import org.apache.avalon.framework.service.WrapperServiceManager; import org.apache.cocoon.environment.internal.EnvironmentHelper; import org.apache.cocoon.environment.mock.MockEnvironment; import org.apache.cocoon.environment.mock.MockRequest; @@ -84,7 +83,7 @@ MockEnvironment env = new MockEnvironment(); Processor processor = (Processor)this.manager.lookup(Processor.ROLE); - EnvironmentHelper.enterProcessor(processor, new WrapperServiceManager(this.manager), env); + EnvironmentHelper.enterProcessor(processor, this.manager, env); Document inputDocument = load(input); Document resultDocument = load(result); @@ -127,7 +126,7 @@ MockEnvironment env = new MockEnvironment(); Processor processor = (Processor)this.manager.lookup(Processor.ROLE); - EnvironmentHelper.enterProcessor(processor, new WrapperServiceManager(this.manager), env); + EnvironmentHelper.enterProcessor(processor, this.manager, env); Document inputDocument = load(input); Document resultDocument = load(result); Modified: cocoon/trunk/src/test/org/apache/cocoon/transformation/I18NTransformerTestCase.java ============================================================================== --- cocoon/trunk/src/test/org/apache/cocoon/transformation/I18NTransformerTestCase.java (original) +++ cocoon/trunk/src/test/org/apache/cocoon/transformation/I18NTransformerTestCase.java Sat Oct 23 08:46:58 2004 @@ -22,7 +22,6 @@ import org.apache.avalon.framework.parameters.Parameters; import org.apache.cocoon.Processor; import org.apache.cocoon.SitemapComponentTestCase; -import org.apache.avalon.framework.service.WrapperServiceManager; import org.apache.cocoon.environment.internal.EnvironmentHelper; import org.apache.cocoon.environment.mock.MockEnvironment; @@ -78,7 +77,7 @@ MockEnvironment env = new MockEnvironment(); Processor processor = (Processor)this.manager.lookup(Processor.ROLE); - EnvironmentHelper.enterProcessor(processor, new WrapperServiceManager(this.manager), env); + EnvironmentHelper.enterProcessor(processor, this.manager, env); assertEqual( load(result), transform("i18n", src, parameters, load(input))); @@ -105,7 +104,7 @@ MockEnvironment env = new MockEnvironment(); Processor processor = (Processor)this.manager.lookup(Processor.ROLE); - EnvironmentHelper.enterProcessor(processor, new WrapperServiceManager(this.manager), env); + EnvironmentHelper.enterProcessor(processor, this.manager, env); assertEqual( load(result), transform("i18n", src, parameters, load(input))); Modified: cocoon/trunk/src/test/org/apache/cocoon/transformation/XIncludeTransformerTestCase.java ============================================================================== --- cocoon/trunk/src/test/org/apache/cocoon/transformation/XIncludeTransformerTestCase.java (original) +++ cocoon/trunk/src/test/org/apache/cocoon/transformation/XIncludeTransformerTestCase.java Sat Oct 23 08:46:58 2004 @@ -22,7 +22,6 @@ import org.apache.avalon.framework.parameters.Parameters; import org.apache.cocoon.Processor; import org.apache.cocoon.SitemapComponentTestCase; -import org.apache.avalon.framework.service.WrapperServiceManager; import org.apache.cocoon.environment.internal.EnvironmentHelper; import org.apache.cocoon.environment.mock.MockEnvironment; @@ -77,7 +76,7 @@ MockEnvironment env = new MockEnvironment(); Processor processor = (Processor)this.manager.lookup(Processor.ROLE); - EnvironmentHelper.enterProcessor(processor, new WrapperServiceManager(this.manager), env); + EnvironmentHelper.enterProcessor(processor, this.manager, env); assertEqual( load(result), transform("xinclude", src, parameters, load(input))); @@ -102,7 +101,7 @@ MockEnvironment env = new MockEnvironment(); Processor processor = (Processor)this.manager.lookup(Processor.ROLE); - EnvironmentHelper.enterProcessor(processor, new WrapperServiceManager(this.manager), env); + EnvironmentHelper.enterProcessor(processor, this.manager, env); assertEqual( load(result), transform("xinclude", src, parameters, load(input)));
