At 12:41 PM -0700 9/1/05, Don Brown wrote:
Hmm...well there are three main issues we are discussing here,
although you mention at the end they do have some overlap:
1. Framework-level request processing
2. Action-level processing
3. Application-level page flow/workflow
When was referring to commons-chain being a poor match for workflow
I was primarily talking about #1. Examples of this include how
Struts Classic commands have all sorts of ugly logic in them to skip
themselves if an object isn't found in the context. This seems
fine...
I don't really think it seems fine, but I don't think this is endemic
to commons-chain; I think it's just a naive implementation of the
original translation of the RequestProcessor to commons-chain. (No
offense meant by the term "naive".)
That said, while I've had some ideas about how to do it better, I'm
not sold on any of them, so maybe commons-chain still doesn't deal
with this extremely well. And as I write this, I realize that your
point, Don, is that one could probably do it all with commons-chain,
but that XML is not a very nice way to define everything that needs
to happen, and object-level composition is also likely to be awkward
for some of these kinds of things. For example, a conditional lookup
command which dealt with 2..n possible branches would be difficult to
configure simply by setting bean properties upon a generic "branch
command". (At least, I think this is your point, or part of it...)
Still, Struts 1.3 could have a cleaner default RP chain, and I feel
that it exposes the RP process adequately for customization, but it
seems clear that it will still be at least a "journeyman" level task
for someone to make modifications to the chain, particularly given
how tightly coupled local modifications are to the Struts base
process. (It would be nice to have some "advice" like way to
decorate the chain, as with Maven preGoal and postGoal, but I haven't
thought of a way I'd propose to do that without substantially
reorganizing commons-chain's basic model. For a while Bob McWhirter
was distributing werkz, which I think is the core of Maven 1.x's
process, but that seems to have disappeared from werken.com or
codehaus.org.)
Joe
--
Joe Germuska
[EMAIL PROTECTED]
http://blog.germuska.com
"Narrow minds are weapons made for mass destruction" -The Ex
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]