Not that I am an expert, nor is this the Command Chain a major issue for me,
but logic in configuration files (xml) is like writing LISP.  For some it is
a rare beauty, for others it foggy at best.

Edgar

> -----Original Message-----
> From: Paul Speed [mailto:[EMAIL PROTECTED] 
> Sent: Monday, October 06, 2003 7:57 PM
> To: Struts Developers List
> Subject: Re: Struts-chain Behavior Discussion
> 
> 
> 
> 
> Jing Zhou wrote:
> > 
> > ----- Original Message -----
> > From: "Paul Speed" <[EMAIL PROTECTED]>
> > To: "Struts Developers List" <[EMAIL PROTECTED]>
> > Sent: Monday, October 06, 2003 5:58 PM
> > Subject: Re: Struts-chain Behavior Discussion
> > 
> > >
> > >
> > > Jing Zhou wrote:
> > > >
> > > > ----- Original Message -----
> > > > From: "Paul Speed" <[EMAIL PROTECTED]>
> > > > To: "Struts Developers List" <[EMAIL PROTECTED]>
> > > > Sent: Monday, October 06, 2003 3:40 AM
> > > > Subject: Re: Struts-chain Behavior Discussion
> > > >
> > > > >
> > > > > (1) LookupCommand
> > > > > (2) ExceptionCatcher
> > > > > (3) SelectLocale
> > > > > (4) Process Action
> > > > >     (a) SelectAction
> > > > >     (b) CreateActionForm
> > > > >     (c) PopulateActionForm
> > > > >     (d) ValidateActionForm
> > > >
> > > > If validations fail in (d), the (e) and (f) are not necessary.
> > >
> > > Right, but then it can just stop that particular chain.  
> I was under 
> > > the impression that a chain can be aborted.  If validation fails 
> > > then the "Process Action" chain could abort and the main 
> chain would 
> > > continue on to "PerformForward".
> > >
> > > Incorporating Craig's comments about "SelectInput" on validation 
> > > failure are left as an exercise for the reader. ;)
> > 
> > I see what you mean. But the complexity is roughly the same 
> as or more 
> > than the original one in chain-config.xml. What I am 
> looking for is a 
> > simpler syntax to do the same thing without explicitly defining 
> > possible nested chains. See my previous message, an example 
> is given.
> 
> It's not so much about "complexity" as it is readability.  In 
> the above example, the main steps are pretty clear:
> 
> (1) LookupCommand
> (2) ExceptionCatcher
> (3) SelectLocale
> (4) Process Action
> (5) PerformForward
> 
> (For clarity, I might even lump the first three into their own chain.)
> 
> If I care what Process Action is then I can see the detail.  
> Goto's were deemed dangerous because of the behavior that 
> they hide.  They obfuscate the flow of the code.  It's not 
> really any different here either.
> 
> > > <command jumpLabel="L1" className="Class1" />
> > > <command jumpLabel="L2" className="Class2" />
> > > <command label="L1" className="Class3" />
> > > <command label="L2" className="Class4" />
> 
> I had a longer response prepared to your other post, but 
> decided it was too wordy. :)  One example where the 
> obfuscation comes in is that I had to look at it for a bit 
> before determining that Class4 was 
> always run.  If a few more commands are thrown in, it really 
> gets confusing.
> 
> -Paul
> 
> > 
> > >
> > > -Paul
> > 
> > Jing
> > 
> > 
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to