struts-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brad Cupit (JIRA)" <j...@apache.org>
Subject [jira] Issue Comment Edited: (WW-2587) @SkipValidation not found on superclass method
Date Mon, 14 Apr 2008 13:09:05 GMT

    [ https://issues.apache.org/struts/browse/WW-2587?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43615#action_43615
] 

bradcupit edited comment on WW-2587 at 4/14/08 6:07 AM:
---------------------------------------------------------

Sounds good. By having both implemented in the same place in code, we don't have to worry
about two different implementations getting out of sync. Does this bug need to be filed in
the xwork JIRA?

      was (Author: bradcupit):
    Sounds great to me. By having both implemented in the same place in code, we don't have
to worry about two different implementations getting out of sync. Does this bug need to be
filed in the xwork JIRA?
  
> @SkipValidation not found on superclass method
> ----------------------------------------------
>
>                 Key: WW-2587
>                 URL: https://issues.apache.org/struts/browse/WW-2587
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Core Interceptors
>            Reporter: Brad Cupit
>
> The SkipValidation annotation is a great addition, but it would be nice if it was found
on super class methods (i.e. the method being overridden) and/or interfaces.
> I have a CGLIB-generated proxy for my Action (created by Spring) so the SkipValidation
annotation is never found, since CGLIB-proxies extend the class they proxy.
> Admittedly, this is more of a problem with CGLIB, than with Struts2, however if @SkipValidation
were allowed on methods in interfaces or superclasses, my problem would be solved.
> Unfortunately, the validation annotations (like @RequiredStringValidator), are found
on super classes. So the net effect is that my SkipValidation annotation is not found, but
the validation annotations are, which means validation is occurring when it shouldn't.
> potential workarounds:
> a) use one action method per Action so validation can always be done for that entire
class, or
> b) use excludeMethods param when configuring the validation interceptor in struts.xml
> Note that for option b) to work with zero-configuration, the @ParentPackage annotation
must be applied to the Action class that will use the package defined in struts.xml
> Ideal fix:
> The AnnotationValidationInterceptor#doIntercept(ActionInvocation) method would check
for the SkipValidation annotation on the method being overridden. This would not only fix
the CGLIB-proxy issue, but would also allow SkipValidation to be used on interfaces and superclasses.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message