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