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)

Reply via email to