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/12/26 08:25:37 UTC
svn commit: r1647940 - in /openwebbeans/trunk:
webbeans-impl/src/main/java/org/apache/webbeans/config/
webbeans-impl/src/main/java/org/apache/webbeans/event/
webbeans-impl/src/main/java/org/apache/webbeans/plugins/
webbeans-spi/src/main/java/org/apache...
Author: rmannibucau
Date: Fri Dec 26 07:25:36 2014
New Revision: 1647940
URL: http://svn.apache.org/r1647940
Log:
better handling on ProcessInjectonPoint + firing it even for vetoed ee components
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/event/NotificationManager.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/plugins/PluginLoader.java
openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/spi/plugins/OpenWebBeansJavaEEPlugin.java
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java?rev=1647940&r1=1647939&r2=1647940&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java Fri Dec 26 07:25:36 2014
@@ -95,6 +95,7 @@ import javax.enterprise.inject.spi.Annot
import javax.enterprise.inject.spi.Bean;
import javax.enterprise.inject.spi.Decorator;
import javax.enterprise.inject.spi.InjectionPoint;
+import javax.enterprise.inject.spi.InjectionTarget;
import javax.enterprise.inject.spi.Interceptor;
import javax.enterprise.inject.spi.ObserverMethod;
import javax.enterprise.inject.spi.Producer;
@@ -905,6 +906,16 @@ public class BeansDeployer
{
if (isVetoed(implClass))
{
+ if (isEEComponent(implClass))
+ {
+ // fire injection point events and forget
+ AnnotatedType<?> annotatedType = annotatedElementFactory.newAnnotatedType(implClass);
+ InjectionTarget<?> it = webBeansContext.getBeanManagerImpl().createInjectionTarget(annotatedType);
+ for (final InjectionPoint ip : it.getInjectionPoints())
+ {
+ webBeansContext.getWebBeansUtil().fireProcessInjectionPointEvent(ip);
+ }
+ }
continue;
}
@@ -948,6 +959,12 @@ public class BeansDeployer
return annotatedTypes;
}
+ private boolean isEEComponent(final Class<?> impl)
+ {
+ OpenWebBeansJavaEEPlugin eePlugin = webBeansContext.getPluginLoader().getJavaEEPlugin();
+ return eePlugin != null && eePlugin.isEEComponent(impl);
+ }
+
private boolean isVetoed(final Class<?> implClass)
{
if (implClass.getAnnotation(Vetoed.class) != null)
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/event/NotificationManager.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/event/NotificationManager.java?rev=1647940&r1=1647939&r2=1647940&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/event/NotificationManager.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/event/NotificationManager.java Fri Dec 26 07:25:36 2014
@@ -464,8 +464,7 @@ public final class NotificationManager
if(checkEventTypeParameterForExtensions(beanClass, actualArgs[0])
&& (secondParam == null || actualArgs.length == 1
|| checkEventTypeParameterForExtensions(secondParam, actualArgs[1])
- || (ParameterizedType.class.isInstance(secondParam) && Class.class.isInstance(actualArgs[1])
- && ParameterizedType.class.cast(secondParam).getRawType() == actualArgs[1])))
+ || GenericsUtil.isAssignableFrom(false, false, secondParam, actualArgs[1])))
{
addToMatching(type, matching);
}
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/plugins/PluginLoader.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/plugins/PluginLoader.java?rev=1647940&r1=1647939&r2=1647940&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/plugins/PluginLoader.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/plugins/PluginLoader.java Fri Dec 26 07:25:36 2014
@@ -256,7 +256,7 @@ public class PluginLoader
return (OpenWebBeansJavaEEPlugin)plugin;
}
}
-
+
return null;
}
Modified: openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/spi/plugins/OpenWebBeansJavaEEPlugin.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/spi/plugins/OpenWebBeansJavaEEPlugin.java?rev=1647940&r1=1647939&r2=1647940&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/spi/plugins/OpenWebBeansJavaEEPlugin.java (original)
+++ openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/spi/plugins/OpenWebBeansJavaEEPlugin.java Fri Dec 26 07:25:36 2014
@@ -29,6 +29,6 @@ package org.apache.webbeans.spi.plugins;
*
*/
public interface OpenWebBeansJavaEEPlugin extends OpenWebBeansPlugin
-{
- //Any future operations for java ee containers
+{
+ boolean isEEComponent(Class<?> impl);
}