At 9:36 AM -0700 4/23/05, Martin Cooper wrote:
On 4/22/05, Joe Germuska <[EMAIL PROTECTED]> wrote:
 >+1 to all that. Do we need / want to get the docs divided out into the
 >subprojects before we do 1.3.0, or are people happy enough to leave
 >them all dumped in 'core' for now?

 I think it would be better to cut 1.3.0 and know the docs need work
 than to wait, unless someone is ready to swing into action on the
 docs.  I don't think anyone really expects 1.3.0 to be the first GA
 release, and I don't think that's anything to be ashamed of.


> > I can't think of anything we really wanted to (or need to) get done >> that is blocking a release, >
 > >There is one blocker right now: We need Commons Chain 1.1 released. At
...>
 > If I recall, this is more a nice-to-have than a requirement, although
 if we want to hold 1.3.0 until that happens, that's OK.  Certainly
 Struts 1.3 works with Chain 1.0.

I haven't checked the code in trunk to see if / how this is handled now, but there is a problem with exception handling in the way ChainAction works in 1.2.6. To get it to work, you need to copy the 'servlet-exception' chain into the default catalog. Otherwise it's not found and you get a worse exception than you started with. ;-)

I don't think this is the case any more; in my current app, which is built on top of a 1.3.0 dev build from a few weeks ago, exceptions in the chain processing flow are being caught and correctly handled by the declarative exception handling mechanism. The only thing I noted (and I filed a Bugzilla ticket looking for comments) was that DispatchCommand throws InvocationTargetException, which makes it incompatible with declarative exception handling; in a local subclass I'm catching that one exception and throwing its cause, and I think that's probably the correct behavior for DispatchCommand (and probably DispatchAction in Struts as well).


What you have to make sure to do, though, is to indicate the lookup catalog as well as the lookup command in the base chain: below is copied from the current default chain, which does it correctly:

      <!-- Establish exception handling filter -->
      <command
          className="org.apache.struts.chain.commands.ExceptionCatcher"
        catalogName="struts"
   exceptionCommand="servlet-exception"/>

It's true that the struts-chain package kind of caught-up late to the CatalogFactory model that was introduced to Commons Chain.

What we'll get with a full 1.1 release of commons-chain is the syntax by which a CatalogFactory can parse a single string to return a command from a specific catalog, to eliminate the need to push around a pair of values all the time, and the DispatchCommand, which I am pretty sure isn't to your taste anyway, Martin ;-)

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]



Reply via email to