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

Reply via email to