How would plugins work with the chain configuration?
I've written ActionServlet/RequestProcessor extensions and plugins in the past. Often, the reason is to inject custom pre-, actual, or post-processing at specific steps. An example would Tiles, which IIRC intercepts the forward processing to see if the destination is a configured tile, otherwise lets the default forward processing continue.
It would be nice if plugins can inject chain elements at specific points in the chain at startup, programatically. This way, plugins can be programmed to modify specific portions of the chain that it is concerned with, without affecting other portions of the chain or modifications of other plugins.
I don't think you could do this with zero modifications to the chain-config, but it would be easy enough to add one or more LookupCommands like the one in the current example chain-config which look for injected commands under specific names and in specific catalogs. If you thought that there were some clear logical ways to group the base chain-config.xml, we could have it run as a series of lookup commands. I already am thinking that we should partition it into an "action-chain" and "view-chain", but maybe it should be more finely grained?
On the other hand, why not just specify an alternate chain-config file which does exactly what you need it to do?
Or are you looking for a more comprehensive and flexible solution, like Maven's "preGoal" and "postGoal" definitions which allow you to add arbitrary goals anywhere. This would be tricky right now because commands aren't required to have names.
Joe
--
Joe Germuska [EMAIL PROTECTED] http://blog.germuska.com
"Narrow minds are weapons made for mass destruction" -The Ex