cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sylvain Wallez <sylv...@apache.org>
Subject Migrating Processor & Pipeline to ServiceManageable
Date Fri, 09 Jul 2004 16:18:41 GMT
Hi all,

In preparation to the Fortress migration, I'm currently moving all 
TreeProcessor code to ServiceManager/ServiceSelector, doing also some 
code simplification along the way.

I found some places however where strong dependencies on 
ComponentManager/ComponentSelector exist:

1/ AbstractProcessingPipeline, which relies on Recomposable to know 
where to get the pipeline components from.
2/ SitemapComponentSelector/OutputComponentSelector which provide 
additional methods to the raw ComponentSelector

The current solution for 1/ is to use a WrapperComponentManager to 
translate SM->CM. This allows moving this part to SM later.

For 2/ however, moving to SM is more difficult, as it means changing the 
base interface to ServiceSelector to avoid these objects to be wrapped 
in a ServiceSelector that would hide the additional methods.

The only solution I see so far is to migrate the whole thing (i.e. 
pipelines included) to ServiceManager, but this means changing some base 
classes in lot of places. I consider all these classes to be internal to 
the Cocoon engine, but some advanced users out there may have written 
their own pipeline implementations that will be broken with these changes.

WDYT?

<rant>
The move from CM to SM is IMO one the biggest mistakes that has been 
made in Avalon, especially considering that the interfaces differ by a 
method return type (Object vs Component), therefore totally forbidding 
the writing of classes that implement both interfaces.
</rant>

Sylvain

-- 
Sylvain Wallez                                  Anyware Technologies
http://www.apache.org/~sylvain           http://www.anyware-tech.com
{ XML, Java, Cocoon, OpenSource }*{ Training, Consulting, Projects }


Mime
View raw message