The AnnotationActionValidatorManager does not adhere to the 
ActionValidatorManager interface's contract
-------------------------------------------------------------------------------------------------------

                 Key: WW-3753
                 URL: https://issues.apache.org/jira/browse/WW-3753
             Project: Struts 2
          Issue Type: Bug
            Reporter: Rees Byars
            Priority: Minor


An ActionValidatorManager accepts a java.util.String "context" parameter for 
identifying the appropriate configurations.  In the 
AnnotationActionValidatorManager's buildValidatorKey() method, however, 
"proxy.getMethod()" is used instead of the passed-in context.  This violates 
the contract of the interface and tightly couples the 
AnnotationActionValidatorManager to the AnnotationValidationInterceptor.  

I have a situation whereby I have created my own validation interceptor for a 
special case that passes in a context not derived from proxy.getMethod(), only 
to find that this context isn't used properly by the manager.  I then created 
my own manager, changing only the buildValidatorKey() to use the given context, 
and it works well. 

Either the ActionValidatorManager should be changed to no longer accept a 
context parameter and handle the context itself in every case (which seems to 
not be the best solution), or the AnnotationActionValidatorManager should be 
changed to use the given context in every case.  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to