imo it should be as simple as possible, because so far we just heard one
use-case for which it really makes sense (DELTASPIKE-60 + abstract classes).
-> the following should be enough:
@InvocationHandlerBinding
public @interface GenericDaoHandler {
}
@GenericDaoHandler
public GenericDaoHandlerImpl implements InvocationHandler {
//...
}
@GenericDaoHandler
@ApplicationScoped //or any other scope
public abstract class PersonDao { //or interface
//...
}
@mark:
in the end it's just like an interceptor, but it just executes the
interceptor logic (without InvocationContext#proceed) >or< the implemented
method provided via an abstract class.
regards,
gerhard
2012/12/23 John D. Ament <[email protected]>
> 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
> > >> >>
> > >>
> > >>
> > >
> >
>