You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Yasser Zamani (JIRA)" <ji...@apache.org> on 2018/01/30 09:53:00 UTC

[jira] [Resolved] (WW-4912) Allowed methods inheritance

     [ https://issues.apache.org/jira/browse/WW-4912?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Yasser Zamani resolved WW-4912.
-------------------------------
    Resolution: Fixed

PR got merged. Thanks!

> 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)