[weld-dev] CDI TCK: InvocationContextTest:testGetTarget

Jozef Hartinger jharting at redhat.com
Thu Jan 6 03:34:41 EST 2011


Could you file a CDITCK issue and assign it to me? Thanks.

On 01/06/2011 03:24 AM, Scott Ferguson wrote:
> This test has a implementation-dependency on how interception is
> implemented (requires proxy implementation), but the proxy
> implementation is not mandated by the spec (and the EJB spec has always
> allowed both implementation methods.)
>
> The test calls SimpleBean.getId(), which is intercepted by Interceptor1.
>
> Interceptor1's aroundInvoke calls target.getId(), which is a circular
> reference for extension and only works for proxy-based interception:
>
> class SimpleBean {
>     @Interceptors(Interceptor1.class)
>     public int getId()
>     {
>        return id;
>     }
>     ...
> }
>
> class Interceptor1 {
>     @AroundInvoke
>     public Object aroundInvoke(InvocationContext ctx) throws Exception
>     {
>        SimpleBean target = (SimpleBean) ctx.getTarget();
>        int id1 = target.getId();
>        ...
>      }
> }
>
> The only change needed to the test is to create a SimpleBean.getBareId()
> which is not an intercepted method.
>
> (Or, if the spec is re-interpreted to require a proxy implementation,
> there should be an explicit test for it, not an implicit dependency like
> this test.)
>
> -- Scott
>
>
>
> _______________________________________________
> weld-dev mailing list
> weld-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/weld-dev


More information about the weld-dev mailing list