NovaTecConsulting/BeanTest — pull request #11 by qabbasi (2014-11-07 13:58:41+00:00)
Title: Accomplished Issue #3, #4, #5

Due to the fact that the earlier pull #10 contained a broken commit (shame on me :trollface:), I edited the broken commit. As a consequence of this the commit history has changed. That´s why this pull requests looks larger than usual. Lessons learned: never commit broken code. :punch:
-----------------------------------------------------------------------------------------------------------------------------------

Issue #5
This pull request provides altogether with small code clean-ups the requested deployment validation in #5 by @carlosbarragan. BeanTestExtension is now ensuring that a processed bean holds valid dependency injection points for its member i.e. the processed bean may hold exclusively field injection points or setter injection points for a particular bean member.

issue #3
This commit fixes the injection failure in @EJB Interceptors. See issue #3.

* Implemented a approach based on the @InterceptorBinding mechanism. The solution replaces @Interceptors() in processed beans with a global interceptor wrapper/proxy. The wrapper delegates the InvocationContext to the modified InterceptorBinding.
* Implemented a cache optimization regarding the modification of Interceptor bindings of @EJB Interceptors.
* Created Sample EJB together with a basic @AroundInvoke Interceptor to verify the NPE in EJB Interceptors proposed by @agori.
* Fixed debug log in EntityManagerProducer
* Processing @Interceptors annotation and replacing with altered InterceptionBindings
* Saving altered InterceptorBindings in GlobalInterceptorImpl (interceptor cache)

Issue #4
* Comprises a resolution for issue #4: the created test case (TestEJBInterceptedByMultipleInterceptors) demonstrates that EJB interceptors (Interceptor1SharingTransaction and Interceptor2SharingTransaction) are using an active (the same!) transaction.