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 2002/02/07 22:53:55 UTC
cvs commit: xml-cocoon2/src/scratchpad/src/org/apache/cocoon/treeprocessor/sitemap MountNode.java
sylvain 02/02/07 13:53:55
Modified: src/scratchpad/src/org/apache/cocoon/treeprocessor
TreeProcessor.java
src/scratchpad/src/org/apache/cocoon/treeprocessor/sitemap
MountNode.java
Log:
Fix map:mount bug when a file is specified and not only a directory.
Reported by Peter Royal and Giacomo Pati.
Revision Changes Path
1.8 +11 -4 xml-cocoon2/src/scratchpad/src/org/apache/cocoon/treeprocessor/TreeProcessor.java
Index: TreeProcessor.java
===================================================================
RCS file: /home/cvs/xml-cocoon2/src/scratchpad/src/org/apache/cocoon/treeprocessor/TreeProcessor.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- TreeProcessor.java 7 Feb 2002 09:07:22 -0000 1.7
+++ TreeProcessor.java 7 Feb 2002 21:53:55 -0000 1.8
@@ -101,7 +101,7 @@
* Interpreted tree-traversal implementation of a pipeline assembly language.
*
* @author <a href="mailto:sylvain@apache.org">Sylvain Wallez</a>
- * @version CVS $Id: TreeProcessor.java,v 1.7 2002/02/07 09:07:22 cziegeler Exp $
+ * @version CVS $Id: TreeProcessor.java,v 1.8 2002/02/07 21:53:55 sylvain Exp $
*/
public class TreeProcessor extends AbstractLoggable implements ThreadSafe, Processor,
@@ -188,10 +188,17 @@
* @param language the language to be used by the child processor.
* @return a new child processor.
*/
- public TreeProcessor createChildProcessor(ComponentManager manager, String language) throws Exception {
+ public TreeProcessor createChildProcessor(
+ ComponentManager manager,
+ String language,
+ Source source)
+ throws Exception {
+
TreeProcessor child = new TreeProcessor(this, manager, language);
child.setLogger(getLogger());
child.initialize();
+ // FIXME : make the delay configurable
+ child.source = new DelayedRefreshSourceWrapper(source, 1000L);
return child;
}
@@ -366,8 +373,8 @@
long startTime = System.currentTimeMillis();
- if (this.rootNode == null) {
- // First call : create source
+ if (this.source == null) {
+ // Root Processor : create source
// FIXME : make the delay configurable
this.source = new DelayedRefreshSourceWrapper(env.resolve(this.sourceName), 1000L);
1.4 +10 -4 xml-cocoon2/src/scratchpad/src/org/apache/cocoon/treeprocessor/sitemap/MountNode.java
Index: MountNode.java
===================================================================
RCS file: /home/cvs/xml-cocoon2/src/scratchpad/src/org/apache/cocoon/treeprocessor/sitemap/MountNode.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- MountNode.java 4 Feb 2002 14:39:53 -0000 1.3
+++ MountNode.java 7 Feb 2002 21:53:55 -0000 1.4
@@ -75,7 +75,7 @@
/**
*
* @author <a href="mailto:sylvain@apache.org">Sylvain Wallez</a>
- * @version CVS $Id: MountNode.java,v 1.3 2002/02/04 14:39:53 cziegeler Exp $
+ * @version CVS $Id: MountNode.java,v 1.4 2002/02/07 21:53:55 sylvain Exp $
*/
public class MountNode extends AbstractProcessingNode implements Composable {
@@ -118,7 +118,7 @@
String resolvedSource = this.source.resolve(mapStack);
TreeProcessor processor = (TreeProcessor)processors.get(resolvedSource);
if (processor == null) {
- processor = getProcessor(resolvedSource);
+ processor = getProcessor(env, resolvedSource);
}
String resolvedPrefix = this.prefix.resolve(mapStack);
@@ -145,12 +145,18 @@
}
}
- private synchronized TreeProcessor getProcessor(String source) throws Exception {
+ private synchronized TreeProcessor getProcessor(Environment env, String source) throws Exception {
+
TreeProcessor processor = (TreeProcessor)processors.get(source);
if (processor == null) {
+
+ if (source.charAt(source.length() - 1) == '/') {
+ source = source + "sitemap.xmap";
+ }
- processor = this.parentProcessor.createChildProcessor(this.manager, this.language);
+ processor = this.parentProcessor.createChildProcessor(
+ this.manager, this.language, env.resolve(source));
processors.put(source, processor);
}
----------------------------------------------------------------------
In case of troubles, e-mail: webmaster@xml.apache.org
To unsubscribe, e-mail: cocoon-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: cocoon-cvs-help@xml.apache.org