continuum-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Trygve Laugstøl <tryg...@codehaus.org>
Subject Re: [Proposal] Continuum refactoring
Date Tue, 13 Dec 2005 20:47:13 GMT
On Tue, 2005-12-13 at 16:10 +0100, Emmanuel Venisse wrote:
> Hi,
> 
> I'd like to know your opinions about the continuum refactoring for 1.1
> 
> What we'll do?
> 
> Replace plexus-summit/velocity by JSP/WebWork/SiteMesh
> 
> What i'd like to do?
> 
> Actually, DefaultContinuum class is our centralized code class. With a framework like
webwork, i 
> think we can improve the architecture by splitting it with this :

Sorry, but I don't see the gain. The whole idea of having a single
Continuum interface was to make the application easier to write as all
non-core parts would simply call a method in this interface to do it's
job. 

I realize that it might be a big interface and that most of it's methods
are just delegating and if that is the real issue here I agree that it
should be split up into several smaller, more narrow scoped interfaces.

> - all data manipulations (CRUD) will be in several DAO classes

Re what I wrote about, we could just expose the store interface in the
actions. I really don't like the DAO pattern and I do not think that it
will not help us reducing the rather complex object model that we have
now.

> - all utility methods (is*InQueue, checkoutProject, buildProject* will be in several
utility classes 
> (or action classes in webwork terms)

Utility methods can be moved out, but checkoutProject and buildProject()
are not utility methods.

> - in DefaultContinuum, we'll keep only initialization methods
>
> With this refactoring, i think it will be more easy to migrate to webwork, and maintenance
will be 
> more easy.

What's hard with the current architecture when it comes to moving to
webwork? 

Webwork's (or xwork's) action concept is very similar to what we have
today. If we make all the actions we have today implement xwork's Action
interface, add a implementation of execute() that just calls the
execute( Map ) method with a Map implementation that's a facade to the
servlet request we should be pretty much there. Mapping the resulting
Map back to the Velocity context should also be fairly easy.

> WDYT?

I'm not against a re-organization of Continuum at all, I'd just like to
hear what you're trying to achieve with the re-factoring. I always
though that moving to webwork should be a pretty easy task given the
similarity between Plexus' and xwork's Action interfaces and ideas.

Hopefully I'll come back with some more code instead of just whining
pretty soon :) I've done some LDAP work so the first (small) thing I'll
do is probably to implement the LDAP-based authentication.

--
Trygve


Mime
View raw message