[ https://issues.apache.org/jira/browse/OWB-435?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gurkan Erdogdu closed OWB-435. ------------------------------ Resolution: Fixed Issues will be tracked via new tickets. > 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.