It's possible to delegate to a previously defined chain (or command) already, if you do two things:
* (Optional) you don't need <chains> any more ... that was there in the original examples solely to satisfy XML's requirement for a single root element. * Use the existing lookup command to delegate execution to the foobar chain: <command catalog="..." name="foobar.chain" className="org.apache.commons.chain.generic.LookupCommand"/> which causes foobar.chain to be looked up and executed. Looking at this, though, we'll probably want to clean up some of the existing command definitions that currently assume a catalog is present in the context ... thanks to CatalogFactory that is no longer necessary, so we can change that to optionally specify a catalog name (with a default to the standard one). In struts-chain there's an example of this sort of thing in the 'servlet-complete' chain. Craig On Thu, 21 Oct 2004 10:31:24 -0400, Sean Schofield <[EMAIL PROTECTED]> wrote: > I had an idea about how we could improve the default configuration of > commons-chain. It would be nice if we could have the following > catalog.xml: > > <catalog> > <chains> > <chain name="foobar.chain"> > <command name="foo" className="Foo"/> > <command name="bar" className="Bar"/> > </chain> > <chain name="biz.chain"> > <chain name="foobar.chain"> > <command name="biz" className="Biz"/> > </chain> > </chains> > </catalog> > > The idea is that once a chain has been created through the Digester it > is available for subsequent chains that need to be created. Thus you > could reference an existing chain (as is done in the "biz.chain"). > > This way you could reuse chains as you see fit. This could come in > handy eventually in the struts-chain project. You could group several > related commands together and then offer different chain combinations > to the user depending on what they need. > > Any thoughts on that? > > sean > > --------------------------------------------------------------------- > 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]