Author: rmannibucau
Date: Fri Jun 16 11:50:12 2017
New Revision: 1798914

URL: http://svn.apache.org/viewvc?rev=1798914&view=rev
Log:
wiring interception factory in bean manager

Modified:
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/configurator/BeanConfiguratorImpl.java
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectableBeanManager.java
    openwebbeans/trunk/webbeans-tck/testng-dev.xml

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/configurator/BeanConfiguratorImpl.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/configurator/BeanConfiguratorImpl.java?rev=1798914&r1=1798913&r2=1798914&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/configurator/BeanConfiguratorImpl.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/configurator/BeanConfiguratorImpl.java
 Fri Jun 16 11:50:12 2017
@@ -33,6 +33,7 @@ import java.lang.annotation.Annotation;
 import java.lang.reflect.ParameterizedType;
 import java.lang.reflect.Type;
 import java.util.HashSet;
+import java.util.LinkedHashSet;
 import java.util.Set;
 import java.util.function.BiConsumer;
 import java.util.function.Function;
@@ -56,7 +57,7 @@ public class BeanConfiguratorImpl<T> imp
     private String name = null;
     private boolean alternative;
 
-    private Set<Type> typeClosures = new HashSet<>();
+    private Set<Type> typeClosures = new LinkedHashSet<>();
     private Set<InjectionPoint> injectionPoints = new HashSet<>();
     private Set<Annotation> qualifiers = new HashSet<>();
     private Set<Class<? extends Annotation>> stereotypes = new HashSet<>();
@@ -337,7 +338,9 @@ public class BeanConfiguratorImpl<T> imp
 
         public ConstructedBean()
         {
-            this.returnType = null; //X TODO calculate return type from the 
typeClosures
+            //X TODO calculate return type from the typeClosures properly
+            this.returnType = beanClass != null ? Class.class.cast(beanClass) 
: (typeClosures.isEmpty() ? null :
+                    
Class.class.cast(typeClosures.stream().filter(Class.class::isInstance).findFirst().orElse(null)));
 
             dependent = 
!webBeansContext.getBeanManagerImpl().isNormalScope(scope);
 
@@ -381,7 +384,7 @@ public class BeanConfiguratorImpl<T> imp
         @Override
         public Class<?> getBeanClass()
         {
-            return beanClass;
+            return beanClass == null ? returnType : beanClass;
         }
 
         @Override
@@ -405,7 +408,7 @@ public class BeanConfiguratorImpl<T> imp
         @Override
         public Class<T> getReturnType()
         {
-            return (Class<T>) beanClass;
+            return returnType;
         }
 
         @Override

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java?rev=1798914&r1=1798913&r2=1798914&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
 Fri Jun 16 11:50:12 2017
@@ -1188,11 +1188,13 @@ public class BeanManagerImpl implements
         return injectionResolver.resolve(beans, null);
     }
 
-    //X TODO OWB-1182 CDI 2.0
     @Override
     public <T> InterceptionFactory<T> 
createInterceptionFactory(CreationalContext<T> creationalContext, Class<T> 
clazz)
     {
-        throw new UnsupportedOperationException("CDI 2.0 not yet implemented");
+        return new InterceptionFactoryImpl(
+                webBeansContext, createAnnotatedType(clazz), 
AnnotationUtil.DEFAULT_AND_ANY_ANNOTATION,
+                // ok, we can need to not cast that brutally
+                CreationalContextImpl.class.cast(creationalContext));
     }
 
     /**

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectableBeanManager.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectableBeanManager.java?rev=1798914&r1=1798913&r2=1798914&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectableBeanManager.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectableBeanManager.java
 Fri Jun 16 11:50:12 2017
@@ -232,11 +232,10 @@ public class InjectableBeanManager imple
         return bm.resolve(beans);
     }
 
-    //X TODO OWB-1182 CDI 2.0
     @Override
     public <T> InterceptionFactory<T> 
createInterceptionFactory(CreationalContext<T> creationalContext, Class<T> 
aClass)
     {
-        throw new UnsupportedOperationException("CDI 2.0 not yet imlemented");
+        return bm.createInterceptionFactory(creationalContext, aClass);
     }
 
     @Override

Modified: openwebbeans/trunk/webbeans-tck/testng-dev.xml
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-tck/testng-dev.xml?rev=1798914&r1=1798913&r2=1798914&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-tck/testng-dev.xml (original)
+++ openwebbeans/trunk/webbeans-tck/testng-dev.xml Fri Jun 16 11:50:12 2017
@@ -18,7 +18,7 @@
 <suite name="JSR-346-TCK" verbose="2" configfailurepolicy="continue">
   <test name="JSR-346 TCK">
     <classes>
-          <class 
name="org.jboss.cdi.tck.tests.extensions.lifecycle.bbd.broken.passivatingScope.AddingPassivatingScopeTest"
 />
+          <class 
name="org.jboss.cdi.tck.tests.extensions.interceptionFactory.customBean.CustomBeanWithInterceptorTest"
 />
       <!--
 
       <class 
name="org.jboss.cdi.tck.tests.event.parameterized.ParameterizedEventTest" />


Reply via email to