Author: struberg
Date: Thu Jan 10 11:03:39 2013
New Revision: 1431276

URL: http://svn.apache.org/viewvc?rev=1431276&view=rev
Log:
OWB-344 remove ResolutionUtil

Removed:
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/ResolutionUtil.java
Modified:
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/WebBeansContext.java
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java

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=1431276&r1=1431275&r2=1431276&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
 Thu Jan 10 11:03:39 2013
@@ -27,7 +27,6 @@ import java.util.Properties;
 
 import org.apache.webbeans.annotation.AnnotationManager;
 import org.apache.webbeans.container.BeanManagerImpl;
-import org.apache.webbeans.container.ResolutionUtil;
 import org.apache.webbeans.container.SerializableBeanVault;
 import org.apache.webbeans.context.ContextFactory;
 import org.apache.webbeans.context.creational.CreationalContextFactory;
@@ -82,7 +81,6 @@ public class WebBeansContext
     private final SerializableBeanVault serializableBeanVault = new 
SerializableBeanVault();
     private final StereoTypeManager stereoTypeManager = new 
StereoTypeManager();
     private final AnnotationManager annotationManager = new 
AnnotationManager(this);
-    private final ResolutionUtil resolutionUtil = new ResolutionUtil(this);
     private final InjectionPointFactory injectionPointFactory = new 
InjectionPointFactory(this);
     private final InterceptorUtil interceptorUtil = new InterceptorUtil(this);
     private final SecurityService securityService;
@@ -230,11 +228,6 @@ public class WebBeansContext
         return injectionPointFactory;
     }
 
-    public ResolutionUtil getResolutionUtil()
-    {
-        return resolutionUtil;
-    }
-
     public WebBeansUtil getWebBeansUtil()
     {
         return webBeansUtil;

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java?rev=1431276&r1=1431275&r2=1431276&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
 Thu Jan 10 11:03:39 2013
@@ -686,7 +686,7 @@ public class BeanManagerImpl implements 
         //Check type if bean type is given
         if(beanType != null)
         {
-            
if(!webBeansContext.getResolutionUtil().checkBeanTypeAssignableToGivenType(bean.getTypes(),
 beanType, bean instanceof NewBean))
+            if(!isBeanTypeAssignableToGivenType(bean.getTypes(), beanType, 
bean instanceof NewBean))
             {
                 throw new IllegalArgumentException("Given bean type : " + 
beanType + " is not applicable for the bean instance : " + bean);
             }
@@ -741,7 +741,37 @@ public class BeanManagerImpl implements 
         
         return instance;
     }
-    
+
+
+    private boolean isBeanTypeAssignableToGivenType(Set<Type> beanTypes, Type 
givenType, boolean newBean)
+    {
+        Iterator<Type> itBeanApiTypes = beanTypes.iterator();
+        while (itBeanApiTypes.hasNext())
+        {
+            Type beanApiType = itBeanApiTypes.next();
+
+            if(ClassUtil.isAssignable(beanApiType, givenType))
+            {
+                return true;
+            }
+            else
+            {
+                //Check for @New
+                if(newBean && ClassUtil.isParametrizedType(givenType))
+                {
+                    Class<?> requiredType = ClassUtil.getClass(givenType);
+                    if(ClassUtil.isClassAssignable(requiredType, 
ClassUtil.getClass(beanApiType)))
+                    {
+                        return true;
+                    }
+                }
+            }
+        }
+
+        return false;
+    }
+
+
     private Object getEjbOrJmsProxyReference(Bean<?> bean,Type beanType, 
CreationalContext<?> creationalContext)
     {
         //Create session bean proxy


Reply via email to