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/12/19 01:13:32 UTC

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

Author: gerdogdu
Date: Sat Dec 19 00:13:32 2009
New Revision: 892409

URL: http://svn.apache.org/viewvc?rev=892409&view=rev
Log:
[OWB-201] @New must use its value field while creating New bean

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=892409&r1=892408&r2=892409&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 Dec 19 00:13:32 2009
@@ -25,6 +25,7 @@
 import javax.enterprise.inject.New;
 import javax.enterprise.inject.spi.Bean;
 import javax.enterprise.inject.spi.InjectionPoint;
+import javax.inject.Qualifier;
 
 import org.apache.webbeans.annotation.AnyLiteral;
 import org.apache.webbeans.annotation.DefaultLiteral;
@@ -138,7 +139,17 @@
         {
             if(qualifiers.length == 1 && qualifiers[0].annotationType().equals(New.class))
             {
-                beanSet.add(WebBeansUtil.createNewComponent(clazz));
+                New newQualifier =  (New)qualifiers[0];
+                
+                if(newQualifier.value() == New.class)
+                {
+                    beanSet.add(WebBeansUtil.createNewComponent(clazz));    
+                }
+                else
+                {
+                    beanSet.add(WebBeansUtil.createNewComponent(newQualifier.value()));
+                }
+                
             }
         }
         
@@ -203,7 +214,17 @@
         {
             if(qualifiers.length == 1 && qualifiers[0].annotationType().equals(New.class))
             {
-                beanSet.add(WebBeansUtil.createNewComponent(clazz));
+                New newQualifier =  (New)qualifiers[0];
+                
+                if(newQualifier.value() == New.class)
+                {
+                    beanSet.add(WebBeansUtil.createNewComponent(clazz));    
+                }
+                else
+                {
+                    beanSet.add(WebBeansUtil.createNewComponent(newQualifier.value()));
+                }
+
             }
         }
         

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=892409&r1=892408&r2=892409&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 Dec 19 00:13:32 2009
@@ -587,7 +587,7 @@
         }
 
         comp.setImplScopeType(new DependentScopeLiteral());
-        comp.addQualifier(new NewLiteral());
+        comp.addQualifier(new NewLiteral(clazz));
         comp.setName(null);
         comp.addApiType(clazz);
         comp.addApiType(Object.class);
@@ -656,7 +656,7 @@
         
         
         comp.setImplScopeType(new DependentScopeLiteral());
-        comp.addQualifier(new NewLiteral());
+        comp.addQualifier(new NewLiteral(component.getBeanClass()));
         comp.setName(null);
         
         Set<InjectionPoint> injectionPoints = component.getInjectionPoints();