cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ugo Cei <>
Subject Re: [RT] Some notes about the "Real Blocks" issue
Date Thu, 14 Oct 2004 16:37:18 GMT
Il giorno 14/ott/04, alle 18:09, Vadim Gritsenko ha scritto:

> Other question I have is what we are going to do with the component  
> base we developed and depend on which currently resides in excalibur  
> repository. Should those be copied into Cocoon repository (and  
> springified as needed?)?

Things like the SourceResolver, you mean? I have already "springified"  
it and put it (or at least a simplified version of it) here: 

Actually, I don't like the term "springified". I'd rather say  
POJO-ified, since it has just one dependency upon Spring's  
ApplicationContext (which is needed to resolve paths relative to a  
context's base directory). Maybe there's a way to eliminate even that  
one, but I just did the simplest possible implementation.

This is also meant as a response to Stefano's concerns about depending  
on an alien framework. Once again, I am trying to show that, once you  
have swallowed the Dependency-Injection kool-aid, your components have  
very limited dependencies on the framework, or even none at all. So we  
can design generators, transformers, serializers, etc. that can be  
deployed _today_ in any existing DI container, and tomorrow in our own  
container that is designed specifically and optimized for our needs,  
without rewriting a single line of code! If you take a look at the  
sitemap components that are now in Butterfly, you will find exactly  
ZERO dependencies on Spring. And they work, even if in a simplified  
scenario, but you can get a fscking HTML response from the Butterfly  
servlet using a generator-transformer-serializer pipeline NOW.  
Admittedly, it's more of a proof of concept than a usable thing  
(there's no caching, no sitemap processor, etc.) but it shows it can be  

I could have started by doing my own container (after all, it's not  
rocket science, right?) and today I would be nowhere near where I am,  
given the copious free time I have available. Or I could have used the  
best DI container around and got some real work done. What would have  
you done in my place?


Ugo Cei -

View raw message