Berin,
Shouldn't these changes get into 2.1 also?
Thanks,
dims
--- [EMAIL PROTECTED] wrote:
> bloritsch 01/06/06 10:13:32
>
> Modified: src/org/apache/cocoon Tag: cocoon_20_branch Cocoon.java
> cocoon.roles
> src/org/apache/cocoon/components/language/generator Tag:
> cocoon_20_branch GeneratorSelector.java
> ProgramGeneratorImpl.java
> src/org/apache/cocoon/components/language/markup/sitemap/java
> Tag: cocoon_20_branch sitemap.xsl
> src/org/apache/cocoon/sitemap Tag: cocoon_20_branch
> AbstractSitemap.java Handler.java Manager.java
> SitemapComponentSelector.java
> src/org/apache/cocoon/util Tag: cocoon_20_branch
> IOUtils.java
> Added: lib Tag: cocoon_20_branch avalon-excalibur-4.0b3.jar
> avalon-framework-4.0b3.jar logkit-1.0b2.jar
> src/org/apache/cocoon/sitemap Tag: cocoon_20_branch
> sitemap.roles
> Removed: lib Tag: cocoon_20_branch avalon-excalibur-4.0b1.jar
> avalon-framework-4.0b1.jar logkit-1.0b1.jar
> Log:
> Upgrade to Avalon-4.0beta3 (beta 2 had a serious bug that
> surfaced when I tried to do the port for Cocoon 2).
>
> Revision Changes Path
> No revision
>
>
> No revision
>
>
> 1.1.2.1 +303 -0 xml-cocoon2/lib/Attic/avalon-excalibur-4.0b3.jar
>
> <<Binary file>>
>
>
> 1.1.2.1 +118 -0 xml-cocoon2/lib/Attic/avalon-framework-4.0b3.jar
>
> <<Binary file>>
>
>
> 1.1.2.1 +102 -0 xml-cocoon2/lib/Attic/logkit-1.0b2.jar
>
> <<Binary file>>
>
>
> No revision
>
>
> No revision
>
>
> 1.9.2.1 +69 -33 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
> retrieving revision 1.9.2.1
> diff -u -r1.9 -r1.9.2.1
> --- Cocoon.java 2001/06/05 08:05:13 1.9
> +++ Cocoon.java 2001/06/06 17:12:58 1.9.2.1
> @@ -42,9 +42,10 @@
> import org.apache.cocoon.environment.Source;
> import org.apache.cocoon.serialization.Serializer;
> import org.apache.cocoon.sitemap.Manager;
> +import org.apache.cocoon.sitemap.AbstractSitemap;
> import org.apache.cocoon.util.ClassUtils;
> import org.apache.cocoon.util.NetUtils;
> -import org.apache.avalon.excalibur.component.DefaultComponentManager;
> +import org.apache.avalon.excalibur.component.ExcaliburComponentManager;
> import org.apache.avalon.excalibur.component.DefaultRoleManager;
> import org.xml.sax.InputSource;
> import org.xml.sax.SAXException;
> @@ -54,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 $ $Date: 2001/06/05 08:05:13 $
> + * @version CVS $Revision: 1.9.2.1 $ $Date: 2001/06/06 17:12:58 $
> */
> public class Cocoon extends AbstractLoggable implements ThreadSafe, Component,
>Initializable,
> Disposable, Modifiable, Processor, Contextualizable {
> /** The application context */
> @@ -85,7 +86,7 @@
> private boolean reloadSitemapAsynchron = true;
>
> /** The component manager. */
> - public DefaultComponentManager componentManager;
> + private ExcaliburComponentManager componentManager;
>
> /** flag for disposed or not */
> private boolean disposed = false;
> @@ -111,7 +112,7 @@
> }
>
> public void initialize() throws Exception {
> - this.componentManager = new DefaultComponentManager();
> + this.componentManager = new
>
>ExcaliburComponentManager((ClassLoader)this.context.get(Constants.CONTEXT_CLASS_LOADER));
> this.componentManager.setLogger(getLogger());
> this.componentManager.contextualize(this.context);
>
> @@ -120,9 +121,12 @@
> // If one need to use a different parser, set the given system property
> String parser = System.getProperty(Constants.PARSER_PROPERTY,
> Constants.DEFAULT_PARSER);
> getLogger().debug("Using parser: " + parser);
> + ExcaliburComponentManager startupManager = new
>
>ExcaliburComponentManager((ClassLoader)this.context.get(Constants.CONTEXT_CLASS_LOADER));
> + startupManager.setLogger(getLogger());
> + startupManager.contextualize(this.context);
>
> try {
> - this.componentManager.addComponent(Roles.PARSER,
>ClassUtils.loadClass(parser),
> null);
> + startupManager.addComponent(Roles.PARSER,
>ClassUtils.loadClass(parser), null);
> } catch (Exception e) {
> getLogger().error("Could not load parser, Cocoon object not
>created.", e);
> throw new ConfigurationException("Could not load parser " + parser,
>e);
> @@ -141,17 +145,44 @@
>
> getLogger().debug("Classpath = " + classpath);
> getLogger().debug("Work directory = " + workDir.getCanonicalPath());
> - this.configure();
> + startupManager.initialize();
> +
> + Configuration conf = this.configure(startupManager);
> + startupManager.dispose();
> +
> + this.componentManager.initialize();
> +
> + getLogger().debug("Setting up the sitemap.");
> + // Create the sitemap
> + Configuration sconf = conf.getChild("sitemap");
> + this.sitemapManager = new Manager();
> + this.sitemapManager.setLogger(getLogger());
> + this.sitemapManager.contextualize(this.context);
> + this.sitemapManager.compose(this.componentManager);
> + this.sitemapManager.configure(conf);
> + this.sitemapFileName = sconf.getAttribute("file");
> + if (this.sitemapFileName == null) {
> + getLogger().error("No sitemap file name");
> + throw new ConfigurationException("No sitemap file name\n" +
>conf.toString());
> + }
> + String value = sconf.getAttribute("check-reload", "yes");
> + this.checkSitemapReload = !(value != null && value.equalsIgnoreCase("no")
>== true);
> + value = sconf.getAttribute("reload-method", "asynchron");
> + this.reloadSitemapAsynchron = !(value != null &&
>value.equalsIgnoreCase("synchron")
> == true);
> + getLogger().debug("Sitemap location = " + this.sitemapFileName);
> + getLogger().debug("Checking sitemap reload = " + this.checkSitemapReload);
> + getLogger().debug("Reloading sitemap asynchron = " +
>this.reloadSitemapAsynchron);
> }
>
> /** Configure this <code>Cocoon</code> instance. */
> - public void configure() throws ConfigurationException, ContextException {
> + public Configuration configure(ExcaliburComponentManager startupManager)
>throws
> ConfigurationException, ContextException {
> Parser p = null;
> Configuration roleConfig = null;
> + Configuration sitemapConfig = null;
>
> try {
> this.configurationFile.refresh();
> - p = (Parser)this.componentManager.lookup(Roles.PARSER);
> + p = (Parser)startupManager.lookup(Roles.PARSER);
> SAXConfigurationHandler b = new SAXConfigurationHandler();
> InputStream inputStream =
> ClassUtils.getResource("org/apache/cocoon/cocoon.roles").openStream();
> InputSource is = new InputSource(inputStream);
> @@ -163,7 +194,7 @@
> getLogger().error("Could not configure Cocoon environment", e);
> throw new ConfigurationException("Error trying to load
>configurations", e);
> } finally {
> - if (p != null) this.componentManager.release(p);
> + if (p != null) startupManager.release(p);
> }
>
> DefaultRoleManager drm = new DefaultRoleManager();
> @@ -172,8 +203,31 @@
> roleConfig = null;
>
> try {
> - p = (Parser)this.componentManager.lookup(Roles.PARSER);
> + this.configurationFile.refresh();
> + p = (Parser)startupManager.lookup(Roles.PARSER);
> SAXConfigurationHandler b = new SAXConfigurationHandler();
> + InputStream inputStream =
> ClassUtils.getResource("org/apache/cocoon/sitemap/sitemap.roles").openStream();
> + InputSource is = new InputSource(inputStream);
> + is.setSystemId(this.configurationFile.getSystemId());
> + p.setContentHandler(b);
> + p.parse(is);
> + sitemapConfig = b.getConfiguration();
> + } catch (Exception e) {
> + getLogger().error("Could not configure Cocoon environment", e);
> + throw new ConfigurationException("Error trying to load
>configurations", e);
> + } finally {
> + if (p != null) startupManager.release(p);
>
=== message truncated ===
=====
Davanum Srinivas, JNI-FAQ Manager
http://www.jGuru.com/faq/JNI
__________________________________________________
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail - only $35
a year! http://personal.mail.yahoo.com/
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]