Davanum Srinivas wrote:
> 
> Berin,
> Shouldn't these changes get into 2.1 also?

Yes.  There are some architectural things that I would like to see done
RSN.  They do not affect client code, just the way Cocoon works internally.

I have to think how I plan on doing that.

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

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to