svn commit: rev 55389 - in cocoon/trunk/src: blocks/axis/java/org/apache/cocoon/components/axis blocks/cron/java/org/apache/cocoon/components/cron blocks/hsqldb/java/org/apache/cocoon/components/hsqldb blocks/ojb/java/org/apache/cocoon/ojb/broker/components blocks/ojb/java/org/apache/cocoon/ojb/odmg/components blocks/php/java/org/apache/cocoon/generation blocks/portal-fw/java/org/apache/cocoon/webapps/portal/components blocks/portal-fw/java/org/apache/cocoon/webapps/portal/context blocks/portal/java/org/apache/cocoon/portal blocks/portal/java/org/apache/cocoon/portal/aspect/impl blocks/portal/java/org/apache/cocoon/portal/layout/renderer blocks/portal/java/org/apache/cocoon/portal/layout/renderer/aspect blocks/portal/java/org/apache/cocoon/portal/profile blocks/portal/java/org/apache/cocoon/portal/profile/impl blocks/profiler/java/org/apache/cocoon/components/profiler blocks/repository/java/org/apache/cocoon/components/repository blocks/repository/java/org/apache/cocoon/components/source blocks/session-fw/java/org/apache/cocoon/webapps/session/context blocks/taglib/java/org/apache/cocoon/taglib blocks/web3/java/org/apache/cocoon/components/web3 blocks/webdav/java/org/apache/cocoon/components/repository/impl core/test/org/apache/cocoon/core/container java/org/apache/cocoon java/org/apache/cocoon/components/modules/input java/org/apache/cocoon/components/modules/output java/org/apache/cocoon/components/notification java/org/apache/cocoon/components/persistence java/org/apache/cocoon/components/sax java/org/apache/cocoon/components/treeprocessor java/org/apache/cocoon/matching java/org/apache/cocoon/selection java/org/apache/cocoon/serialization java/org/apache/cocoon/sitemap java/org/apache/cocoon/transformation samples/org/apache/cocoon/samples/parentcm test/org/apache/cocoon test/org/apache/cocoon/components/treeprocessor/variables test/org/apache/cocoon/transformation

23 Oct 2004 15:47:10 -0000

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>
+ *   &lt;testcase&gt;
+ *     &lt;annotation&gt;
+ *       &lt;![CDATA[
+ *         &lt;title&gt;{Name of test}&lt;/title&gt;
+ *         &lt;para&gt;
+ *           {Description of test}
+ *           The configuration is specified in the file located in
+ *           &lt;parameter&gt;avalon-excalibur/src/test/{path and name of conf 
file}.xtext&lt;/parameter&gt;.
+ *         &lt;/para&gt;
+ *       ]]&gt;
+ *     &lt;/annotation&gt;
+ *
+ *     &lt;logkit log-level="INFO"&gt;
+ *       &lt;factories&gt;
+ *         &lt;factory type="stream" 
class="org.apache.avalon.excalibur.logger.factory.StreamTargetFactory"/&gt;
+ *         &lt;factory type="file" 
class="org.apache.avalon.excalibur.logger.factory.FileTargetFactory"/&gt;
+ *       &lt;/factories&gt;
+ *
+ *       &lt;targets&gt;
+ *         &lt;stream id="console"&gt;
+ *           &lt;stream&gt;System.out&lt;/stream&gt;
+ *           &lt;format type="avalon"&gt;
+ *             %7.7{priority} %23.23{time:yyyy-MM-dd' 'HH:mm:ss.SSS} 
[%30.30{category}] (%{context}): %{message}\n%{throwable}
+ *           &lt;/format&gt;
+ *         &lt;/stream&gt;
+ *         &lt;file id="log-file"&gt;
+ *           &lt;filename&gt;TEST-{full test class name}.log&lt;/filename&gt;
+ *           &lt;format type="avalon"&gt;
+ *             %7.7{priority} %23.23{time:yyyy-MM-dd' 'HH:mm:ss.SSS} 
[%30.30{category}] (%{context}): %{message}\n%{throwable}
+ *           &lt;/format&gt;
+ *         &lt;/file&gt;
+ *       &lt;/targets&gt;
+ *
+ *       &lt;categories&gt;
+ *         &lt;category name="test" log-level="INFO"&gt;
+ *           &lt;log-target id-ref="console"/&gt;
+ *           &lt;log-target id-ref="log-file"/&gt;
+ *         &lt;/category&gt;
+ *         &lt;category name="jdbc" log-level="INFO"&gt;
+ *           &lt;log-target id-ref="console"/&gt;
+ *           &lt;log-target id-ref="log-file"/&gt;
+ *         &lt;/category&gt;
+ *       &lt;/categories&gt;
+ *     &lt;/logkit&gt;
+ *
+ *     &lt;context&gt;
+ *       &lt;entry name="foo" value="bar"/&gt;
+ *       &lt;entry name="baz" class="my.context.Class"/&gt;
+ *     &lt;/context&gt;
+ *
+ *     &lt;roles&gt;
+ *       &lt;role 
name="org.apache.avalon.excalibur.datasource.DataSourceComponentSelector"
+ *             shorthand="datasources"
+ *             
default-class="org.apache.avalon.excalibur.component.ExcaliburComponentSelector"&gt;
+ *          &lt;hint shorthand="jdbc" 
class="org.apache.avalon.excalibur.datasource.JdbcDataSource"/&gt;
+ *       &lt;/role&gt;
+ *     &lt;/roles&gt;
+ *
+ *     &lt;components&gt;
+ *       &lt;datasources&gt;
+ *         &lt;jdbc name="personell" logger="jdbc"&gt;
+ *           &lt;pool-controller min="5" max="10"/&gt;
+ *           &lt;jdbc name="personnel"/&gt;
+ *           &lt;dburl&gt;jdbc:odbc:test&lt;/dburl&gt;
+ *           &lt;user&gt;test&lt;/user&gt;
+ *           &lt;password&gt;test&lt;/password&gt;
+ *           &lt;driver&gt;sun.jdbc.odbc.JdbcOdbcDriver&lt;/driver&gt;
+ *         &lt;/jdbc&gt;
+ *       &lt;/datasources&gt;
+ *     &lt;/components&gt;
+ *   &lt;/testcase&gt;
+ * </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>
+ *       &lt;categories&gt;
+ *         &lt;category name="test" log-level="INFO"&gt;
+ *           &lt;log-target id-ref="console"/&gt;
+ *           &lt;log-target id-ref="log-file"/&gt;
+ *
+ *           &lt;category name="testCheckTotals" log-level="DEBUG"&gt;
+ *             &lt;log-target id-ref="console"/&gt;
+ *             &lt;log-target id-ref="log-file"/&gt;
+ *           &lt;/category&gt;
+ *         &lt;/category&gt;
+ *       &lt;/categories&gt;
+ *  </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)));

Reply via email to