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.

Reply via email to