You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openwebbeans.apache.org by "Mark Struberg (JIRA)" <ji...@apache.org> on 2010/03/01 17:29:06 UTC

[jira] Commented: (OWB-289) Owb return 2 beans for Indirect specialized producer beans

    [ https://issues.apache.org/jira/browse/OWB-289?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12839739#action_12839739 ] 

Mark Struberg commented on OWB-289:
-----------------------------------

The problem seems to be that the AbstractProducerBean#ownerComponent of a ProducerMethodBean points to the class in which this producer method is defined. And in AbstractOwbBean#getBeanClass() we use comp.getParent().getBeanClass(); on this class

So if we have a 

public class TypeA {
  public @Produces TypeB createB(){..}
}

then the getBeanClass of  ProducerMethodBean for TypeB will return TypeA and not TypeB.
This is simply wrong.

For debugging this please set a Breakpoint in AbstractOwbBean#getBeanClass line 256.
Then start the SpecializesProduer1Test.Instead of getting 'int' you will see SpezializesProducer1.

> Owb return 2 beans for Indirect specialized producer beans
> ----------------------------------------------------------
>
>                 Key: OWB-289
>                 URL: https://issues.apache.org/jira/browse/OWB-289
>             Project: OpenWebBeans
>          Issue Type: Bug
>          Components: Injection and Lookup
>    Affects Versions: M3
>            Reporter: YING WANG
>            Assignee: Mark Struberg
>            Priority: Minor
>             Fix For: M4
>
>         Attachments: owb289.patch, owb289.test.jar
>
>
> The problem might be similar to 279 managed bean bug. 
> I have "@QualifierSpecialized IPen" bean being generated by 3 producers:
> DefaultPenProducer <-(extends/specialized producer) AdvancedPenProducer <-(extends/specialized producer) PremiumPenProducer 
> While query the bean "@QualifierSpecialized IPen", owb returns both beans generated in AdvancePenProducer and PremiumPenProducer class. (While we expected only bean generated by PremiumPenProducer should be returned)
> configureProducerSpecialization( ) might need some change to disable the override specialized producer bean.
> (testcase/patch will be uploaded later)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.