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.