Do it if you want but I thought it shouldn't be used and @Inject InjectionPoint should be the clean solution. That said nothing more against so feel free to remove this restriction.
Romain Manni-Bucau @rmannibucau http://www.tomitribe.com http://rmannibucau.wordpress.com https://github.com/rmannibucau 2014-11-22 11:58 GMT+01:00 Arne Limburg <[email protected]>: > 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]> > Datum: Samstag, 22. November 2014 11:40 > An: Arne Limburg <[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]> a > écrit : >> >> Oh, ok, what’s its name? >> Are you already working on a fix? >> >> Von: Romain Manni-Bucau <[email protected]> >> Datum: Samstag, 22. November 2014 11:27 >> An: Arne Limburg <[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]> >> Date : 22 nov. 2014 11:24 >> Objet : Re: [cdi-dev] Getting injection point from Bean#create >> À : "arjan tijms" <[email protected]> >> Cc : "[email protected]" <[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]>: >> >> >Hi, >> > >> >On Fri, Nov 21, 2014 at 10:31 AM, Jozef Hartinger <[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]> 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]>: >> >>>> >> >>>> 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]>: >> >>>>>> >> >>>>>> 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]> 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] >> >>>>>>> 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] >> >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] >> 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.
