[
https://issues.apache.org/jira/browse/WW-4744?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15865238#comment-15865238
]
Yasser Zamani commented on WW-4744:
-----------------------------------
Thanks! why does it should? here, I myself prefer to respect user defined
access modifiers instead of make an off-topic complicated processing which
AnnotationWorkflowInterceptor was not made for that.
Anyway we may update docs to warn user about accessibility of annotated methods.
wdyt?
> AnnotationWorkflowInterceptor should supports non-public annotated methods
> --------------------------------------------------------------------------
>
> Key: WW-4744
> URL: https://issues.apache.org/jira/browse/WW-4744
> Project: Struts 2
> Issue Type: Improvement
> Components: Core Interceptors
> Reporter: zhouyanming
>
> {code:java}
> @Before
> protected String prepare(){
> //TODO
> return null;
> }
> {code}
> [https://github.com/apache/struts/blob/master/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationWorkflowInterceptor.java#L115]
> {code:java}
> List<Method> methods = new
> ArrayList<>(AnnotationUtils.getAnnotatedMethods(action.getClass(),
> Before.class));
> {code}
> [https://github.com/apache/struts/blob/master/core/src/main/java/com/opensymphony/xwork2/util/AnnotationUtils.java#L123]
> {code:java}
> for (Method m : clazz.getMethods())
> {code}
> clazz.getMethods() only return public methods, so method "prepare" will be
> excluded, and protected modifier is a good practice for intercept method.We
> should improve AnnotationUtils.getAnnotatedMethods() to return all methods.
> Perhaps use an ConcurrentHashMap as cache is much better.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)