cziegeler 02/04/08 07:36:34 Modified: src/java/org/apache/cocoon Cocoon.java cocoon.roles src/java/org/apache/cocoon/environment AbstractEnvironment.java Environment.java Log: Next step in source resolving Revision Changes Path 1.22 +10 -1 xml-cocoon2/src/java/org/apache/cocoon/Cocoon.java Index: Cocoon.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/Cocoon.java,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- Cocoon.java 2 Apr 2002 13:13:06 -0000 1.21 +++ Cocoon.java 8 Apr 2002 14:36:34 -0000 1.22 @@ -99,7 +99,7 @@ * @author <a href="mailto:[EMAIL PROTECTED]">Pierpaolo Fumagalli</a> (Apache Software Foundation, Exoffice Technologies) * @author <a href="mailto:[EMAIL PROTECTED]">Stefano Mazzocchi</a> * @author <a href="mailto:[EMAIL PROTECTED]">Leo Sutic</a> - * @version CVS $Id: Cocoon.java,v 1.21 2002/04/02 13:13:06 cziegeler Exp $ + * @version CVS $Id: Cocoon.java,v 1.22 2002/04/08 14:36:34 cziegeler Exp $ */ public class Cocoon extends AbstractLoggable @@ -146,6 +146,9 @@ /** the Processor if it is ThreadSafe */ private Processor threadSafeProcessor = null; + /** The Source Resolver */ + private org.apache.avalon.excalibur.source.SourceResolver sourceResolver; + /** * Creates a new <code>Cocoon</code> instance. * @@ -283,6 +286,8 @@ } this.componentManager.release(processor); } + + this.sourceResolver = (org.apache.avalon.excalibur.source.SourceResolver)this.componentManager.lookup(org.apache.avalon.excalibur.source.SourceResolver.ROLE); } /** Dump System Properties */ @@ -444,6 +449,8 @@ */ public void dispose() { this.componentManager.release(this.threadSafeProcessor); + this.componentManager.release(this.sourceResolver); + this.sourceResolver = null; this.componentManager.dispose(); if (this.configurationFile != null) { this.configurationFile.recycle(); @@ -564,6 +571,7 @@ throw new IllegalStateException("You cannot process a Disposed Cocoon engine."); } + environment.setSourceResolver( this.sourceResolver ); try { if (this.getLogger().isDebugEnabled()) { ++activeRequestCount; @@ -587,6 +595,7 @@ if (this.getLogger().isDebugEnabled()) { --activeRequestCount; } + environment.setSourceResolver( null ); } } 1.18 +4 -0 xml-cocoon2/src/java/org/apache/cocoon/cocoon.roles Index: cocoon.roles =================================================================== RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/cocoon.roles,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- cocoon.roles 29 Mar 2002 17:55:19 -0000 1.17 +++ cocoon.roles 8 Apr 2002 14:36:34 -0000 1.18 @@ -110,6 +110,10 @@ shorthand="source-handler" default-class="org.apache.cocoon.components.source.SourceHandlerImpl"/> + <role name="org.apache.avalon.excalibur.source.SourceFactorySelector" + shorthand="source-factories" + default-class="org.apache.avalon.excalibur.component.ExcaliburComponentSelector"/> + <role name="org.apache.avalon.excalibur.source.SourceResolver" shorthand="source-resolver" default-class="org.apache.avalon.excalibur.source.SourceResolverImpl"/> 1.12 +13 -3 xml-cocoon2/src/java/org/apache/cocoon/environment/AbstractEnvironment.java Index: AbstractEnvironment.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/environment/AbstractEnvironment.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- AbstractEnvironment.java 8 Apr 2002 12:28:24 -0000 1.11 +++ AbstractEnvironment.java 8 Apr 2002 14:36:34 -0000 1.12 @@ -70,7 +70,7 @@ * * @author <a href="mailto:[EMAIL PROTECTED]">Giacomo Pati</a> * @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a> - * @version CVS $Id: AbstractEnvironment.java,v 1.11 2002/04/08 12:28:24 cziegeler Exp $ + * @version CVS $Id: AbstractEnvironment.java,v 1.12 2002/04/08 14:36:34 cziegeler Exp $ */ public abstract class AbstractEnvironment extends AbstractLoggable implements Environment { @@ -98,6 +98,9 @@ /** The source handler for the current environment */ protected SourceHandler sourceHandler; + /** The real source resolver */ + protected org.apache.avalon.excalibur.source.SourceResolver sourceResolver; + /** The attributes */ private Map attributes = new HashMap(); @@ -160,6 +163,13 @@ this.sourceHandler = sourceHandler; } + /** + * Set the <code>SourceResolver</code> + */ + public void setSourceResolver(org.apache.avalon.excalibur.source.SourceResolver resolver) { + this.sourceResolver = resolver; + } + // Sitemap methods /** @@ -420,14 +430,14 @@ String baseURI, final Map parameters) throws MalformedURLException, IOException, ComponentException { - throw new RuntimeException("AbstractEnvironment.resolveURI() is not implemented yet."); + return this.sourceResolver.resolveURI(location, baseURI, parameters); } /** * Releases a resolved resource */ public void release( final org.apache.avalon.excalibur.source.Source source ) { - throw new RuntimeException("AbstractEnvironment.release() is not implemented yet."); + this.sourceResolver.release( source ); } } 1.6 +6 -1 xml-cocoon2/src/java/org/apache/cocoon/environment/Environment.java Index: Environment.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/environment/Environment.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- Environment.java 22 Feb 2002 07:03:49 -0000 1.5 +++ Environment.java 8 Apr 2002 14:36:34 -0000 1.6 @@ -63,7 +63,7 @@ * * @author <a href="mailto:[EMAIL PROTECTED]">Giacomo Pati</a> * @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a> - * @version CVS $Id: Environment.java,v 1.5 2002/02/22 07:03:49 cziegeler Exp $ + * @version CVS $Id: Environment.java,v 1.6 2002/04/08 14:36:34 cziegeler Exp $ */ public interface Environment extends SourceResolver { @@ -77,6 +77,11 @@ * Set the <code>SourceHandler</code> for the current request */ void setSourceHandler(SourceHandler sourceHandler); + + /** + * Set the <code>SourceResolver</code> + */ + void setSourceResolver(org.apache.avalon.excalibur.source.SourceResolver resolver); /** * Get the URI to process. The prefix is stripped off.
---------------------------------------------------------------------- In case of troubles, e-mail: [EMAIL PROTECTED] To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]