Thomas Herzog created OWB-861:
---------------------------------

             Summary: Decorator building fails when decorator has inheritance
                 Key: OWB-861
                 URL: https://issues.apache.org/jira/browse/OWB-861
             Project: OpenWebBeans
          Issue Type: Bug
          Components: Interceptor and Decorators
    Affects Versions: 1.1.8
            Reporter: Thomas Herzog
             Fix For: 1.1.8


When there is a decorator which inherits from a base implementation.

BaseDecorator - BaseModuleDecorator - ServiceDecorator(abstract) where the 
ServiceDecorator injects the delegate.
It does not matter if the BaseDecorator or BaseModuleDecorator are abstract or 
not.
The base decorators hold common resources for the concrete decorator 
implementation.

The BaseDecorator is not removed from the 'decoratedTypes - set' but the 
BaseModuleDecorator is.

This happens in 
org.apache.webbeans.component.creation.DecoratorBeanBuilder#defineDecoratedTypes(line:
 189 - 196)

{code:title=""}
..
        Type superClass = beanClass.getGenericSuperclass();
        while (superClass != Object.class)
        {
            decoratedTypes.remove(superClass);
            superClass = superClass.getClass().getGenericSuperclass();
        }
        decoratedTypes.remove(Object.class);
        decoratedTypes.remove(java.io.Serializable.class); /* 8.1 */
..
{code}

Is a decorator not supposed to inherit from another class ?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to