[weld-issues] [JBoss JIRA] Created: (CDITCK-203) InvocationContextTest:testGetTarget

Scott Ferguson (JIRA) jira-events at lists.jboss.org
Thu Jan 6 12:34:17 EST 2011


InvocationContextTest:testGetTarget
-----------------------------------

                 Key: CDITCK-203
                 URL: https://issues.jboss.org/browse/CDITCK-203
             Project: CDI TCK
          Issue Type: Bug
      Security Level: Public (Everyone can see)
          Components: Tests
    Affects Versions: 1.0.4.CR2
            Reporter: Scott Ferguson


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

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the weld-issues mailing list