You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by ge...@apache.org on 2009/10/17 23:49:54 UTC

svn commit: r826313 - in /incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans: container/InjectionResolver.java util/WebBeansUtil.java

Author: gerdogdu
Date: Sat Oct 17 21:49:54 2009
New Revision: 826313

URL: http://svn.apache.org/viewvc?rev=826313&view=rev
Log:
Update usage of @New.

Modified:
    incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java
    incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java

Modified: incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java?rev=826313&r1=826312&r2=826313&view=diff
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java (original)
+++ incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java Sat Oct 17 21:49:54 2009
@@ -22,6 +22,7 @@
 import java.util.Set;
 
 import javax.enterprise.inject.Instance;
+import javax.enterprise.inject.New;
 import javax.enterprise.inject.spi.Bean;
 import javax.enterprise.inject.spi.InjectionPoint;
 
@@ -136,6 +137,14 @@
         
         Set<Bean<?>> beanSet = implResolveByType(type, qualifiers);
         
+        if(beanSet.isEmpty())
+        {
+            if(qualifiers.length == 1 && qualifiers[0].annotationType().equals(New.class))
+            {
+                beanSet.add(WebBeansUtil.createNewComponent(clazz));
+            }
+        }
+        
         ResolutionUtil.checkResolvedBeans(beanSet, clazz, qualifiers);
         
         Bean<?> bean = beanSet.iterator().next();
@@ -192,6 +201,15 @@
         }
 
         Set<Bean<?>> beanSet = implResolveByType(type, qualifiers);
+        
+        if(beanSet.isEmpty())
+        {
+            if(qualifiers.length == 1 && qualifiers[0].annotationType().equals(New.class))
+            {
+                beanSet.add(WebBeansUtil.createNewComponent(clazz));
+            }
+        }
+        
 
         ResolutionUtil.checkResolvedBeans(beanSet, clazz, qualifiers);   
 

Modified: incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java?rev=826313&r1=826312&r2=826313&view=diff
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java (original)
+++ incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java Sat Oct 17 21:49:54 2009
@@ -575,6 +575,7 @@
         {
             comp = new NewBean<T>(clazz, WebBeansType.MANAGED);
             comp.setConstructor(WebBeansUtil.defineConstructor(clazz));
+            DefinitionUtil.addConstructorInjectionPointMetaData(comp, comp.getConstructor());
 
             DefinitionUtil.defineInjectedFields(comp);
             DefinitionUtil.defineInjectedMethods(comp);