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);
 }