Author: rmannibucau
Date: Fri Jun 16 08:46:10 2017
New Revision: 1798898

URL: http://svn.apache.org/viewvc?rev=1798898&view=rev
Log:
tck generic matching flag

Modified:
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/OpenWebBeansConfiguration.java
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/WebBeansContext.java
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java
    
openwebbeans/trunk/webbeans-tck/src/main/resources/META-INF/openwebbeans/openwebbeans.properties
    openwebbeans/trunk/webbeans-tck/testng-dev.xml

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/OpenWebBeansConfiguration.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/OpenWebBeansConfiguration.java?rev=1798898&r1=1798897&r2=1798898&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/OpenWebBeansConfiguration.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/OpenWebBeansConfiguration.java
 Fri Jun 16 08:46:10 2017
@@ -83,6 +83,9 @@ public class OpenWebBeansConfiguration
      */
     public static final String STRICT_DYNAMIC_VALIDATION = 
"org.apache.webbeans.strictDynamicValidation";
 
+    /**If generics should be taken into account for the matching*/
+    public static final String FAST_MATCHING = 
"org.apache.webbeans.container.InjectionResolver.fastMatching";
+
     /**Use EJB Discovery or not*/
     public static final String USE_EJB_DISCOVERY = 
"org.apache.webbeans.spi.deployer.useEjbMetaDataDiscoveryService";
 

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/WebBeansContext.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/WebBeansContext.java?rev=1798898&r1=1798897&r2=1798898&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/WebBeansContext.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/WebBeansContext.java
 Fri Jun 16 08:46:10 2017
@@ -185,6 +185,8 @@ public class WebBeansContext
         managerMap.put(InterceptorResolutionService.class, 
interceptorResolutionService);
         managerMap.put(NotificationManager.class, notificationManager);
 
+        
beanManagerImpl.getInjectionResolver().setFastMatching(!"false".equalsIgnoreCase(getOpenWebBeansConfiguration()
+                .getProperty(OpenWebBeansConfiguration.FAST_MATCHING)));
     }
 
     public static WebBeansContext getInstance()

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java?rev=1798898&r1=1798897&r2=1798898&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java
 Fri Jun 16 08:46:10 2017
@@ -100,7 +100,8 @@ public class InjectionResolver
     private Map<String, Set<Bean<?>>> resolvedBeansByName = new 
ConcurrentHashMap<String, Set<Bean<?>>>();
 
     private boolean startup;
-    
+    private boolean fastMatching;
+
     /**
      * Creates a new injection resolve for given bean manager.
      *
@@ -113,6 +114,11 @@ public class InjectionResolver
         this.startup = false;
     }
 
+    public void setFastMatching(final boolean fastMatching)
+    {
+        this.fastMatching = fastMatching;
+    }
+
     public void setStartup(boolean startup)
     {
         this.startup = startup;
@@ -479,13 +485,30 @@ public class InjectionResolver
             }
             else
             {
-                for (Type componentApiType : component.getTypes())
+                if (fastMatching)
                 {
+                    for (Type componentApiType : component.getTypes())
+                    {
 
-                    if (ClassUtil.isRawClassEquals(injectionPointType, 
componentApiType))
+                        if (ClassUtil.isRawClassEquals(injectionPointType, 
componentApiType))
+                        {
+                            resolvedComponents.add(component);
+                            break;
+                        }
+                    }
+                }
+                else
+                {
+                    for (Type componentApiType : component.getTypes())
                     {
-                        resolvedComponents.add(component);
-                        break;
+
+                        if (GenericsUtil.satisfiesDependency(
+                                isDelegate, 
AbstractProducerBean.class.isInstance(component),
+                                injectionPointType, componentApiType))
+                        {
+                            resolvedComponents.add(component);
+                            break;
+                        }
                     }
                 }
             }

Modified: 
openwebbeans/trunk/webbeans-tck/src/main/resources/META-INF/openwebbeans/openwebbeans.properties
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-tck/src/main/resources/META-INF/openwebbeans/openwebbeans.properties?rev=1798898&r1=1798897&r2=1798898&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-tck/src/main/resources/META-INF/openwebbeans/openwebbeans.properties
 (original)
+++ 
openwebbeans/trunk/webbeans-tck/src/main/resources/META-INF/openwebbeans/openwebbeans.properties
 Fri Jun 16 08:46:10 2017
@@ -39,3 +39,6 @@ org.apache.webbeans.application.supports
 # we have to switch back to the un-cached version of the normal scoping handler
 
org.apache.webbeans.proxy.mapping.javax.enterprise.context.ApplicationScoped=org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler
 
+
+org.apache.webbeans.container.InjectionResolver.fastMatching = false
+

Modified: openwebbeans/trunk/webbeans-tck/testng-dev.xml
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-tck/testng-dev.xml?rev=1798898&r1=1798897&r2=1798898&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-tck/testng-dev.xml (original)
+++ openwebbeans/trunk/webbeans-tck/testng-dev.xml Fri Jun 16 08:46:10 2017
@@ -18,9 +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.processBeanAttributes.VerifyValuesTest"
 />
-          <class 
name="org.jboss.cdi.tck.tests.lookup.byname.ambiguous.AmbiguousELNamesTest" />
-          <class 
name="org.jboss.cdi.tck.tests.lookup.byname.ambiguous.broken.AmbiguousELNamesTest"
 />
+          <class 
name="org.jboss.cdi.tck.tests.extensions.interceptionFactory.InterceptionFactoryTest"
 />
       <!--
       <class 
name="org.jboss.cdi.tck.tests.event.parameterized.ParameterizedEventTest" />
       <class name="org.jboss.cdi.tck.tests.event.fires.FireEventTest" />


Reply via email to