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
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>
> >>
> >>
>
>

Reply via email to