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