cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Giacomo Pati <>
Subject Re: Move to Xalan2J
Date Fri, 20 Oct 2000 07:45:31 GMT

--- Paul Russell <> wrote:
> On Fri, Oct 13, 2000 at 07:00:01AM +0200, Giacomo Pati wrote:
> > Paul Russell (sorry, I've misspelled your name in the cvs
> > commits) has implemented a component manager for the general
> > components (not sitemap components) which respects the new
> > interfaces from the new avalon release. These interfaces are
> > used to mark classes as ThreadSafe, SingleThreaded, Poolable
> > or Recyclable. With this base implementation we are able to
> > (finally) use the Store to save objects for multiple uses (i.e
> > pregenerated or compiled stylesheets).
> Heh. That's okay, I'm used to it. There's also another slight
> issue. The code I sent you deals with handing out components
> from pools etc etc, however it doesn't deal with getting them
> back into the pools afterwards. I'm not entirely sure how to
> deal with this - I still feel it needs a subinterface to
> ComponentManager that lets it accept components which people
> have finished with. I've mentioned this to the Avalon peeps
> before I think, and not had any joy. Any thoughts?

Maybe I'm way back behind the current state of the discussion (I had a
great recreation time anyway :).

For the sitemap components I've written "holder" classes which have a
get and put method to get at the real component and to put it back
(even if it is not necessary) to free the using class of making that
decision. Maybe we should move those classes to another package and
make them available to all components in general. BTW, those holder
classes respect the interfaces implemented on the components and the
HolderFactory needs to be instantiated with the Configuration and
ComponentManager objects to be able to pass them to the Component.

These holder classes may be a way to check for your "Status and
Profiling"  proposal. Personally I think Proxies can't be used for
that. Your example uses a Matcher which might work with a proxy because
Matcher can be easily written in a thread safe manner. But the SAX
components like Generator, Serializer etc. aren't usually thread safe
and thus can't be easily wrapped by a Proxy.

Another BTW. Excuse my namings. I'm very bad in naming things. I you
all feel "holder" is a bad name for what it does. I was lead by
thinking that these objects "hold" a/many component(s). Feel free to
suggest a propper name for it :)
> > Further, the component defined in a sitemap are now available
> > to sub sitemaps (sitemap component inheritance). This means
> > that you can use sitemap components defined in the parent
> > sitemap without the need to redeclare them. 
> Funky :)

Yup :)

> > - Fully integration of the new avalon release. 
> > - Specifying and implemeting the "Content Aggregation" from the RT
> series
> > - Going deeper into the "Status and profiling" RT from Paul Russell
> Happy to contribute on the status and profiling side, obviously.
> I'll try and look over the new sitemap.xsl asap and post a slightly
> more involved (and better written ;) e-mail about it...
> What's left to do on the avalon integration?

The new avalon has changed many method names. There is some work to
rename them. Also the NamedComponentManager has been replaces by a
ComponentSelector which I think works different (haven't looked into
the code yet).


PWR GmbH, Organisation & Entwicklung      Tel:   +41 (0)1 856 2202
Giacomo Pati, CTO/CEO                     Fax:   +41 (0)1 856 2201
Hintereichenstrasse 7           
CH-8166 Niederweningen                    Web:

Do You Yahoo!?
Yahoo! Messenger - Talk while you surf!  It's FREE.

View raw message