cziegeler    2003/01/31 06:02:02

  Modified:    src/webapp/WEB-INF Tag: cocoon_2_0_3_branch cocoon.xconf
               src/java/org/apache/cocoon/components/treeprocessor Tag:
                        cocoon_2_0_3_branch TreeProcessor.java
  Log:
  Making treeprocessor the default engine
  Backporting configuration possibilities for the treeprocessor
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.4.2.6   +26 -10    xml-cocoon2/src/webapp/WEB-INF/cocoon.xconf
  
  Index: cocoon.xconf
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/webapp/WEB-INF/cocoon.xconf,v
  retrieving revision 1.4.2.5
  retrieving revision 1.4.2.6
  diff -u -r1.4.2.5 -r1.4.2.6
  --- cocoon.xconf      8 Jan 2003 11:02:18 -0000       1.4.2.5
  +++ cocoon.xconf      31 Jan 2003 14:01:58 -0000      1.4.2.6
  @@ -451,11 +451,29 @@
   <!-- ======================== The sitemap  ============================== -->
   
     <!--
  +    New implementation of the sitemap. It is interpreted, so load times are 
super-fast,
  +    and request processing is slightly faster than with the compiled engine thanks 
to
  +    the HotSpot VM.
  +
  +    Reloading of the sitemap:
  +    The check-reload attribute determines if the sitemap is reloaded on change.
  +    Set to "no", the sitemap is generated once at startup.
  +    Set to "yes", the sitemap is regenerated if it changes.
  +
  +    For development environment, set the check-reload to yes.
  +    For production environment, it is advisable to set the check-reload to no.
  +  -->
  +  <sitemap logger="sitemap" file="sitemap.xmap" check-reload="yes"/>
  +
  +  <!--
       Compiled sitemap engine. This is the original engine, that is now replaced
  -    by the interpreted engine (see above).
  +    by the interpreted engine (see above). 
  +    
  +    WARNING: THIS VERSION HAS BEEN DEPRECATED AND WILL BE REMOVED IN ONE OF
  +             THE NEXT RELEASES! So we advice you to not use it any longer.
   
       If you want to use this engine, uncomment this element and comment the
  -    defaut one below.
  +    defaut one above.
   
       Reloading of the sitemap:
       The check-reload attribute determines if the sitemap is reloaded on change.
  @@ -471,16 +489,14 @@
   
       For development environment, set the check-reload to yes.
       For production environment, it is advisable to set the check-reload to no.
  -  -->
  -  <sitemap class="org.apache.cocoon.sitemap.SitemapManager"
  -           file="sitemap.xmap" reload-method="synchron" check-reload="yes" 
logger="sitemap"/>
   
  -  <!--
  -    New implementation of the sitemap. It is interpreted, so load times are 
super-fast,
  -    and request processing is slightly faster than with the compiled engine thanks 
to
  -    the HotSpot VM.
  +
       To use this engine, comment the declaration above and uncomment the declaration 
below.
  +   -->
  +  <!--
  +  <sitemap class="org.apache.cocoon.sitemap.SitemapManager"
  +           file="sitemap.xmap" reload-method="synchron" check-reload="yes" 
logger="sitemap"/>
     -->
  -  <!-- sitemap logger="sitemap"/ -->
  +
   
   </cocoon>
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.4.2.5   +22 -9     
xml-cocoon2/src/java/org/apache/cocoon/components/treeprocessor/TreeProcessor.java
  
  Index: TreeProcessor.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/treeprocessor/TreeProcessor.java,v
  retrieving revision 1.4.2.4
  retrieving revision 1.4.2.5
  diff -u -r1.4.2.4 -r1.4.2.5
  --- TreeProcessor.java        30 Jan 2003 16:20:18 -0000      1.4.2.4
  +++ TreeProcessor.java        31 Jan 2003 14:02:00 -0000      1.4.2.5
  @@ -139,6 +139,12 @@
       /** The current language configuration */
       protected Configuration currentLanguage;
   
  +    /** The file to process */
  +    protected String fileName;
  +
  +    /** Check for reload? */
  +    protected boolean checkReload;
  +
       protected SourceHandler sourceHandler;
   
       /** component configurations */
  @@ -150,6 +156,9 @@
       public TreeProcessor() {
           // Language can be overriden in the configuration.
           this.language = "sitemap";
  +
  +        this.checkReload = true;
  +        this.lastModifiedDelay = 1000;
       }
   
       /**
  @@ -163,6 +172,8 @@
           this.context = parent.context;
           this.logKit = parent.logKit;
           this.builderSelector = parent.builderSelector;
  +        this.checkReload = parent.checkReload;
  +        this.lastModifiedDelay = parent.lastModifiedDelay;
   
           // We have our own CM
           this.manager = manager;
  @@ -183,11 +194,11 @@
           Source source)
         throws Exception {
   
  +        // FIXME(VG): Why child isn't configure()d/contextualize(d)/etc ???
           TreeProcessor child = new TreeProcessor(this, manager, language);
           child.setLogger(getLogger());
           child.initialize();
  -        // FIXME : make delay configurable
  -        child.source = new DelayedRefreshSourceWrapper(source, 1000L);
  +        child.source = new DelayedRefreshSourceWrapper(source, lastModifiedDelay);
           return child;
       }
   
  @@ -215,7 +226,10 @@
       <language>...</language>
     </processor>
   */
  -    public void configure(Configuration config) throws ConfigurationException {
  +    public void configure(Configuration config) 
  +    throws ConfigurationException {
  +        this.fileName = config.getAttribute("file", null);
  +        this.checkReload = config.getAttributeAsBoolean("check-reload", true);
   
           Configuration rootLangConfig = config.getChild("root-language", false);
           if (rootLangConfig != null) {
  @@ -247,7 +261,6 @@
               }
           } catch(Exception e) {
               String msg = "Error while reading " + xconfURL + ": " + e.getMessage();
  -            getLogger().error(msg, e);
               throw new ConfigurationException(msg, e);
           }
   
  @@ -367,15 +380,16 @@
                   ((Recomposable)builder).recompose(this.manager);
               }
               builder.setProcessor(this);
  +            if (this.fileName == null) {
  +                this.fileName = builder.getFileName();
  +            }
   
               if (this.source == null) {
  -                // FIXME : make the delay configurable
  -                this.source = new 
DelayedRefreshSourceWrapper(env.resolve(builder.getFileName()), 1000L);
  +                this.source = new 
DelayedRefreshSourceWrapper(env.resolve(this.fileName), lastModifiedDelay);
               }
               root = builder.build(this.source);
   
               this.disposableNodes = builder.getDisposableNodes();
  -
           } finally {
               this.builderSelector.release(builder);
           }
  @@ -385,7 +399,6 @@
           if (getLogger().isDebugEnabled()) {
               double time = (this.lastModified - startTime) / 1000.0;
               getLogger().debug("TreeProcessor built in " + time + " secs from " + 
source.getSystemId());
  -            //System.out.println("TreeProcessor built in " + time + " secs from " + 
source.getSystemId());
           }
   
           // Finished
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     [EMAIL PROTECTED]
To unsubscribe, e-mail:          [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to