Hmm...ok. The reason I took it out was it was initializing the framework twice, but I can see how we would need it. If you have a chance, please readd your fix, but try to find more explicit names for the dispatchers and very clearly document the logic so it is easier to grasp. If you don't have time, I may be able to get to it next week.

Thanks,

Don

tm jee wrote:
Could you go into detail why the cleanup filter needs to initialize the dispatcher?

Yup sure. :)

ActionContextCleanUp and FilterDispatcher both keeps a copy of Dispatcher, and put them in thread local only if one doesn't exists yet. The order of filters when using sitemesh would be
1] ActionContextCleanUp
2] Sitemesh Filter
3] Dispatcher Filter

This is such that ActionContextCleanUp when present, would have the Dispatcher setup so Sitemesh will have access to Struts2 / WebWork internals.
Previously, the logics of setting up the dispatcher (the encoding stuff etc.) 
are in both FilterDispatcher and ActionContextCleanUp, the AbstractFilter moves 
those commons logics to itsef such that they are not repeated in both 
FilterDispatcher and ActionContextCleanUp.

p/s hopefully i get the logics correct. ;)

rgds




Don Brown <[EMAIL PROTECTED]> wrote: Yeah, I did have to put the filters back to their original state. I found the _dispatcher and dispatcher variables really confusing and I'm not sure I understand the original usecase why the cleanup filter needs to have a dispatcher instance at all. Could you go into detail why the cleanup filter needs to initialize the dispatcher?

Don

tm jee wrote:
Hi guys, There might be a fix releated to this (https://issues.apache.org/struts/browse/WW-1489) that seems to be broken. WW-1489 abstracted the common logic from both DispatcherFilter and ActionContextCleanUp to an Abstract filter. With the latest commit, FilterDispatcher is put back to its old state (plus the new DI code) and AbstractFilter was deleted.
I guess its ok to revert back to the old state but ActionContextCleanUp is not 
reverted totally to its old state, such that it doesn't initialize Dispatcher 
etc. The consequence i guess would be that sitemesh will not have access to 
struts2 value stack etc. Is this the itended behaviour or am i missing 
something?

Tia

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



Send instant messages to your online friends http://uk.messenger.yahoo.com


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

Reply via email to