cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sylvain Wallez <>
Subject Re: [RT] Virtual Sitemap Components
Date Mon, 19 Jul 2004 20:50:33 GMT
Carsten Ziegeler wrote:

>Vadim Gritsenko wrote:

>>Also, if you have virtual generator "x" defined, what will be the result of serviceManager.lookup(Generator.ROLE).select("x")?
>A VPCGenerator object implementing the generator interface? I haven't thought about it
very well, but I guess it's possible (if we only allow pipeline components (G,T,S) for virtual
components than this is easy anyway; but as we allow more (Actions,Matchers,Selectors) this
might be slightly more difficult).

Implementation-wise, it would be way simpler for VPCs to be completely 
handled by the sitemap engine. In the refactoring I did last week, I 
introduced a ProcessorComponentInfo class that holds the information 
formerly held by SitemapComponentSelector and OutputComponentSelector. 
We can add to this ProcessorComponentInfo class the ability to store the 
ProcessingNodes corresponding to VPCs defined by a sitemap.

Implementing VPCs then becomes rather trivial, including their 
inheritance in subsitemaps.

Now, if we want to implement them as regular components, things starts 
to be a bit more difficult. These components will be wrappers around the 
VPC's ProcessingNode, creating a subpipeline on setup() and returning 
the pipeline's key and validity as the component's key and validity. 
That subpipeline will not be a complete one, depending if the VPC is a 
G, T or S (will be a full one for a virtual reader).

So the question is: is it necessary to expose VPCs as regular 
components. Furthermore, although possible, is it "legal" to lookup 
sitemap components from somewhere else than in the sitemap engine?


PS: I'm currently on vacation, so won't be as responsive as usual on hot 

Sylvain Wallez                                  Anyware Technologies 
{ XML, Java, Cocoon, OpenSource }*{ Training, Consulting, Projects }

View raw message