hi george, thx for the link. i'm not sure if it is the latest state of your discussion and/or draft (at least it's quite old already).
regards, gerhard 2012/3/7 George Gastaldi <[email protected]> > Hi ! > > +1 to #1. I also agree that the term "Service Handler" might not be so > appropriate, so it should be discussed as well. > Here is the latest pull request with some comments from Pete yet to be > reviewed: https://github.com/jboss/cdi/pull/28 > > 2012/3/7 Pete Muir <[email protected]> > > > Agreed :-) > > > > George is working on it for CDI 1.1. George, can you share your proposal > > so far? > > > > On 7 Mar 2012, at 17:05, Gerhard Petracek wrote: > > > > > hi pete, > > > > > > independent of my opinion about the feature (which is still +0): > > > if it should be part of cdi 1.1, we have the following options imo: > > > > > > 1) the approach (including the name/s) we agree on will be used also > for > > > cdi 1.1 (the only difference is the package) > > > 2) the eg has a different opinion about it -> > > > 2a) the rest of the eg joins this discussion > > > 2b) we wait for the final version and just allow the same with cdi 1.0 > > > 3) if the eg doesn't agree on the idea, it should be re-visited for > > > deltaspike (if we really need it) > > > 4) we agree on it independent of the result in cdi 1.1 > > > > > > 1-3 is ok for me but -1 for #4 > > > > > > regards, > > > gerhard > > > > > > > > > > > > 2012/3/7 Pete Muir <[email protected]> > > > > > >> I'm not sure what you mean by a "super interceptor", but if you mean > it > > as > > >> in "super man" (something better than an interceptor), then I would > > >> disagree, it's actually a specialised form of interceptor. > > >> > > >> The best use case I know of is the one John mentions - creating type > > safe > > >> references to queries: > > >> > > >> @QueryService > > >> interface UserQuery { > > >> > > >> @Query("select u from User u") > > >> public List<User> getAllUsers(); > > >> > > >> @Query("select u from User u order by u.name") > > >> public List<User> getAllUsersSortedByName(); > > >> > > >> } > > >> > > >> Now, it may be the case that there aren't any other use cases for > > service > > >> handlers, in which case we should perhaps just offer this particular > > >> service handler - references to type safe queries - as I think this is > > an > > >> extremely powerful idea. > > >> > > >> Note, that at the moment service handlers are scheduled for CDI 1.1. > > >> > > >> > > >> On 7 Mar 2012, at 02:35, Jason Porter wrote: > > >> > > >>> Somewhat. I wouldn't really think of them as overrides, they, to me, > > >> seem more like items to do in addition to whatever the original impl > > does. > > >>> > > >>> ServiceHandlers to me seem more like super interceptors. > > >>> > > >>> Sent from my iPhone > > >>> > > >>> On Mar 6, 2012, at 19:23, "John D. Ament" <[email protected]> > > >> wrote: > > >>> > > >>>> @jason > > >>>> > > >>>> I think the concepts are very dissimilar. servicehandlers create > the > > >>>> implementation. delegates are more like overrides and need to know > > >> about > > >>>> the method signature. > > >>>> > > >>>> On Tue, Mar 6, 2012 at 9:17 PM, Jason Porter < > [email protected] > > >>> wrote: > > >>>> > > >>>>> I think the idea of ServiceHandlers are good, but, could we not do > > this > > >>>>> with delegates? > > >>>>> > > >>>>> Sent from my iPhone > > >>>>> > > >>>>> On Mar 6, 2012, at 19:05, "John D. Ament" <[email protected]> > > >> wrote: > > >>>>> > > >>>>>> @mark > > >>>>>> > > >>>>>> I don't think it's a hard requirement for it to be on an > interface. > > >>>>>> > > >>>>>> One of the best use-cases we built at my job is using it for > calling > > >>>>>> PL/SQL. The JDBC bindings do work, but not pretty. we were able > to > > >>>>> create > > >>>>>> a fairly clean wrapper API, generic enough for binding in/out > > >> parameters. > > >>>>>> > > >>>>>> JOhn > > >>>>>> > > >>>>>> On Tue, Mar 6, 2012 at 12:58 PM, Mark Struberg <[email protected] > > > > >>>>> wrote: > > >>>>>> > > >>>>>>> actually I don't really see a real benefit. I just don't yet grok > > the > > >>>>> use > > >>>>>>> case for real world projects. > > >>>>>>> > > >>>>>>> Why would one intercept an Interface and delegate the calls to a > > >> method > > >>>>>>> handler? > > >>>>>>> This could be neat for mocking, but there are better frameworks > for > > >>>>> that. > > >>>>>>> > > >>>>>>> thus > > >>>>>>> > > >>>>>>> -0.2 > > >>>>>>> > > >>>>>>> LieGrue, > > >>>>>>> strub > > >>>>>>> > > >>>>>>> > > >>>>>>> > > >>>>>>> ----- Original Message ----- > > >>>>>>>> From: Gerhard Petracek <[email protected]> > > >>>>>>>> To: [email protected] > > >>>>>>>> Cc: > > >>>>>>>> Sent: Tuesday, March 6, 2012 5:15 PM > > >>>>>>>> Subject: Re: [DISCUSS] [DELTASPIKE-113] Review and Discuss > > >>>>> ServiceHandler > > >>>>>>>> > > >>>>>>>> if you have a lot of shared code, you can extract it in 1-n > > >> method/s or > > >>>>>>> an > > >>>>>>>> abstract class which is still easier than a new concept. > > >>>>>>>> at least i haven't seen an use-case which really needed it. that > > was > > >>>>> the > > >>>>>>>> reason for a +0 (which still means that i'm ok with adding it). > > >>>>>>>> > > >>>>>>>> regards, > > >>>>>>>> gerhard > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> 2012/3/6 Pete Muir <[email protected]> > > >>>>>>>> > > >>>>>>>>> So, you mean just write a bean with all the boilerplate code in > > it? > > >>>>>>>>> > > >>>>>>>>> On 6 Mar 2012, at 15:58, Gerhard Petracek wrote: > > >>>>>>>>> > > >>>>>>>>>> hi pete, > > >>>>>>>>>> > > >>>>>>>>>> instead of the interface you can just implement a bean which > > does > > >> the > > >>>>>>>>> same. > > >>>>>>>>>> > > >>>>>>>>>> regards, > > >>>>>>>>>> gerhard > > >>>>>>>>>> > > >>>>>>>>>> > > >>>>>>>>>> > > >>>>>>>>>> 2012/3/6 Pete Muir <[email protected]> > > >>>>>>>>>> > > >>>>>>>>>>> What CDI mechanism would you use instead? > > >>>>>>>>>>> > > >>>>>>>>>>> On 5 Mar 2012, at 08:47, Gerhard Petracek wrote: > > >>>>>>>>>>> > > >>>>>>>>>>>> +0 > > >>>>>>>>>>>> no -1 because there are use-cases for it. > > >>>>>>>>>>>> no +1 because i would use std. cdi mechanisms instead. > > >>>>>>>>>>>> > > >>>>>>>>>>>> regards, > > >>>>>>>>>>>> gerhard > > >>>>>>>>>>>> > > >>>>>>>>>>>> > > >>>>>>>>>>>> > > >>>>>>>>>>>> 2012/3/4 Gerhard Petracek <[email protected]> > > >>>>>>>>>>>> > > >>>>>>>>>>>>> hi john, > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> the sub-task is perfectly fine. > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> regards, > > >>>>>>>>>>>>> gerhard > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> 2012/3/4 John D. Ament <[email protected]> > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> Hi All > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>> I wanted to bring up the subject of ServiceHandler. I > > >>>>>>>> added 113 as a > > >>>>>>>>>>>>>> child > > >>>>>>>>>>>>>> of DELTASPIKE-2, looked appropriate but not 100% sure > > >>>>>>>> (so please let > > >>>>>>>>> me > > >>>>>>>>>>>>>> know if you think it's not appropriate as a > > >>>>>>>> child). ServiceHandler > > >>>>>>>>> is > > >>>>>>>>>>> a > > >>>>>>>>>>>>>> feature in Solder that allows you to define an > > >>>>>>>> interceptor that > > >>>>>>>>> manages > > >>>>>>>>>>>>>> generic calls against an injected interface. The API > > >>>>>>>> is as follows: > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>> - @ServiceHandlerType(Class<?> clazz) - placed > > >>>>>>>> on an annotation that > > >>>>>>>>>>> would > > >>>>>>>>>>>>>> be placed on the interface. Indicates what > > >>>>>>>> interceptor would be > > >>>>>>>>>>> invoked > > >>>>>>>>>>>>>> for calls against this interface. > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>> It's then up to the application > > >>>>>>>> developer/framework author to define > > >>>>>>>>>>>>>> annotations that go on methods, as well as the > > >>>>>>>> interceptor itself > > >>>>>>>>> that > > >>>>>>>>>>>>>> will > > >>>>>>>>>>>>>> be invoked. The feature for ServiceHandler would be > > >>>>>>>> to provide the > > >>>>>>>>>>> API of > > >>>>>>>>>>>>>> the type and then the infrastructure required to make > > >>>>>>>> the interceptor > > >>>>>>>>>>> be > > >>>>>>>>>>>>>> called. Existing documentation of the feature: > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>> > > >>>>>>>>>>> > > >>>>>>>>> > > >>>>>>>> > > >>>>>>> > > >>>>> > > >> > > > http://docs.jboss.org/seam/3/3.1.0.Final/reference/en-US/html/solder-servicehandler.html > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>> Regards, > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>> john > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> > > >>>>>>>>>>> > > >>>>>>>>>>> > > >>>>>>>>> > > >>>>>>>>> > > >>>>>>>> > > >>>>>>> > > >>>>> > > >> > > >> > > > > >
