StripesRuntimeException thrown in AnnotatedClassActionResolver when overriding 
handler but returning a subclass of the original method
--------------------------------------------------------------------------------------------------------------------------------------

                 Key: STS-696
                 URL: http://www.stripesframework.org/jira/browse/STS-696
             Project: Stripes
          Issue Type: Bug
          Components: ActionBean Dispatching
    Affects Versions: Release 1.5.1, Release 1.5
         Environment: Java 1.5.0_19
            Reporter: Paul White


A net.sourceforge.stripes.exception.StripesRuntimeException is thrown in error 
at:

net.sourceforge.stripes.controller.AnnotatedClassActionResolver.processMethods(AnnotatedClassActionResolver.java:226)

The exception message is "The ActionBean class <classname? declares multiple 
event handlers for event '<eventname>'"

This occurs when processing methods for an actionBean that overrides a super 
class handler with a method returning a subclass of the original method (eg 
RedirectResolution overriding Resolution). The reason for the error is that 
AnnotatedClassActionResolver.processMethods is not expecting 
class.getDeclaredMethods() to include bridge methods. I will attach a test case 
that displays the problem.

Workaround is to refactor subclasses to return Resolution rather than 
ForwardResolution, RedirectResolution etc but it's valid in Java to override 
methods this way so it should be supported ideally.

The solution is to change AnnotatedClassActionResolver.java, line 220 as 
follows:

if ( Modifier.isPublic(method.getModifiers()) && !method.isBridge() ) {

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://www.stripesframework.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

------------------------------------------------------------------------------
_______________________________________________
Stripes-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-development

Reply via email to