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]