You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by st...@apache.org on 2013/01/10 12:03:40 UTC
svn commit: r1431276 - in
/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans:
config/WebBeansContext.java container/BeanManagerImpl.java
container/ResolutionUtil.java
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