You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by sy...@apache.org on 2003/10/06 18:42:39 UTC
cvs commit: cocoon-2.1/src/java/org/apache/cocoon/components/treeprocessor/sitemap MountNode.java
sylvain 2003/10/06 09:42:39
Modified: src/java/org/apache/cocoon/components/treeprocessor/sitemap
MountNode.java
Log:
Fix bug#<don't remember...>
Revision Changes Path
1.7 +14 -6 cocoon-2.1/src/java/org/apache/cocoon/components/treeprocessor/sitemap/MountNode.java
Index: MountNode.java
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/java/org/apache/cocoon/components/treeprocessor/sitemap/MountNode.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- MountNode.java 29 Sep 2003 21:06:39 -0000 1.6
+++ MountNode.java 6 Oct 2003 16:42:39 -0000 1.7
@@ -63,6 +63,8 @@
import org.apache.cocoon.components.treeprocessor.TreeProcessor;
import org.apache.cocoon.components.treeprocessor.variables.VariableResolver;
import org.apache.cocoon.environment.Environment;
+import org.apache.excalibur.source.Source;
+import org.apache.excalibur.source.SourceResolver;
/**
*
@@ -106,7 +108,7 @@
Map objectModel = env.getObjectModel();
String resolvedSource = this.source.resolve(context, objectModel);
- TreeProcessor processor = getProcessor(env, resolvedSource);
+ TreeProcessor processor = getProcessor(resolvedSource);
String resolvedPrefix = this.prefix.resolve(context, objectModel);
@@ -138,7 +140,7 @@
}
}
- private synchronized TreeProcessor getProcessor(Environment env, String source) throws Exception {
+ private synchronized TreeProcessor getProcessor(String source) throws Exception {
TreeProcessor processor = (TreeProcessor)processors.get(source);
@@ -150,9 +152,15 @@
} else {
actualSource = source;
}
-
- processor = this.parentProcessor.createChildProcessor(
- this.manager, this.language, env.resolveURI(actualSource));
+
+ SourceResolver resolver = (SourceResolver)this.manager.lookup(SourceResolver.ROLE);
+ Source src = resolver.resolveURI(actualSource);
+ try {
+ processor = this.parentProcessor.createChildProcessor(this.manager, this.language, src);
+ } finally {
+ resolver.release(src);
+ this.manager.release(resolver);
+ }
// Associate to the original source
processors.put(source, processor);