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

ASF GitHub Bot commented on WW-4912:
------------------------------------

lukaszlenart opened a new pull request #206: WW-4912: scan package-info and 
class at the same time
URL: https://github.com/apache/struts/pull/206
 
 
   This change allows to define `AllowedMethods` in `package-info.java` and all 
class level and all those annations will be examined to build set of allowed 
methods.
   
   Fixes [WW-4912](https://issues.apache.org/jira/browse/WW-4912)

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


> Allowed methods inheritance
> ---------------------------
>
>                 Key: WW-4912
>                 URL: https://issues.apache.org/jira/browse/WW-4912
>             Project: Struts 2
>          Issue Type: Improvement
>    Affects Versions: 2.5.14.1
>            Reporter: Britta Katzenbach
>            Assignee: Lukasz Lenart
>            Priority: Minor
>             Fix For: 2.5.15
>
>
> As we use a lot of inheritance on action classes we would appreciate, if the 
> allowed methods would be inherited as well.
> For example:
> We do not declare actions in struts.xml and just use the Convention.
> struts.xml:
> {code:xml}
> <package name="default" extends="tiles-default"  namespace="/„ >
>     ...
>     <global-allowed-methods> 
> abort,execute,search,reset,download,refresh,delegate,forward,release,saveComments
>  </global-allowed-methods>
> </package>
> {code}
> Java:
> {code:java}
> @AllowedMethods(value = \{"changeLanguage", "deleteAttachment", 
> "uploadMailAttachment"})
> public class SpecifyMailTask extends AbstractTask {
> @AllowedMethods(value = \{"saveInputAndSuccess"})
> public abstract class AbstractTask extends AbstractBasicJbpmTask implements 
> ModelDriven<TaskModel>, Preparable \{...}
> @AllowedMethods(value = { "abort", "cancel", "claim", "claimAndStart", 
> "claimAndSkip", "complete", "delegate", "forward",
>         "incomplete", "release", "skipAndComplete", "start", "suspend", 
> "uploadTaskAttachment"})
> public abstract class AbstractBasicJbpmTask extends AbstractCrmAction 
> implements ModelDriven<TaskModel>, Preparable \{...}
> {code}
> I tried to add the allowed methods in the package-info.java. It worked as 
> long as I did not add an additional method to a certain action, i.e. 
> SpecifyMailTask. If I add here the annotation to allow the methods 
> "changeLanguage", "deleteAttachment", "uploadMailAttachment" additionally, 
> the other methods, which are allowed via the package-info.java, are not 
> allowed anymore.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to