What is the expected result for following 2 decorators? -------------------------------------------------------
Key: OWB-435 URL: https://issues.apache.org/jira/browse/OWB-435 Project: OpenWebBeans Issue Type: Question Components: Interceptor and Decorators Reporter: YING WANG Assignee: Gurkan Erdogdu Priority: Minor While I am testing 2 decorators decorate the same getName() method of UserBean, I found the result is: 1. "UserDecorator1(UserDecorator2(MYNAME)) " <== Did call UserDecorator1.getName() first, but before it finishes, it recursively invokes the UserDecorator2.getName() on the calling stack. 2. or should the result be: "UserDecorator2(MYNAME)" <==== should decorator2's result overwrite decorator1's? 3. or should the result be: "UserDecorator2(UserDecorator1(MYNAME)) " <==== should decorator1's result to the one used for decorator2? I prefer 3, but I am not sure which result is the correct one.... ===================Userbean ======================== public class UserBean implements UserInterface, Serializable { public String getName() { return "MYNAME"; } } ===================UserDecorator1 ======================== @Decorator public abstract class UserDecorator1 implements UserInterface, Serializable { @Inject @Delegate @Any UserInterface ui; public String getName() { return "UserDecorator1(" + ui.getName() + ")"; } } ===================UserDecorator2 ======================== @Decorator public abstract class UserDecorator2 implements UserInterface, Serializable { @Inject @Delegate @Any UserInterface ui; public String getName() { return "UserDecorator2(" + ui.getName() + ")"; } } ======================================================== <decorators> <class>com.jcdi.test.UserDecorator1</class> <class>com.jcdi.test.UserDecorator2</class> </decorators> -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.