yes I'm also really sure it must get resolved as per the spec. The question is just which proxy you get once there is also a normal scope on the class
@Named @Typed @ApplicationScoped public class MyBla extends SomeComplicatedThing implements AFewInterfaces { ... } LieGrue, strub > Am 11.09.2017 um 09:41 schrieb Arne Limburg <arne.limb...@openknowledge.de>: > > Quick look into the spec > http://docs.jboss.org/cdi/spec/2.0/cdi-spec.html#name_resolution > > @Named > > @Typed() > > seems to be valid and the bean should be found by EL. > > ________________________________ > Von: Romain Manni-Bucau <rmannibu...@gmail.com> > Gesendet: Montag, 11. September 2017 09:31:38 > An: openwebbeans-dev > Betreff: Re: Odd behavior in InjectionPointProducer > > Not sure it is 100% related but looks like a bean without types so not even > sure @Named should be "matchable" since you dont match types at all (we > often used @Typed = @Vetoed in CDI 1.0) > > > Romain Manni-Bucau > @rmannibucau <https://twitter.com/rmannibucau> | Blog > <https://blog-rmannibucau.rhcloud.com> | Old Blog > <http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> | > LinkedIn <https://www.linkedin.com/in/rmannibucau> | JavaEE Factory > <https://javaeefactory-rmannibucau.rhcloud.com> > > 2017-09-11 9:29 GMT+02:00 Mark Struberg <strub...@yahoo.de.invalid>: > >> Btw, what I've seen quite a few times is the following: >> >> @Named >> @Typed() >> public class MyBla extends SomeComplicatedThing implements AFewInterfaces { >> ... >> } >> >> Means the @Typed got purely used to not have it picked up by type but only >> via EL. >> And in that case the proxy in Weld is most likely not working? >> Is this a valid use case? >> >> LieGrue, >> strub >> >>> Am 11.09.2017 um 09:23 schrieb Romain Manni-Bucau <rmannibu...@gmail.com >>> : >>> >>> Surely the one to test: >>> https://github.com/cdi-spec/cdi-tck/blob/master/impl/src/ >> main/java/org/jboss/cdi/tck/tests/lookup/injectionpoint/dynamic/ >> DynamicInjectionPointTest.java >>> >>> >>> Romain Manni-Bucau >>> @rmannibucau <https://twitter.com/rmannibucau> | Blog >>> <https://blog-rmannibucau.rhcloud.com> | Old Blog >>> <http://rmannibucau.wordpress.com> | Github <https://github.com/ >> rmannibucau> | >>> LinkedIn <https://www.linkedin.com/in/rmannibucau> | JavaEE Factory >>> <https://javaeefactory-rmannibucau.rhcloud.com> >>> >>> 2017-09-11 9:20 GMT+02:00 Arne Limburg <arne.limb...@openknowledge.de>: >>> >>>> I'm with Mark here, >>>> >>>> InjectionPoint#getType() should return a ParameterizedType Instance<Foo> >>>> >>>> So in the code below we simply should return parameterizedType I think. >>>> >>>> Would that pass the TCK? If yes, we definitely should file a TCK issue, >>>> there seems to be a test missing. >>>> >>>> >>>> Cheers, >>>> >>>> Arne >>>> >>>> ________________________________ >>>> Von: Mark Struberg <strub...@yahoo.de.INVALID> >>>> Gesendet: Montag, 11. September 2017 09:04:41 >>>> An: openwebbeans-dev >>>> Betreff: Re: Odd behavior in InjectionPointProducer >>>> >>>> Hmm, if you have a class >>>> >>>> public class Bla { >>>> private @Inject Instance<Foo> myInstance; >>>> } >>>> >>>> then I'd asssume that the InjectionPoint.getType for myInstance would be >>>> Instance<Foo> and not Foo alone. >>>> >>>>> The problem is that Bean.getBeanClass() can never be null, by >> definition, >>>>> but also should not be used for type safe resolution (we actually had a >>>>> discussion about this on the EG list as I had the opposite belief). >>>> >>>> Yes, there was a discussion which never got finished... >>>> >>>> Weld guys assume that they can infere the proxy type of a bean just by >>>> getTypes(). >>>> I don't believe that. Especially if @Typed is involved or if the real >>>> AnnotatedType got modified then it is definitely not possible. >>>> At least it's pretty expensive to detect. Would get my head around it >>>> again tbh. >>>> >>>> In OWB we introduced an own method getReturnType() in OwbBean. >>>> This get's evaluated and cached based on a few criteria. >>>> Most of the time it simply uses the getBeanClass() type. >>>> >>>> I'll have to dig deeper into your sample to understand what you wanted >> to >>>> do with it. >>>> >>>> Could you probably put your use case in an OWB unit test and ship it as >>>> patch? >>>> >>>> The only thing you have to do is to extend AbstractUnit test and then >> use: >>>> startcontainer(ClassX.class, ClassY.class, ...); >>>> >>>> >>>> txs and LieGrue, >>>> strub >>>> >>>> >>>> >>>> >>>> LieGrue, >>>> strub >>>> >>>>> Am 10.09.2017 um 22:54 schrieb John D. Ament <johndam...@apache.org>: >>>>> >>>>> Hi, >>>>> >>>>> I'm running some tests locally using OWB and Instance objects. I >> noticed >>>>> that when the injection point is Instance<Foo> and I attempt to get an >>>>> injectable reference to the InjectionPoint, I get a very odd value for >>>>> InjectionPoint.getType(). As far as I understand it, this value should >>>> be >>>>> the type being injected into, e.g. Foo in my case. What I actually get >>>>> back is the value of Bean.getBeanClass(). That makes very little >> sense. >>>>> As best as I can tell, the following code snippet is the cause: >>>>> >>>>> if (ParameterizedType.class.isInstance(type)) >>>>> { >>>>> ParameterizedType parameterizedType = >>>>> ParameterizedType.class.cast(type); >>>>> if (parameterizedType.getRawType() == Instance.class) >>>>> { >>>>> Bean<InjectionPoint> bean = >>>>> creationalContextImpl.getBean(); >>>>> return new InjectionPointDelegate( >>>>> injectionPoint, >>>>> bean.getBeanClass() != null ? >>>>> bean.getBeanClass() : parameterizedType.getActualTypeArguments()[0]); >>>>> } >>>>> } >>>>> >>>>> The problem is that Bean.getBeanClass() can never be null, by >> definition, >>>>> but also should not be used for type safe resolution (we actually had a >>>>> discussion about this on the EG list as I had the opposite belief). >> But >>>> I >>>>> do believe that the else value is in fact what should always be used, I >>>>> always should be getting the expected parameterized value. >>>>> >>>>> If you guys agree, I can submit a patch to fix this. >>>>> >>>>> John >>>> >>>> >>>> . >>>> >> >>