Yes, that is the exact same issue and fix.

I take it that this issue wasn't high enough priority to be included in
previous xwork patch releases?


Aymeric Levaux wrote:
> 
> I reported a similar issue in Xwork JIRA months ago :
> http://jira.opensymphony.com/browse/XW-521
> The fix is identical.
> 
> -- 
> Aymeric 
> 
> PS: I'm not able to reply threads from my mail account, they're just
> ignored  (no errors). Any suggestions?
> 
> 
> MassimoH wrote:
>> 
>> I've isolated a Struts 2 bug and I would like to suggest a code fix. The
>> code fix is in an xwork class. I'm don't fully understand the
>> xwork/struts distinction, but I assume I'm posting to the right list.
>> 
>> Here is the error scenario:
>> 
>> - DefaultActionInvocation calls all Interceptors which wind onto the Java
>> call stack. Then DefaultActionInvocation calls the actual action itself.
>> The action returns "success"
>> - DefaultActionInvocation creates result object from this result code and
>> executes the result
>> - There is a problem in my FTL template, so FreeMarker throws a
>> ParseException
>> - Call stack unwinds to ExceptionMappingInterceptor which catches the
>> exception, adds to OGNL value stack and returns "unhandledException"
>> - DefaultActionInvocation simply re-executes the already created result
>> object based on the original Action result.
>> - The caching mechanism within FreeMarker detects a current timestamp and
>> will either throw a FileNotFoundException (if the page isn't cached) or
>> returns cached and out-of-date results. In either case, the original
>> exception is lost and never logged. My exception action is also never
>> executed.
>> 
>> This seems to be...
>> 
>> A small FreeMarker bug: it should rethrow ParseException when called a
>> second time.
>> A larger Struts 2 (or xwork) bug: Struts shouldn't ignore the first
>> exception and simply rerun the result object. When Struts catches the
>> original exception from the result, it should call the defined exception
>> action.
>> 
>> 
>> I suggest that the following three lines be removed from
>> DefaultActionInvocation.java, line 174:
>> 
>>      if (result != null) {
>>              return result;
>>      }
>> 
>> I've tested this and I get the desired behavior. My exception action is
>> called for the original exception. The xwork build reports no additional
>> automated test failures. I got four test failures trying to build the
>> standard xwork 2.0.4 distribution before making any changes, however my
>> code change didn't affect these results. 
>> 
>> 
>> Version Info
>> Java 1.6.0_02
>> Struts 2.0.9
>> xwork 2.0.4
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/struts-xwork-patch-submission.-Please-Review.-tf4558415.html#a13020278
Sent from the Struts - Dev mailing list archive at Nabble.com.


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

Reply via email to