You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by st...@apache.org on 2011/05/18 22:38:41 UTC
svn commit: r1124413 -
/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/provider/BeanManagerProvider.java
Author: struberg
Date: Wed May 18 20:38:41 2011
New Revision: 1124413
URL: http://svn.apache.org/viewvc?rev=1124413&view=rev
Log:
EXTCDI-188 refine typesafe getReference even more
Modified:
myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/provider/BeanManagerProvider.java
Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/provider/BeanManagerProvider.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/provider/BeanManagerProvider.java?rev=1124413&r1=1124412&r2=1124413&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/provider/BeanManagerProvider.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/provider/BeanManagerProvider.java Wed May 18 20:38:41 2011
@@ -121,11 +121,8 @@ public class BeanManagerProvider impleme
{
BeanManager beanManager = getBeanManager();
Set<Bean<?>> beans = beanManager.getBeans(type, qualifiers);
- Bean<?> bean = beanManager.resolve(beans);
- CreationalContext<?> creationalContext = beanManager.createCreationalContext(bean);
- //noinspection unchecked
- return (T) beanManager.getReference(bean, type, creationalContext);
+ return getReference(type, beanManager, beans);
}
/**
@@ -141,11 +138,25 @@ public class BeanManagerProvider impleme
{
BeanManager beanManager = getBeanManager();
Set<Bean<?>> beans = beanManager.getBeans(name);
+
+ return getReference(type, beanManager, beans);
+ }
+
+ /**
+ * Internal helper method to resolve the right bean and
+ * resolve the contextual reference.
+ * @param type
+ * @param beanManager
+ * @param beans
+ * @param <T>
+ * @return the contextual reference
+ */
+ private <T> T getReference(Class<T> type, BeanManager beanManager, Set<Bean<?>> beans)
+ {
Bean<?> bean = beanManager.resolve(beans);
CreationalContext<?> creationalContext = beanManager.createCreationalContext(bean);
- //noinspection unchecked
- return (T)beanManager.getReference(bean, Object.class, creationalContext);
+ return (T)beanManager.getReference(bean, type, creationalContext);
}
/**