bloritsch 01/06/08 08:38:42 Modified: src/org/apache/cocoon Tag: cocoon_20_branch Cocoon.java src/org/apache/cocoon/components/language/generator Tag: cocoon_20_branch GeneratorSelector.java ProgramGenerator.java ProgramGeneratorImpl.java src/org/apache/cocoon/components/language/markup/sitemap/java Tag: cocoon_20_branch sitemap.xsl src/org/apache/cocoon/generation Tag: cocoon_20_branch ServerPagesGenerator.java src/org/apache/cocoon/sitemap Tag: cocoon_20_branch Handler.java Manager.java Log: Got subsitemaps working again--this time with heirarchical ComponentManagers. Revision Changes Path No revision No revision 1.9.2.3 +5 -5 xml-cocoon2/src/org/apache/cocoon/Cocoon.java Index: Cocoon.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/Cocoon.java,v retrieving revision 1.9.2.2 retrieving revision 1.9.2.3 diff -u -r1.9.2.2 -r1.9.2.3 --- Cocoon.java 2001/06/07 21:13:35 1.9.2.2 +++ Cocoon.java 2001/06/08 15:38:23 1.9.2.3 @@ -55,7 +55,7 @@ * * @author <a href="mailto:[EMAIL PROTECTED]">Pierpaolo Fumagalli</a> (Apache Software Foundation, Exoffice Technologies) * @author <a href="mailto:[EMAIL PROTECTED]">Stefano Mazzocchi</a> - * @version CVS $Revision: 1.9.2.2 $ $Date: 2001/06/07 21:13:35 $ + * @version CVS $Revision: 1.9.2.3 $ $Date: 2001/06/08 15:38:23 $ */ public class Cocoon extends AbstractLoggable implements ThreadSafe, Component, Initializable, Disposable, Modifiable, Processor, Contextualizable { /** The application context */ @@ -326,7 +326,7 @@ public boolean process(Environment environment) throws Exception { if (disposed) throw new IllegalStateException("You cannot process a Disposed Cocoon engine."); - return this.sitemapManager.invoke(environment, "", this.sitemapFileName, + return this.sitemapManager.invoke(this.componentManager, environment, "", this.sitemapFileName, this.checkSitemapReload, this.reloadSitemapAsynchron); } @@ -337,7 +337,7 @@ public boolean process(Environment environment, StreamPipeline pipeline, EventPipeline eventPipeline) throws Exception { if (disposed) throw new IllegalStateException("You cannot process a Disposed Cocoon engine."); - return this.sitemapManager.invoke(environment, "", this.sitemapFileName, + return this.sitemapManager.invoke(this.componentManager, environment, "", this.sitemapFileName, this.checkSitemapReload, this.reloadSitemapAsynchron, pipeline, eventPipeline); } @@ -357,7 +357,7 @@ String programmingLanguage = "java"; getLogger().debug("Sitemap regeneration begin:" + sitemapFileName); - CompiledComponent smap = (CompiledComponent) programGenerator.load(sitemapFileName, markupLanguage, programmingLanguage, environment); + CompiledComponent smap = programGenerator.load(this.componentManager, sitemapFileName, markupLanguage, programmingLanguage, environment); getLogger().debug("Sitemap regeneration complete"); if (smap != null) { @@ -391,7 +391,7 @@ String markupLanguage = "xsp"; String programmingLanguage = "java"; - CompiledComponent xsp = (CompiledComponent) programGenerator.load(fileName, markupLanguage, programmingLanguage, environment); + CompiledComponent xsp = programGenerator.load(this.componentManager, fileName, markupLanguage, programmingLanguage, environment); getLogger().debug("XSP generation complete:" + xsp); this.componentManager.release(programGenerator); No revision No revision 1.1.1.1.2.2 +4 -4 xml-cocoon2/src/org/apache/cocoon/components/language/generator/GeneratorSelector.java Index: GeneratorSelector.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/components/language/generator/GeneratorSelector.java,v retrieving revision 1.1.1.1.2.1 retrieving revision 1.1.1.1.2.2 diff -u -r1.1.1.1.2.1 -r1.1.1.1.2.2 --- GeneratorSelector.java 2001/06/06 17:13:04 1.1.1.1.2.1 +++ GeneratorSelector.java 2001/06/08 15:38:27 1.1.1.1.2.2 @@ -30,7 +30,7 @@ * includes Sitemaps and XSP Pages * * @author <a href="mailto:[EMAIL PROTECTED]">Berin Loritsch</a> - * @version CVS $Revision: 1.1.1.1.2.1 $ $Date: 2001/06/06 17:13:04 $ + * @version CVS $Revision: 1.1.1.1.2.2 $ $Date: 2001/06/08 15:38:27 $ */ public class GeneratorSelector extends ExcaliburComponentSelector implements Disposable { private ClassLoaderManager classManager; @@ -105,16 +105,16 @@ throw new ComponentException("Could not add component for class: " + className, e); } - this.addGenerator(hint, generator); + this.addGenerator(this.manager, hint, generator); } - public void addGenerator(Object hint, Class generator) throws ComponentException { + public void addGenerator(ComponentManager newManager, Object hint, Class generator) throws ComponentException { try { final ComponentHandler handler = ComponentHandler.getComponentHandler( generator, new DefaultConfiguration("", "GeneratorSelector"), - this.manager, + newManager, this.context, this.roles ); 1.3.2.1 +7 -2 xml-cocoon2/src/org/apache/cocoon/components/language/generator/ProgramGenerator.java Index: ProgramGenerator.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/components/language/generator/ProgramGenerator.java,v retrieving revision 1.3 retrieving revision 1.3.2.1 diff -u -r1.3 -r1.3.2.1 --- ProgramGenerator.java 2001/05/25 14:25:58 1.3 +++ ProgramGenerator.java 2001/06/08 15:38:28 1.3.2.1 @@ -9,6 +9,7 @@ import java.io.File; import org.apache.avalon.framework.component.Component; +import org.apache.avalon.framework.component.ComponentManager; import org.apache.cocoon.environment.SourceResolver; /** @@ -16,13 +17,14 @@ * documents writeen in a <code>MarkupLanguage</code> * * @author <a href="mailto:[EMAIL PROTECTED]">Ricardo Rocha</a> - * @version CVS $Revision: 1.3 $ $Date: 2001/05/25 14:25:58 $ + * @version CVS $Revision: 1.3.2.1 $ $Date: 2001/06/08 15:38:28 $ */ public interface ProgramGenerator extends Component { /** * Load a program built from an XML document written in a * <code>MarkupLanguage</code> * + * @param newManager The ComponentManager that it will be loaded with. * @param file The input document's <code>File</code> * @param markupLanguage The <code>MarkupLanguage</code> in which the input * document is written @@ -32,7 +34,10 @@ * @exception Exception If an error occurs during generation or loading */ CompiledComponent load( - String fileName, String markupLanguage, String programmingLanguage, + ComponentManager newManager, + String fileName, + String markupLanguage, + String programmingLanguage, SourceResolver resolver ) throws Exception; 1.5.2.2 +9 -7 xml-cocoon2/src/org/apache/cocoon/components/language/generator/ProgramGeneratorImpl.java Index: ProgramGeneratorImpl.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/components/language/generator/ProgramGeneratorImpl.java,v retrieving revision 1.5.2.1 retrieving revision 1.5.2.2 diff -u -r1.5.2.1 -r1.5.2.2 --- ProgramGeneratorImpl.java 2001/06/06 17:13:05 1.5.2.1 +++ ProgramGeneratorImpl.java 2001/06/08 15:38:29 1.5.2.2 @@ -48,7 +48,7 @@ /** * The default implementation of <code>ProgramGenerator</code> * @author <a href="mailto:[EMAIL PROTECTED]">Ricardo Rocha</a> - * @version CVS $Revision: 1.5.2.1 $ $Date: 2001/06/06 17:13:05 $ + * @version CVS $Revision: 1.5.2.2 $ $Date: 2001/06/08 15:38:29 $ */ public class ProgramGeneratorImpl extends AbstractLoggable implements ProgramGenerator, Contextualizable, Composable, Configurable, ThreadSafe, Disposable { @@ -122,7 +122,8 @@ * @return The loaded program instance * @exception Exception If an error occurs during generation or loading */ - public CompiledComponent load(String fileName, + public CompiledComponent load(ComponentManager newManager, + String fileName, String markupLanguageName, String programmingLanguageName, SourceResolver resolver) @@ -155,7 +156,7 @@ markupLanguage = (MarkupLanguage)this.markupSelector.select(markupLanguageName); programmingLanguage = (ProgrammingLanguage)this.languageSelector.select(programmingLanguageName); programmingLanguage.setLanguageName(programmingLanguageName); - program = generateResource(fileName, normalizedName, markupLanguage, programmingLanguage, resolver); + program = this.generateResource(newManager, fileName, normalizedName, markupLanguage, programmingLanguage, resolver); } catch (LanguageException le) { getLogger().debug("Language Exception", le); throw new ProcessingException("Language Exception", le); @@ -208,7 +209,7 @@ markupLanguage = (MarkupLanguage)this.markupSelector.select(markupLanguageName); programmingLanguage = (ProgrammingLanguage)this.languageSelector.select(programmingLanguageName); programmingLanguage.setLanguageName(programmingLanguageName); - program = generateResource(fileName, normalizedName, markupLanguage, programmingLanguage, resolver); + program = this.generateResource(newManager, fileName, normalizedName, markupLanguage, programmingLanguage, resolver); } catch (LanguageException le) { getLogger().debug("Language Exception", le); throw new ProcessingException("Language Exception", le); @@ -224,7 +225,8 @@ return programInstance; } - private Class generateResource(String fileName, + private Class generateResource(ComponentManager newManager, + String fileName, String normalizedName, MarkupLanguage markupLanguage, ProgrammingLanguage programmingLanguage, @@ -247,14 +249,14 @@ // [Compile]/Load generated program Class program = programmingLanguage.load(normalizedName, this.workDir, markupLanguage.getEncoding()); // Store generated program in cache - this.cache.addGenerator(normalizedName, program); + this.cache.addGenerator(newManager, normalizedName, program); if (markupLanguage.getClass().getName().equals(SitemapMarkupLanguage.class.getName())) { try { select("sitemap"); } catch (Exception e) { // If the root sitemap has not been compiled, add an alias here. - this.cache.addGenerator("sitemap", program); + this.cache.addGenerator(newManager, "sitemap", program); } } No revision No revision 1.11.2.4 +3 -3 xml-cocoon2/src/org/apache/cocoon/components/language/markup/sitemap/java/sitemap.xsl Index: sitemap.xsl =================================================================== RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/components/language/markup/sitemap/java/sitemap.xsl,v retrieving revision 1.11.2.3 retrieving revision 1.11.2.4 diff -u -r1.11.2.3 -r1.11.2.4 --- sitemap.xsl 2001/06/07 21:35:09 1.11.2.3 +++ sitemap.xsl 2001/06/08 15:38:33 1.11.2.4 @@ -101,7 +101,7 @@ * * @author <a href="mailto:[EMAIL PROTECTED]">Giacomo Pati</a> * @author <a href="mailto:[EMAIL PROTECTED]">Berin Loritsch</a> - * @version CVS $Id: sitemap.xsl,v 1.11.2.3 2001/06/07 21:35:09 giacomo Exp $ + * @version CVS $Id: sitemap.xsl,v 1.11.2.4 2001/06/08 15:38:33 bloritsch Exp $ */ public class <xsl:value-of select="@file-name"/> extends AbstractSitemap { static final String LOCATION = "<xsl:value-of select="translate(@file-path, '/', '.')"/>.<xsl:value-of select="@file-name"/>"; @@ -1034,9 +1034,9 @@ <!-- generate the code to invoke the sitemapManager which handles delegation of control to sub sitemaps --> if (internalRequest) - return sitemapManager.invoke (environment, substitute(listOfMaps,"<xsl:value-of select="@uri-prefix"/>"), substitute(listOfMaps,"<xsl:value-of select="@src"/>"), <xsl:value-of select="$check-reload"/>, <xsl:value-of select="$reload-method"/>, pipeline, eventPipeline); + return sitemapManager.invoke (this.manager, environment, substitute(listOfMaps,"<xsl:value-of select="@uri-prefix"/>"), substitute(listOfMaps,"<xsl:value-of select="@src"/>"), <xsl:value-of select="$check-reload"/>, <xsl:value-of select="$reload-method"/>, pipeline, eventPipeline); else - if(true)return sitemapManager.invoke (environment, substitute(listOfMaps,"<xsl:value-of select="@uri-prefix"/>"), substitute(listOfMaps,"<xsl:value-of select="@src"/>"), <xsl:value-of select="$check-reload"/>, <xsl:value-of select="$reload-method"/>); + if(true)return sitemapManager.invoke (this.manager, environment, substitute(listOfMaps,"<xsl:value-of select="@uri-prefix"/>"), substitute(listOfMaps,"<xsl:value-of select="@src"/>"), <xsl:value-of select="$check-reload"/>, <xsl:value-of select="$reload-method"/>); </xsl:template> <!-- match="map:mount" --> <!-- generate the code to redirect a request --> No revision No revision 1.7.2.1 +2 -2 xml-cocoon2/src/org/apache/cocoon/generation/ServerPagesGenerator.java Index: ServerPagesGenerator.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/generation/ServerPagesGenerator.java,v retrieving revision 1.7 retrieving revision 1.7.2.1 diff -u -r1.7 -r1.7.2.1 --- ServerPagesGenerator.java 2001/06/04 11:00:19 1.7 +++ ServerPagesGenerator.java 2001/06/08 15:38:36 1.7.2.1 @@ -47,7 +47,7 @@ * delegating actual SAX event generation. * * @author <a href="mailto:[EMAIL PROTECTED]">Ricardo Rocha</a> - * @version CVS $Revision: 1.7 $ $Date: 2001/06/04 11:00:19 $ + * @version CVS $Revision: 1.7.2.1 $ $Date: 2001/06/08 15:38:36 $ */ public class ServerPagesGenerator extends ServletGenerator @@ -150,7 +150,7 @@ try { generator = (XSPGenerator) - programGenerator.load(super.source, this.markupLanguage, this.programmingLanguage, this.resolver); + programGenerator.load(this.manager, super.source, this.markupLanguage, this.programmingLanguage, this.resolver); } catch (Exception e) { getLogger().warn("ServerPagesGenerator.generate()", e); throw new ResourceNotFoundException(e.getMessage(), e); No revision No revision 1.9.2.4 +2 -2 xml-cocoon2/src/org/apache/cocoon/sitemap/Handler.java Index: Handler.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/sitemap/Handler.java,v retrieving revision 1.9.2.3 retrieving revision 1.9.2.4 diff -u -r1.9.2.3 -r1.9.2.4 --- Handler.java 2001/06/08 14:42:03 1.9.2.3 +++ Handler.java 2001/06/08 15:38:39 1.9.2.4 @@ -39,7 +39,7 @@ * @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a> * @author <a href="mailto:[EMAIL PROTECTED]">Giacomo Pati</a> * @author <a href="mailto:[EMAIL PROTECTED]">Stefano Mazzocchi</a> - * @version CVS $Revision: 1.9.2.3 $ $Date: 2001/06/08 14:42:03 $ + * @version CVS $Revision: 1.9.2.4 $ $Date: 2001/06/08 15:38:39 $ */ public class Handler extends AbstractLoggable implements Runnable, Configurable, Composable, Contextualizable, Processor, Disposable { @@ -211,7 +211,7 @@ programGenerator = (ProgramGenerator)this.manager.lookup(Roles.PROGRAM_GENERATOR); try { environment.setURLResolver(this.urlResolver); - smap = (Sitemap)programGenerator.load(this.sourceFileName, markupLanguage, + smap = (Sitemap)programGenerator.load(this.manager, this.sourceFileName, markupLanguage, programmingLanguage, environment); } finally { environment.setURLResolver(null); 1.2.2.4 +7 -7 xml-cocoon2/src/org/apache/cocoon/sitemap/Manager.java Index: Manager.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/sitemap/Manager.java,v retrieving revision 1.2.2.3 retrieving revision 1.2.2.4 diff -u -r1.2.2.3 -r1.2.2.4 --- Manager.java 2001/06/08 14:42:05 1.2.2.3 +++ Manager.java 2001/06/08 15:38:40 1.2.2.4 @@ -33,7 +33,7 @@ * checking regeneration of the sub <code>Sitemap</code> * * @author <a href="mailto:[EMAIL PROTECTED]">Giacomo Pati</a> - * @version CVS $Revision: 1.2.2.3 $ $Date: 2001/06/08 14:42:05 $ + * @version CVS $Revision: 1.2.2.4 $ $Date: 2001/06/08 15:38:40 $ */ public class Manager extends AbstractLoggable implements Component, Configurable, Composable, Contextualizable, ThreadSafe { private Context context; @@ -87,10 +87,10 @@ * @throws Exception there may be several excpetions thrown * @return states if the requested resource was produced */ - public boolean invoke(Environment environment, String uri_prefix, String source, boolean check_reload, + public boolean invoke(ComponentManager newManager, Environment environment, String uri_prefix, String source, boolean check_reload, boolean reload_asynchron) throws Exception { // get a sitemap handler - Handler sitemapHandler = getHandler(environment, source, check_reload, reload_asynchron); + Handler sitemapHandler = getHandler(newManager, environment, source, check_reload, reload_asynchron); // setup to invoke the processing setupProcessing(environment, sitemapHandler, uri_prefix, source); return sitemapHandler.process(environment); @@ -105,10 +105,10 @@ * @throws Exception there may be several excpetions thrown * @return states if the requested resource was produced */ - public boolean invoke(Environment environment, String uri_prefix, String source, boolean check_reload, + public boolean invoke(ComponentManager newManager, Environment environment, String uri_prefix, String source, boolean check_reload, boolean reload_asynchron, StreamPipeline pipeline, EventPipeline eventPipeline) throws Exception { // get a sitemap handler - Handler sitemapHandler = getHandler(environment, source, check_reload, reload_asynchron); + Handler sitemapHandler = getHandler(newManager, environment, source, check_reload, reload_asynchron); // setup to invoke the processing setupProcessing(environment, sitemapHandler, uri_prefix, source); return sitemapHandler.process(environment, pipeline, eventPipeline); @@ -144,7 +144,7 @@ } */ - private Handler getHandler(final Environment environment, final String source, final boolean check_reload, + private Handler getHandler(final ComponentManager newManager, final Environment environment, final String source, final boolean check_reload, final boolean reload_asynchron) throws Exception { Handler sitemapHandler = (Handler)sitemaps.get(source); if (sitemapHandler != null) { @@ -163,7 +163,7 @@ sitemapHandler = new Handler(source, check_reload); sitemapHandler.contextualize(this.context); sitemapHandler.setLogger(getLogger()); - sitemapHandler.compose(this.manager); + sitemapHandler.compose(newManager); sitemapHandler.configure(this.conf); sitemapHandler.regenerate(environment); sitemaps.put(source, sitemapHandler); ---------------------------------------------------------------------- In case of troubles, e-mail: [EMAIL PROTECTED] To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]