struts-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lukasz Lenart (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (WW-4912) Allowed methods inheritance
Date Fri, 26 Jan 2018 07:47:00 GMT

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

Lukasz Lenart updated WW-4912:
------------------------------
    Description: 
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.

 

  was:
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.

 


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

Mime
View raw message