[weld-issues] [JBoss JIRA] Commented: (CDITCK-178) DecoratorDefinitionTest.testDecoratedTypes() asserts that a superinterface of the decorator bean class is not a decorated type.

David Jencks (JIRA) jira-events at lists.jboss.org
Sun Nov 14 19:36:43 EST 2010


    [ https://jira.jboss.org/browse/CDITCK-178?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12563290#comment-12563290 ] 

David Jencks commented on CDITCK-178:
-------------------------------------

There's an additional problem here.  Section 8.1.3 says ...
The delegate type of a decorator must implement or extend every decorated type (with exactly the same type parameters).

However FooBar does not extend Boo.  If the container checks the 8.1.3 rule the war for this test will not deploy.  Changing FooBar to extend Boo satisfies the check.

> DecoratorDefinitionTest.testDecoratedTypes() asserts that a superinterface of the decorator bean class is not a decorated type.
> -------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CDITCK-178
>                 URL: https://jira.jboss.org/browse/CDITCK-178
>             Project: CDI TCK
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Tests
>    Affects Versions: 1.0.1.Final
>            Reporter: Alexey Kazakov
>            Assignee: Marius Bogoevici
>             Fix For: 1.0.2.CR3, 1.1.0.CR1
>
>
> See
>    public void testDecoratedTypes() 
>    { 
>       List<Decorator<?>> decorators = getCurrentManager().resolveDecorators(FooBar.TYPES); 
>       assert decorators.size() == 1; 
>       assert decorators.get(0).getDecoratedTypes().size() == 3; 
>       assert decorators.get(0).getDecoratedTypes().contains(Foo.class); 
>       assert decorators.get(0).getDecoratedTypes().contains(Bar.class); 
>       assert decorators.get(0).getDecoratedTypes().contains(Baz.class); 
>       assert !decorators.get(0).getDecoratedTypes().contains(Serializable.class); 
>       assert !decorators.get(0).getDecoratedTypes().contains(FooDecorator.class); 
>       assert !decorators.get(0).getDecoratedTypes().contains(AbstractFooDecorator.class); 
>       assert !decorators.get(0).getDecoratedTypes().contains(Boo.class); 
>    } 
> But Boo is a superinterface of FooDecorator (not a superclass). And according of JSR-299 8.1 it's a decorated type:
> 8.1. Decorator beans 
> A decorator is a managed bean. The set of decorated types of a decorator includes all bean types of the managed bean which are Java interfaces, except for java.io.Serializable.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the weld-issues mailing list