hi john, please have a look at [1] - then you might know what pete is talking about.
regards, gerhard [1] http://s.apache.org/T8h 2012/12/26 John D. Ament <[email protected]> > Pete, > > What do you expect the "normal" way to be? I figured qualifiers made more > sense since a lot of the CDI functionality is based on qualifiers (though I > think a lot of applications mostly use a single type of an interface or > leverage alternatives). > > > On Mon, Dec 24, 2012 at 8:47 AM, Pete Muir <[email protected]> wrote: > > > I think it should work, adding a qualifier, but I don't think it's the > > "normal" way to do it. > > > > On 23 Dec 2012, at 16:12, John D. Ament wrote: > > > > > Well, this object is used for a specific case. In my opinion, you > should > > be > > > able to resolve it using > > > > > > @Inject @QueryHandler > > > private InvocationHandler queryHandler; > > > > > > Though why you may want to inject it in a client app is unknown to me; > it > > > does make it easier from an implementation standpoint. > > > > > > Does the service handler need to have any specific scope? Can it > inherit > > > the scope of what it's handling? I guess not, since it could be a > handler > > > to n things. NormalScope would be appropriate then. > > > > > > > > > On Sat, Dec 22, 2012 at 2:50 PM, Mark Struberg <[email protected]> > > wrote: > > > > > >> I guess because it might overlap with other qualifiers added in some > > cases. > > >> > > >> What do we gain for making it a qualifier? > > >> > > >> Another important difference to CDI interceptors is that they are > always > > >> @Dependent to the intercepted instance. > > >> Whereas the ServiceHandler should be of NormalScope, isn't? > > >> > > >> LieGrue, > > >> strub > > >> > > >> > > >> > > >> > > >> ----- Original Message ----- > > >>> From: John D. Ament <[email protected]> > > >>> To: [email protected] > > >>> Cc: > > >>> Sent: Saturday, December 22, 2012 7:56 PM > > >>> Subject: Re: [DISCUSS] [DELTASPIKE-113] Review and Discuss > > ServiceHandler > > >>> > > >>> Pete, > > >>> > > >>> Regarding interceptors - I think what I have is pretty close to the > > >>> interceptor definition, except this should only end up working on a > > >>> class/interface (I think?) > > >>> > > >>> Also, why wouldn't we want the annotation to also be a qualifier? > > >>> > > >>> John > > >>> > > >>> > > >>> On Fri, Dec 21, 2012 at 5:21 AM, Pete Muir <[email protected]> wrote: > > >>> > > >>>> > > >>>> On 21 Dec 2012, at 02:21, John D. Ament wrote: > > >>>> > > >>>>> Hi all, > > >>>>> > > >>>>> So just to summarize the current proposal: > > >>>>> > > >>>>> - Create a new annotation @ServiceHandlerBinding (in core/api) > which > > >>> will > > >>>>> be placed on on the interface that defines points of the > > >>>>> - Create a new annotation @ServiceHandler (in core/api) (I think > > >> based > > >>> on > > >>>>> below this isn't needed since we have the interface now). > > >>>>> - Create an extension that can generate object proxies that link > > >> calls > > >>> to > > >>>>> methods on the - org.apache.deltaspike.core.api.... > > >>>>> > > >>>>> Define the binding type annotation: > > >>>>> > > >>>>> @ServiceHandlerBinding > > >>>>> @Qualifier > > >>>>> public @interface QueryHandler { > > >>>>> } > > >>>> > > >>>> I don't think we want @Qualifier here. > > >>>> > > >>>>> > > >>>>> which will define the relationship between the interface/abstract > > >>> class > > >>>>> that will use the service handler and the class that will serve as > > >> the > > >>>>> invocation handler. > > >>>>> > > >>>>> For example, we can use @QueryHandler on an interface: > > >>>>> > > >>>>> @QueryHandler > > >>>>> public interface PersonDAO { > > >>>>> //... > > >>>>> } > > >>>>> > > >>>>> When the container finds this interface it will identify the > > >>> appropriate > > >>>>> InvocationHandler, based on the following matches: > > >>>>> > > >>>>> - Implements InvocationHandler > > >>>> > > >>>> Yes. > > >>>> > > >>>>> - Is annotated @QueryHandler > > >>>> > > >>>> Ish, this should follow standard CDI resolution rules, you can copy > > the > > >>>> way interceptor bindings work here. > > >>>> > > >>>>> - Is annotated @ServiceHandler > > >>>> > > >>>> Yes > > >>>> > > >>>>> > > >>>>> DeltaSpike will provide a proxied object where all abstract method > > >>> calls > > >>>>> are delegated to the InvocationHandler. The InvocationHandler will > > >>> need > > >>>> to > > >>>>> have logic to handle all methods as defined within the class, as > long > > >>> as > > >>>>> that method is invoked through the InvocationHandler. > > >>>>> > > >>>>> @QueryHandler @ServiceHandler > > >>>>> public QueryHandlerInvoker implements InvocationHandler { > > >>>>> > > >>>>> public Object invoke(Object proxy, Method method, Object[] args) { > > >>>>> if(method.getName().startsWith("find..."){ > > >>>>> //... > > >>>>> } > > >>>>> return null; > > >>>>> > > >>>>> } > > >>>>> } > > >>>>> > > >>>>> In addition, the ServiceHandlerBinding can be placed on an abstract > > >>>> class. > > >>>>> In this case, only abstract methods will be passed to the > > >>>>> InvocationHandler. > > >>>>> > > >>>>> @QueryHandler > > >>>>> public abstract interface PersonDAO { > > >>>>> public String doSomethingConcrete() { > > >>>>> return "concrete"; > > >>>>> } > > >>>>> > > >>>>> public abstract Person find(int id); > > >>>>> } > > >>>>> > > >>>>> Only the find method will be wrapped, the method > doSomethingConcrete > > >>> will > > >>>>> be invoked directly. When interacting with an abstract class, the > > >>>>> InvocationHandler can call methods on the proxied object. > > >>>>> > > >>>>> Finally, the app developer will be able to simply inject their > > >>>>> interface/abstract class in to their beans to perform work: > > >>>>> > > >>>>> @Inject @QueryHandler PersonDAO dao; > > >>>>> > > >>>>> Questions: > > >>>>> > > >>>>> Should we provide a store (simple key/value map) to keep a history > of > > >>>> found > > >>>>> object types and how they map? > > >>>> > > >>>> You mean like BeanManager.resolveInterceptors() ? I guess this is > > >> useful. > > >>>> > > >>>>> Should we depend on certain libraries for proxying (e.g. > javassist, I > > >>>> think > > >>>>> both Weld & OWB use this still?) > > >>>> > > >>>> If you want to just cover interfaces, it's easy, you can use > proxying > > >>> from > > >>>> the JDK. Otherwise yes you need to pick a lib. > > >>>> > > >>>> Weld doesn't use javassist for proxying, but does for other stuff. > > >>>> > > >>>>> Since we now use the interface InvocationHandler should we rename > the > > >>>>> binding to be InvocationHandlerBinding? > > >>>> > > >>>> Yes, this makes sense > > >>>> > > >>>>> I also think it's not necessary to > > >>>>> have @ServiceHandler since the marker interface now exists. > > >>>> > > >>>> +1 > > >>>> > > >>>>> > > >>>>> Comments welcome.. > > >>>>> > > >>>>> John > > >>>>> > > >>>>> > > >>>>> > > >>>>> > > >>>>> On Thu, Dec 20, 2012 at 12:33 PM, Jason Porter > > >>> <[email protected] > > >>>>> wrote: > > >>>>> > > >>>>>> +1 for @ServiceHandler > > >>>>>> > > >>>>>> > > >>>>>> On Thu, Dec 20, 2012 at 9:39 AM, John D. Ament > > >>> <[email protected] > > >>>>>>> wrote: > > >>>>>> > > >>>>>>> If we're still calling the feature > > >>> "ServiceHandler" then why not > > >>>>>>> @ServiceHandler? > > >>>>>>> > > >>>>>>> > > >>>>>>> On Thu, Dec 20, 2012 at 11:33 AM, Romain Manni-Bucau > > >>>>>>> <[email protected]>wrote: > > >>>>>>> > > >>>>>>>> if we don't need it perfect, if we need it we'll > > >>> just use another name > > >>>>>>>> @DSHandler, @Handler...whatever it is ;) > > >>>>>>>> > > >>>>>>>> Romain Manni-Bucau > > >>>>>>>> Twitter: @rmannibucau > > >>>>>>>> Blog: http://rmannibucau.wordpress.com/ > > >>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau > > >>>>>>>> Github: https://github.com/rmannibucau > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> 2012/12/20 Pete Muir <[email protected]>: > > >>>>>>>>> :-) Yes for sure. I suspect we dont' need > > >>> @InvocationHandler at all. > > >>>>>>>>> > > >>>>>>>>> On 20 Dec 2012, at 16:30, John D. Ament wrote: > > >>>>>>>>> > > >>>>>>>>>> The problem I have is that now InvocationHandler > > >>> is both an > > >>>>>> interface > > >>>>>>>> and > > >>>>>>>>>> an @interface which will make it impossible for > > >>> imports. I don't > > >>>>>>> think > > >>>>>>>>>> they should have the same name. > > >>>>>>>>>> > > >>>>>>>>>> > > >>>>>>>>>> On Thu, Dec 20, 2012 at 9:57 AM, Pete Muir > > >>> <[email protected]> > > >>>>>> wrote: > > >>>>>>>>>> > > >>>>>>>>>>> > > >>>>>>>>>>> On 20 Dec 2012, at 12:32, John D. Ament wrote: > > >>>>>>>>>>> > > >>>>>>>>>>>> All, > > >>>>>>>>>>>> > > >>>>>>>>>>>> So mostly ok from my perspective. One > > >>> thing to note: > > >>>>>>>>>>>> > > >>>>>>>>>>>> @InvocationHandlerBinding > > >>>>>>>>>>>> public @interface Repository {} > > >>>>>>>>>>>> > > >>>>>>>>>>>> @Repository > > >>>>>>>>>>>> public interface MyRepository { > > >>>>>>>>>>>> ... > > >>>>>>>>>>>> } > > >>>>>>>>>>>> > > >>>>>>>>>>>> @Repository @InvocationHandler > > >>>>>>>>>>>> public class MyInvocationHandler > > >>> implements InvocationHandler { > > >>>>>>>>>>>> ... > > >>>>>>>>>>>> } > > >>>>>>>>>>>> > > >>>>>>>>>>>> Why do we have a @InvocationHandler here? > > >>> Is it supposed to be > > >>>>>>>>>>>> @InvocationHandlerBinding instead? If so, > > >>> is it really needed > > >>>>>> here? > > >>>>>>>>>>> > > >>>>>>>>>>> No, it should be @InvocationHandler, it's > > >>> analagous to > > >>>>>> @Interceptor. > > >>>>>>>> It's > > >>>>>>>>>>> not 100% necessary as we already implement the > > >>> interface, which is > > >>>>>>>> enough > > >>>>>>>>>>> of the marker. > > >>>>>>>>>>> > > >>>>>>>>>>>> > > >>>>>>>>>>>> Thinking about the implementation for > > >>> this, I think this actually > > >>>>>>>> becomes > > >>>>>>>>>>>> easier to use and easier to understand > > >>> over the Solder solution. > > >>>>>>> The > > >>>>>>>>>>>> implementation of the InvocationHandler > > >>> becomes a true CDI bean. > > >>>>>>>>>>>> > > >>>>>>>>>>>> Should DS support Interceptors and > > >>> Decorators on > > >>>>>>>>>>>> InvocationHandler beans? > > >>>>>>>>>>>> > > >>>>>>>>>>>> Do you mean the implementation class or > > >>> the interface? > > >>>>>>>>>>>> > > >>>>>>>>>>>> John > > >>>>>>>>>>>> > > >>>>>>>>>>>> > > >>>>>>>>>>>> On Thu, Dec 20, 2012 at 7:06 AM, Romain > > >>> Manni-Bucau > > >>>>>>>>>>>> <[email protected]>wrote: > > >>>>>>>>>>>> > > >>>>>>>>>>>>> i'd rather say no because the idea > > >>> is to ease "util" extension > > >>>>>>>>>>>>> writing. that's clearly not > > >>> intended to be full business beans > > >>>>>> IMO > > >>>>>>>> (at > > >>>>>>>>>>>>> least for a first step) > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> That's why i'd leave it as > > >>> this for now > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> wdyt? > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> Romain Manni-Bucau > > >>>>>>>>>>>>> Twitter: @rmannibucau > > >>>>>>>>>>>>> Blog: > > >>> http://rmannibucau.wordpress.com/ > > >>>>>>>>>>>>> LinkedIn: > > >>> http://fr.linkedin.com/in/rmannibucau > > >>>>>>>>>>>>> Github: https://github.com/rmannibucau > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> 2012/12/20 Arne Limburg > > >>> <[email protected]>: > > >>>>>>>>>>>>>> Mark refers to my call stack. > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>> Out of the box this call stack > > >>> would exist just in OWB, because > > >>>>>>> Weld > > >>>>>>>>>>>>> would > > >>>>>>>>>>>>>> not apply any Interceptors or > > >>> Decorators... > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>> The question is: Should DS support > > >>> Interceptors and Decorators > > >>>>>> on > > >>>>>>>>>>>>>> InvocationHandler beans? My answer > > >>> would be: yes, if our > > >>>>>>>> implementation > > >>>>>>>>>>>>>> shall be a preview of CDI-110. > > >>>>>>>>>>>>>> And that would make things > > >>> complicated in the implementation... > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>> Am 20.12.12 12:11 schrieb > > >>> "Romain Manni-Bucau" unter > > >>>>>>>>>>>>>> <[email protected]>: > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>>> is it an issue for > > >>> servicehandler? i don't think so > > >>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>> it is often used to get util > > >>> classes dynamically created, it is > > >>>>>>>> rarely > > >>>>>>>>>>>>>>> (i never saw it) decorated > > >>> directly > > >>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>> Romain Manni-Bucau > > >>>>>>>>>>>>>>> Twitter: @rmannibucau > > >>>>>>>>>>>>>>> Blog: > > >>> http://rmannibucau.wordpress.com/ > > >>>>>>>>>>>>>>> LinkedIn: > > >>> http://fr.linkedin.com/in/rmannibucau > > >>>>>>>>>>>>>>> Github: > > >>> https://github.com/rmannibucau > > >>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>> 2012/12/20 Mark Struberg > > >>> <[email protected]>: > > >>>>>>>>>>>>>>>> we stumbled about this > > >>> lately. It seems CDI only forces > > >>>>>> support > > >>>>>>>> for > > >>>>>>>>>>>>>>>> interceptors and > > >>> decorators for CDI-annotated classes, but not > > >>>>>>> for > > >>>>>>>>>>>>>>>> Bean<T> which get > > >>> added via extensions nor even producer > > >>>>>> methods > > >>>>>>>> and > > >>>>>>>>>>>>>>>> fields :/ > > >>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>> Of course OWB does it, but > > >>> it would be not portable... > > >>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>> LieGrue, > > >>>>>>>>>>>>>>>> strub > > >>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>> ----- Original Message > > >>> ----- > > >>>>>>>>>>>>>>>>> From: Arne Limburg > > >>> <[email protected]> > > >>>>>>>>>>>>>>>>> To: > > >>> "[email protected]" > > >>>>>>>>>>>>>>>>> > > >>> <[email protected]> > > >>>>>>>>>>>>>>>>> Cc: > > >>>>>>>>>>>>>>>>> Sent: Thursday, > > >>> December 20, 2012 10:18 AM > > >>>>>>>>>>>>>>>>> Subject: Re: [DISCUSS] > > >>> [DELTASPIKE-113] Review and Discuss > > >>>>>>>>>>>>>>>>> ServiceHandler > > >>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>> T wo things about > > >>> this: First: I don't like from the solder > > >>>>>>>>>>> approach, > > >>>>>>>>>>>>>>>>> because the interface > > >>> is annotated instead of the > > >>>>>>> implementation. > > >>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>> Second, if we > > >>> implement this we should conceptually make > > >>>>>> clear > > >>>>>>>> how > > >>>>>>>>>>> it > > >>>>>>>>>>>>>>>>> differentiates from > > >>> Interceptors and Decorators. And > > >>>>>>> personally I > > >>>>>>>>>>>>> think > > >>>>>>>>>>>>>>>>> this would work better > > >>> with the InvocationHandler approach > > >>>>>> than > > >>>>>>>> with > > >>>>>>>>>>>>> an > > >>>>>>>>>>>>>>>>> approach that is very > > >>> similar to interceptors. > > >>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>> So +1 for an approach > > >>> like this: > > >>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>> > > >>> @HandlesInvocationsOn(MyInterface.class) > > >>>>>>>>>>>>>>>>> public class > > >>> MyInvocationHandler implements > > >>>>>> InvocationHandler { > > >>>>>>>>>>>>>>>>> ... > > >>>>>>>>>>>>>>>>> } > > >>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>> Technically we would > > >>> register a custom Bean for every found > > >>>>>>>>>>>>>>>>> InvocationHandler with > > >>> that annotation and take over the > > >>>>>>>>>>>>>>>>> interceptor-bindings > > >>> from the interfaceŠ > > >>>>>>>>>>>>>>>>> So the invocation > > >>> stack would be clear, too: > > >>>>>>>>>>>>>>>>> First Interceptors, > > >>>>>>>>>>>>>>>>> Second Decorators, > > >>>>>>>>>>>>>>>>> Third > > >>> InvocationHandler > > >>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>> Wdyt? > > >>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>> Arne > > >>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>> Am 20.12.12 01:53 > > >>> schrieb "Romain Manni-Bucau" unter > > >>>>>>>>>>>>>>>>> > > >>> <[email protected]>: > > >>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>> +1 > > >>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>> that's a need, > > >>> DS targets CDI 1.0 for now so just make this > > >>>>>>>> solder > > >>>>>>>>>>>>>>>>>> part portable ans > > >>> it should be fine > > >>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>> Romain Manni-Bucau > > >>>>>>>>>>>>>>>>>> Twitter: > > >>> @rmannibucau > > >>>>>>>>>>>>>>>>>> Blog: > > >>> http://rmannibucau.wordpress.com/ > > >>>>>>>>>>>>>>>>>> LinkedIn: > > >>> http://fr.linkedin.com/in/rmannibucau > > >>>>>>>>>>>>>>>>>> Github: > > >>> https://github.com/rmannibucau > > >>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>> 2012/12/20 Jason > > >>> Porter <[email protected]>: > > >>>>>>>>>>>>>>>>>>> At this point, > > >>> I'd say just do it as is in solder. > > >>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>> On Wed, Dec > > >>> 19, 2012 at 5:25 PM, John D. Ament > > >>>>>>>>>>>>>>>>>>> > > >>> <[email protected]>wrote: > > >>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>> Hi All, > > >>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>> Regarding > > >>> the two open questions: > > >>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>> 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 -> > > >>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>> It looks > > >>> like the JSR's answer > > >>>>>>>>>>>>>>>>>>>> > > >>> (https://issues.jboss.org/browse/CDI-110 ) > > >>>>>>>>>>>>>>>>>>>> is still > > >>> unresolved - I'm not sure if we can get any > > >>>>>> further > > >>>>>>>>>>>>>>>>> answer at > > >>>>>>>>>>>>>>>>>>>> this > > >>>>>>>>>>>>>>>>>>>> time. The > > >>> last posts on the subject seem to discuss using > > >>>>>>>>>>>>>>>>> something > > >>>>>>>>>>>>>>>>>>>> along > > >>>>>>>>>>>>>>>>>>>> the lines > > >>> of an invocation handler, which I think would > > >>>>>> work > > >>>>>>>>>>> well. > > >>>>>>>>>>>>>>>>>>>> Since > > >>>>>>>>>>>>>>>>>>>> we have > > >>> some features coming up that are interested in > > >>>>>>> having > > >>>>>>>>>>>>>>>>> service > > >>>>>>>>>>>>>>>>>>>> handlers > > >>> available, do we > > >>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>> 1. > > >>> Implement as is, or similar to, what is currently in > > >>>>>>>> Solder? > > >>>>>>>>>>>>>>>>>>>> 2. Push EG > > >>> on a resolution > > >>>>>>>>>>>>>>>>>>>> 3. Do it > > >>> using invocation handlers. > > >>>>>>>>>>>>>>>>>>>> 4. Do it > > >>> some other way? > > >>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>> John > > >>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>> On Wed, > > >>> Apr 4, 2012 at 3:50 PM, Gerhard Petracek < > > >>>>>>>>>>>>>>>>>>>> > > >>> [email protected] > > >>>>>>>>>>>>>>>>>>>>> wrote: > > >>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>>> hi > > >>> john, > > >>>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>>> as > > >>> mentioned before we need the answers to the existing > > >>>>>>>>>>>>>>>>> questions. > > >>>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>>> > > >>> regards, > > >>>>>>>>>>>>>>>>>>>>> > > >>> gerhard > > >>>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>>> > > >>> 2012/4/4 John D. Ament <[email protected]> > > >>>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>>>> > > >>> All, > > >>>>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>>>> I > > >>> kind of let this one and the other drop off my radar, > > >>>>>> I > > >>>>>>>>>>>>>>>>>>>> apologize. > > >>>>>>>>>>>>>>>>>>>> it > > >>>>>>>>>>>>>>>>>>>>>> > > >>> looks like where we last left off, Gerhard was still > > >>>>>>>>>>>>>>>>> requesting > > >>>>>>>>>>>>>>>>>>>>> > > >>> additional > > >>>>>>>>>>>>>>>>>>>>>> > > >>> comments from everyone. Any other feedback? > > >>>>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>>>> > > >>> John > > >>>>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>>>> On > > >>> Mon, Mar 12, 2012 at 1:06 PM, Gerhard Petracek < > > >>>>>>>>>>>>>>>>>>>>>> > > >>> [email protected]> wrote: > > >>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>> hi > > >>> george, > > >>>> > > >>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>> thx > > >>> for the information. i thought there might be at > > >>>>>>>>>>>>>>>>> least some > > >>>>>>>>>>>>>>>>>>>>>> > > >>> additional > > >>>> > > >>>>>>>>>>>>>>>>>>>>>> > > >>> answers/clarifications, since pete asked for them in > > >>>>>>>>>>>>>>>>> several > > >>>>>>>>>>>>>>>>>>>> comments. > > >>>> > > >>>>>>>>>>>>>>>>>>>>>> > > >>> -> imo we should continue with them. > > >>>> > > >>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>> > > >>> regards, > > >>>> > > >>>>>>>>>>>>>>>>>>>>>> > > >>> gerhard > > >>>> > > >>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>> > > >>> 2012/3/12 George Gastaldi > > >>>>>>>>>>>>>>>>> > > >>> <[email protected]> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>> > > >>> Hello Gerhard, > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>> > > >>> Yeah, it´s the last state. I know it´s quite > > >>>>>>>>>>>>>>>>> old, but I > > >>>>>>>>>>>>>>>>>>>> haven´t > > >>> had > > >>>>>>>>>>>>>>>>>>>>>> > > >>> time > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>> > > >>> to work on it after that. > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>> > > >>> Regards, > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>> > > >>> George > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>> > > >>> 2012/3/12 Gerhard Petracek > > >>>>>>>>>>>>>>>>> > > >>> <[email protected]> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>>> > > >>> 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- > > >>>>>>>>>>>>>>>>>>>> ser > > >>>>>>>>>>>>>>>>>>>> > > >>> vicehandler.html > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > > >>> Regards, > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > > >>> john > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>>> > > >>>> > > >>>>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>> -- > > >>>>>>>>>>>>>>>>>>> Jason Porter > > >>>>>>>>>>>>>>>>>>> > > >>> http://lightguard-jp.blogspot.com > > >>>>>>>>>>>>>>>>>>> > > >>> http://twitter.com/lightguardjp > > >>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>> Software > > >>> Engineer > > >>>>>>>>>>>>>>>>>>> Open Source > > >>> Advocate > > >>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>> PGP key id: > > >>> 926CCFF5 > > >>>>>>>>>>>>>>>>>>> PGP key > > >>> available at: keyserver.net, pgp.mit.edu > > >>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>> > > >>>>>>>>>>> > > >>>>>>>>>>> > > >>>>>>>>> > > >>>>>>>> > > >>>>>>> > > >>>>>> > > >>>>>> > > >>>>>> > > >>>>>> -- > > >>>>>> Jason Porter > > >>>>>> http://lightguard-jp.blogspot.com > > >>>>>> http://twitter.com/lightguardjp > > >>>>>> > > >>>>>> Software Engineer > > >>>>>> Open Source Advocate > > >>>>>> > > >>>>>> PGP key id: 926CCFF5 > > >>>>>> PGP key available at: keyserver.net, pgp.mit.edu > > >>>>>> > > >>>> > > >>>> > > >>> > > >> > > > > >
