You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openwebbeans.apache.org by Romain Manni-Bucau <rm...@gmail.com> on 2013/04/03 10:37:45 UTC

interface, generics and interceptors

Hi,

here a test failling on owb_1.1.x (didn't test on trunk) with a fix inside
the patch: https://gist.github.com/rmannibucau/0ce63358ce5a9b350405

the case is basically calling an interface and when the invocation is done
the impl have an interceptor binding defined (+ generics ;) - maybe look
InheritanceWithGenericAsReturnedTypeTest in the patch to get a better idea
of the issue, the failling assert ATM is assertNotNull(child.it(null));.

It currently fails on owb_1.1.x and works on some weld servers.

The question is: do we want to support it or not?

*Romain Manni-Bucau*
*Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
*Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
*LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
*Github: https://github.com/rmannibucau*

Re: interface, generics and interceptors

Posted by Romain Manni-Bucau <rm...@gmail.com>.
looks the same yes but the proxying part is not enough if i got it
correctly (useless for owb_1.1.x/trunk?) since the interceptor list
building is the place where the issue appears and it is independent from
the proxyfactory.

*Romain Manni-Bucau*
*Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
*Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
*LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
*Github: https://github.com/rmannibucau*



2013/4/3 Joseph Bergmark <be...@gmail.com>

> This looks like it might be the same as:
> https://issues.apache.org/jira/browse/OWB-706
>
> If so, the quick fix for Javassist based proxies is to add an exclusion for
> bridge methods in our methodFilter.  I haven't looked at this for our
> alternative proxy code.
>
>
> On Wed, Apr 3, 2013 at 4:37 AM, Romain Manni-Bucau <rmannibucau@gmail.com
> >wrote:
>
> > Hi,
> >
> > here a test failling on owb_1.1.x (didn't test on trunk) with a fix
> inside
> > the patch: https://gist.github.com/rmannibucau/0ce63358ce5a9b350405
> >
> > the case is basically calling an interface and when the invocation is
> done
> > the impl have an interceptor binding defined (+ generics ;) - maybe look
> > InheritanceWithGenericAsReturnedTypeTest in the patch to get a better
> idea
> > of the issue, the failling assert ATM is assertNotNull(child.it(null));.
> >
> > It currently fails on owb_1.1.x and works on some weld servers.
> >
> > The question is: do we want to support it or not?
> >
> > *Romain Manni-Bucau*
> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
> > *Blog: **http://rmannibucau.wordpress.com/*<
> > http://rmannibucau.wordpress.com/>
> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
> > *Github: https://github.com/rmannibucau*
> >
>

Re: interface, generics and interceptors

Posted by Joseph Bergmark <be...@gmail.com>.
This looks like it might be the same as:
https://issues.apache.org/jira/browse/OWB-706

If so, the quick fix for Javassist based proxies is to add an exclusion for
bridge methods in our methodFilter.  I haven't looked at this for our
alternative proxy code.


On Wed, Apr 3, 2013 at 4:37 AM, Romain Manni-Bucau <rm...@gmail.com>wrote:

> Hi,
>
> here a test failling on owb_1.1.x (didn't test on trunk) with a fix inside
> the patch: https://gist.github.com/rmannibucau/0ce63358ce5a9b350405
>
> the case is basically calling an interface and when the invocation is done
> the impl have an interceptor binding defined (+ generics ;) - maybe look
> InheritanceWithGenericAsReturnedTypeTest in the patch to get a better idea
> of the issue, the failling assert ATM is assertNotNull(child.it(null));.
>
> It currently fails on owb_1.1.x and works on some weld servers.
>
> The question is: do we want to support it or not?
>
> *Romain Manni-Bucau*
> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
> *Blog: **http://rmannibucau.wordpress.com/*<
> http://rmannibucau.wordpress.com/>
> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
> *Github: https://github.com/rmannibucau*
>