You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by rm...@apache.org on 2014/07/01 18:18:28 UTC
svn commit: r1607131 - in /openwebbeans/trunk:
webbeans-impl/src/main/java/org/apache/webbeans/portable/InjectionTargetImpl.java
webbeans-tck/testng-dev.xml
Author: rmannibucau
Date: Tue Jul 1 16:18:27 2014
New Revision: 1607131
URL: http://svn.apache.org/r1607131
Log:
unwrap one more level normal scoped instances to get interceptors
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/InjectionTargetImpl.java
openwebbeans/trunk/webbeans-tck/testng-dev.xml
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/InjectionTargetImpl.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/InjectionTargetImpl.java?rev=1607131&r1=1607130&r2=1607131&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/InjectionTargetImpl.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/InjectionTargetImpl.java Tue Jul 1 16:18:27 2014
@@ -34,7 +34,9 @@ import org.apache.webbeans.intercept.Lif
import org.apache.webbeans.logger.WebBeansLoggerFacade;
import org.apache.webbeans.proxy.InterceptorDecoratorProxyFactory;
import org.apache.webbeans.proxy.InterceptorHandler;
+import org.apache.webbeans.proxy.NormalScopeProxyFactory;
import org.apache.webbeans.proxy.OwbInterceptorProxy;
+import org.apache.webbeans.proxy.OwbNormalScopeProxy;
import org.apache.webbeans.spi.ResourceInjectionService;
import org.apache.webbeans.util.Asserts;
import org.apache.webbeans.util.ExceptionUtil;
@@ -323,15 +325,38 @@ public class InjectionTargetImpl<T> exte
Map<Interceptor<?>, ?> interceptorInstances = null;
T internalInstance = instance;
- if (getInterceptorInfo() != null && instance instanceof OwbInterceptorProxy)
+ if (getInterceptorInfo() != null)
{
- InterceptorDecoratorProxyFactory pf = webBeansContext.getInterceptorDecoratorProxyFactory();
- InterceptorHandler ih = pf.getInterceptorHandler((OwbInterceptorProxy) instance);
- if (ih instanceof DefaultInterceptorHandler)
+ if (instance instanceof OwbInterceptorProxy)
{
- DefaultInterceptorHandler dih = (DefaultInterceptorHandler) ih;
- interceptorInstances = dih.getInstances();
- internalInstance = (T) dih.getTarget();
+ InterceptorDecoratorProxyFactory pf = webBeansContext.getInterceptorDecoratorProxyFactory();
+ InterceptorHandler ih = pf.getInterceptorHandler((OwbInterceptorProxy) instance);
+ if (ih instanceof DefaultInterceptorHandler)
+ {
+ DefaultInterceptorHandler dih = (DefaultInterceptorHandler) ih;
+ interceptorInstances = dih.getInstances();
+ internalInstance = (T) dih.getTarget();
+ }
+ }
+ else if (instance instanceof OwbNormalScopeProxy)
+ {
+ final NormalScopeProxyFactory nspf = webBeansContext.getNormalScopeProxyFactory();
+ final Provider provider = nspf.getInstanceProvider(OwbNormalScopeProxy.class.cast(instance));
+ if (provider != null)
+ {
+ final Object object = provider.get();
+ if (object != null && OwbInterceptorProxy.class.isInstance(object))
+ {
+ final InterceptorDecoratorProxyFactory pf = webBeansContext.getInterceptorDecoratorProxyFactory();
+ final InterceptorHandler ih = pf.getInterceptorHandler(OwbInterceptorProxy.class.cast(object));
+ if (DefaultInterceptorHandler.class.isInstance(ih))
+ {
+ final DefaultInterceptorHandler dih = DefaultInterceptorHandler.class.cast(ih);
+ interceptorInstances = dih.getInstances();
+ internalInstance = (T) dih.getTarget();
+ }
+ }
+ }
}
}
else if (preDestroyMethods == null || preDestroyMethods.size() == 0)
Modified: openwebbeans/trunk/webbeans-tck/testng-dev.xml
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-tck/testng-dev.xml?rev=1607131&r1=1607130&r2=1607131&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-tck/testng-dev.xml (original)
+++ openwebbeans/trunk/webbeans-tck/testng-dev.xml Tue Jul 1 16:18:27 2014
@@ -19,7 +19,7 @@
<test name="JSR-346 TCK">
<classes>
<class
- name="org.jboss.cdi.tck.tests.lookup.injectionpoint.dynamic.DynamicInjectionPointTest" />
+ name="org.jboss.cdi.tck.interceptors.tests.contract.lifecycleCallback.LifecycleCallbackInterceptorTest" />
</classes>
<groups>
<run>