You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by vg...@apache.org on 2002/02/07 05:37:42 UTC

cvs commit: xml-cocoon2/src/java/org/apache/cocoon/sitemap Handler.java Manager.java SitemapManager.java

vgritsenko    02/02/06 20:37:42

  Modified:    src/java/org/apache/cocoon/sitemap Handler.java Manager.java
                        SitemapManager.java
  Log:
  Decouple dependency on programming languages from SitemapManager.
  Now it should be easier (a little bit) to incorporate any other sitemap language
  implementation.
  
  Revision  Changes    Path
  1.9       +3 -4      xml-cocoon2/src/java/org/apache/cocoon/sitemap/Handler.java
  
  Index: Handler.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/sitemap/Handler.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- Handler.java	4 Feb 2002 14:05:18 -0000	1.8
  +++ Handler.java	7 Feb 2002 04:37:42 -0000	1.9
  @@ -89,7 +89,7 @@
    * @author <a href="mailto:cziegeler@apache.org">Carsten Ziegeler</a>
    * @author <a href="mailto:Giacomo.Pati@pwr.ch">Giacomo Pati</a>
    * @author <a href="mailto:stefano@apache.org">Stefano Mazzocchi</a>
  - * @version CVS $Id: Handler.java,v 1.8 2002/02/04 14:05:18 cziegeler Exp $
  + * @version CVS $Id: Handler.java,v 1.9 2002/02/07 04:37:42 vgritsenko Exp $
    */
   public class Handler extends AbstractLoggable
   implements Runnable, Contextualizable, Composable, Processor, Disposable, SourceResolver {
  @@ -269,7 +269,6 @@
                * Needed because we never have the opportunity to handle the lifecycle of the
                * XSLTFactoryLoader, since it is created by the Xalan engine.
                */
  -
               XSLTFactoryLoader.setLogger(getLogger());
               programGenerator = (ProgramGenerator)this.manager.lookup(ProgramGenerator.ROLE);
               smap = (Sitemap)programGenerator.load(this.manager, this.sourceFileName, markupLanguage,
  @@ -279,8 +278,8 @@
               }
               this.sitemap = smap;
               // add the source factory for the cocoon protocol
  -            this.sourceHandler.addFactory("cocoon", new CocoonSourceFactory(this.sitemap,
  -                                                                            this.sitemap.getComponentManager()));
  +            this.sourceHandler.addFactory("cocoon",
  +                    new CocoonSourceFactory(this.sitemap, this.sitemap.getComponentManager()));
               getLogger().debug("Sitemap regeneration complete");
               if (this.sitemap != null) {
                   getLogger().debug("The sitemap has been successfully compiled!");
  
  
  
  1.8       +9 -10     xml-cocoon2/src/java/org/apache/cocoon/sitemap/Manager.java
  
  Index: Manager.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/sitemap/Manager.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- Manager.java	5 Feb 2002 13:43:51 -0000	1.7
  +++ Manager.java	7 Feb 2002 04:37:42 -0000	1.8
  @@ -86,17 +86,11 @@
    * checking regeneration of the sub <code>Sitemap</code>
    *
    * @author <a href="mailto:Giacomo.Pati@pwr.ch">Giacomo Pati</a>
  - * @version CVS $Id: Manager.java,v 1.7 2002/02/05 13:43:51 cziegeler Exp $
  + * @version CVS $Id: Manager.java,v 1.8 2002/02/07 04:37:42 vgritsenko Exp $
    */
  -public class Manager
  -  extends AbstractLoggable
  -  implements Component,
  -             Configurable,
  -             Composable,
  -             Contextualizable,
  -             ThreadSafe,
  -             LogKitManageable,
  -             Disposable
  +public class Manager extends AbstractLoggable
  +        implements Component, Configurable, Composable, Contextualizable,
  +                   ThreadSafe, LogKitManageable, Disposable
   {
       protected Context context;
   
  @@ -238,6 +232,11 @@
               }
           }
           return false;
  +    }
  +
  +    protected void generateSitemap(String sitemapFileName, Environment environment)
  +    throws Exception {
  +        getHandler(this.manager, environment, sitemapFileName, true, false);
       }
   
       private Handler getHandler(final ComponentManager newManager,
  
  
  
  1.8       +5 -33     xml-cocoon2/src/java/org/apache/cocoon/sitemap/SitemapManager.java
  
  Index: SitemapManager.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/sitemap/SitemapManager.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SitemapManager.java	5 Feb 2002 13:43:51 -0000	1.7
  +++ SitemapManager.java	7 Feb 2002 04:37:42 -0000	1.8
  @@ -68,7 +68,6 @@
   import org.apache.cocoon.ProcessingException;
   import org.apache.cocoon.Processor;
   import org.apache.cocoon.components.language.generator.CompiledComponent;
  -import org.apache.cocoon.components.language.generator.ProgramGenerator;
   import org.apache.cocoon.components.parser.Parser;
   import org.apache.cocoon.components.pipeline.EventPipeline;
   import org.apache.cocoon.components.pipeline.StreamPipeline;
  @@ -81,11 +80,11 @@
   import java.io.InputStream;
   
   /**
  - * A <code>Processor</code> based on sitemap language files compiled
  - * to Java code.
  + * A <code>Processor</code> based on the sitemap language files.
    *
    * @author <a href="mailto:sylvain@apache.org">Sylvain Wallez</a>
  - * @version CVS $Id: SitemapManager.java,v 1.7 2002/02/05 13:43:51 cziegeler Exp $
  + * @author <a href="mailto:vgritsenko@apache.org">Vadim Gritsenko</a>
  + * @version CVS $Id: SitemapManager.java,v 1.8 2002/02/07 04:37:42 vgritsenko Exp $
    */
   public class SitemapManager extends Manager implements Processor, Configurable {
   
  @@ -150,35 +149,8 @@
       /**
        * Process the given <code>Environment</code> to generate the sitemap.
        */
  -    public void generateSitemap(Environment environment)
  -    throws Exception {
  -        ProgramGenerator programGenerator = null;
  -        SourceHandler oldSourceHandler = environment.getSourceHandler();
  -        SourceHandler sourceHandler = null;
  -        try {
  -            programGenerator = (ProgramGenerator) this.manager.lookup(ProgramGenerator.ROLE);
  -            sourceHandler = (SourceHandler) this.manager.lookup(SourceHandler.ROLE);
  -            environment.setSourceHandler(sourceHandler);
  -            String markupLanguage = "sitemap";
  -            String programmingLanguage = "java";
  -
  -            getLogger().debug("Sitemap regeneration begin:" + sitemapFileName);
  -            CompiledComponent smap = programGenerator.load(this.manager, sitemapFileName, markupLanguage, programmingLanguage, environment);
  -            getLogger().debug("Sitemap regeneration complete");
  -
  -            if (smap != null) {
  -                getLogger().debug("Main: The sitemap has been successfully compiled!");
  -            } else {
  -                getLogger().debug("Main: No errors, but the sitemap has not been set.");
  -            }
  -        } catch (Exception e) {
  -            getLogger().error("Main: Error compiling sitemap", e);
  -            throw e;
  -        } finally {
  -            environment.setSourceHandler(oldSourceHandler);
  -            if (programGenerator != null) this.manager.release(programGenerator);
  -            if (sourceHandler != null) this.manager.release(sourceHandler);
  -        }
  +    public void generateSitemap(Environment environment) throws Exception {
  +        super.generateSitemap(this.sitemapFileName, environment);
       }
   
       /**
  
  
  

----------------------------------------------------------------------
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