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" />