Damn, should have made an svn up, before I started ;-) I reviewed your fix and I am not happy with it. Lookup of the InjectionPoint should be possible from everywhere, where it is available (i.e. In a Constructor of a @Dependent bean) and not only from ThirdPartyBean#create
So, I propose that we never throw the exception but assume that it is a lookup in that case. Other opinions? Cheers, Arne Von: Romain Manni-Bucau <[email protected]<mailto:[email protected]>> Datum: Samstag, 22. November 2014 11:40 An: Arne Limburg <[email protected]<mailto:[email protected]>> Betreff: Re: [cdi-dev] Getting injection point from Bean#create Test is passing ;). Test should be sthg like GetInjectionPoint*Test Le 22 nov. 2014 11:30, "Arne Limburg" <[email protected]<mailto:[email protected]>> a écrit : Oh, ok, what’s its name? Are you already working on a fix? Von: Romain Manni-Bucau <[email protected]<mailto:[email protected]>> Datum: Samstag, 22. November 2014 11:27 An: Arne Limburg <[email protected]<mailto:[email protected]>> Betreff: Fwd: Re: [cdi-dev] Getting injection point from Bean#create Hi Arne I added a test yesterday for it ---------- Message transféré ---------- De : "Arne Limburg" <[email protected]<mailto:[email protected]>> Date : 22 nov. 2014 11:24 Objet : Re: [cdi-dev] Getting injection point from Bean#create À : "arjan tijms" <[email protected]<mailto:[email protected]>> Cc : "[email protected]<mailto:[email protected]>" <[email protected]<mailto:[email protected]>> Hi Arjan, I¹ve verified, that this is a bug in OpenWebBeans. I've created https://issues.apache.org/jira/browse/OWB-1030 and I¹m going to fix it. Btw.: You have to use the CreationalContext of the bean (the way OWB currently throws the "Inconsistent injection point stack" exception) Cheers, Arne Am 21.11.14 12:58 schrieb "arjan tijms" unter <[email protected]<mailto:[email protected]>>: >Hi, > >On Fri, Nov 21, 2014 at 10:31 AM, Jozef Hartinger ><[email protected]<mailto:[email protected]>> >wrote: >> Here is my understanding of Arjan's >> setup: >> [...] >> >> This is no different from a producer method injecting InjectionPoint >> directly. > >That's indeed the exact setup. > >On Fri, Nov 21, 2014 at 11:34 AM, Romain Manni-Bucau ><[email protected]<mailto:[email protected]>> wrote: >> PS: BTW should work on OWB 1.5.0-SNAPSHOT now > >Wow, I'll look at the latest SNAPSHOT of OWB then. Thanks Romain! > >Kind regards, >Arjan > > > > >> >> >> On 11/21/2014 10:23 AM, Romain Manni-Bucau wrote: >>> >>> yes but what would mean any of the values? Not bound to any injection >>> it doesn't mean anything >>> >>> >>> Romain Manni-Bucau >>> @rmannibucau >>> http://www.tomitribe.com >>> http://rmannibucau.wordpress.com >>> https://github.com/rmannibucau >>> >>> >>> 2014-11-21 10:19 GMT+01:00 Jozef Hartinger >>> <[email protected]<mailto:[email protected]>>: >>>> >>>> It means "give me an instance of type InjectionPoint and @Default >>>> qualifier". In default setup this should be served by the built-in >>>> Bean<InjectionPoint>". >>>> >>>> >>>> On 11/21/2014 10:12 AM, Romain Manni-Bucau wrote: >>>>> >>>>> @Jozef: InjectionPoint ip = getBean(InjectionPoint.class); doesn't >>>>> mean anything in the absolute. So why should it be allowed? >>>>> >>>>> >>>>> Romain Manni-Bucau >>>>> @rmannibucau >>>>> http://www.tomitribe.com >>>>> http://rmannibucau.wordpress.com >>>>> https://github.com/rmannibucau >>>>> >>>>> >>>>> 2014-11-21 9:57 GMT+01:00 Jozef Hartinger >>>>> <[email protected]<mailto:[email protected]>>: >>>>>> >>>>>> The workaround is very ugly. Instead of going that path OWB should >>>>>>be >>>>>> fixed >>>>>> to support the simple way. >>>>>> >>>>>> >>>>>> On 11/20/2014 11:22 PM, arjan tijms wrote: >>>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> On Thu, Nov 20, 2014 at 11:07 PM, Romain Manni-Bucau >>>>>>> <[email protected]<mailto:[email protected]>> wrote: >>>>>>>> >>>>>>>> Not sure what it means actually. InjectionPoint is highly >>>>>>>>contextual >>>>>>>> so >>>>>>>> having an exception (not a npe of course) would make sense to me. >>>>>>>> >>>>>>>> Bean#create is a "you know what you do" from my understanding >>>>>>>>since >>>>>>>> interceptors/decorators are not supported for instance so it >>>>>>>>shouldnt >>>>>>>> rely >>>>>>>> of things like that, no? >>>>>>> >>>>>>> Sure, no interceptor/decorators, but the injection point -is- >>>>>>>there of >>>>>>> course. I can see it being set in OWB as a special property on the >>>>>>> creational context if I walk down the stack trace in a debugger >>>>>>>when >>>>>>> my Bean#create method is being called. An injection point is >>>>>>>something >>>>>>> that implementations of Bean could always need, for instance to >>>>>>> retrieve the name of the field into which injection is taking >>>>>>>place. >>>>>>> >>>>>>> Of course, it being a "you know what you do", it's okay that it's >>>>>>>not >>>>>>> as simple as having it injected into the Bean, and that some extra >>>>>>> code is needed to obtain it. As long as there is at least -a- way >>>>>>>to >>>>>>> get hold of it. >>>>>>> >>>>>>> The method I posted in the openings post does in fact work, but it >>>>>>> feels slightly hacky. If that's an acceptable way to get the >>>>>>>injection >>>>>>> point, then so be it. But just wondering if it's not something that >>>>>>> works by chance and may break later. >>>>>>> >>>>>>> Kind regards, >>>>>>> Arjan >>>>>>> _______________________________________________ >>>>>>> cdi-dev mailing list >>>>>>> [email protected]<mailto:[email protected]> >>>>>>> https://lists.jboss.org/mailman/listinfo/cdi-dev >>>>>>> >>>>>>> Note that for all code provided on this list, the provider licenses >>>>>>> the >>>>>>> code under the Apache License, Version 2 >>>>>>> (http://www.apache.org/licenses/LICENSE-2.0.html). For all other >>>>>>>ideas >>>>>>> provided on this list, the provider waives all patent and other >>>>>>> intellectual >>>>>>> property rights inherent in such information. >>>>>> >>>>>> >> >_______________________________________________ >cdi-dev mailing list >[email protected]<mailto:[email protected]> >https://lists.jboss.org/mailman/listinfo/cdi-dev > >Note that for all code provided on this list, the provider licenses the >code under the Apache License, Version 2 >(http://www.apache.org/licenses/LICENSE-2.0.html). For all other ideas >provided on this list, the provider waives all patent and other >intellectual property rights inherent in such information. _______________________________________________ cdi-dev mailing list [email protected]<mailto:[email protected]> https://lists.jboss.org/mailman/listinfo/cdi-dev Note that for all code provided on this list, the provider licenses the code under the Apache License, Version 2 (http://www.apache.org/licenses/LICENSE-2.0.html). For all other ideas provided on this list, the provider waives all patent and other intellectual property rights inherent in such information.
