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

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

Britta Katzenbach created WW-4912:
-------------------------------------

             Summary: 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


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:

<package name="default" extends="tiles-default"  namespace="/„ >
    ...
    <global-allowed-methods> abort,execute,search,reset,download,refresh,delegate,forward,release,saveComments </global-allowed-methods>
</package>

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 \{...}

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)