You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by gp...@apache.org on 2011/05/18 21:43:11 UTC
svn commit: r1124396 - in /myfaces/extensions/cdi/trunk/core/api/src:
main/java/org/apache/myfaces/extensions/cdi/core/api/provider/BeanManagerProvider.java
test/java/org/apache/myfaces/extensions/cdi/core/test/api/provider/BeanManagerProviderTest.java
Author: gpetracek
Date: Wed May 18 19:43:10 2011
New Revision: 1124396
URL: http://svn.apache.org/viewvc?rev=1124396&view=rev
Log:
EXTCDI-188 improved api
Modified:
myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/provider/BeanManagerProvider.java
myfaces/extensions/cdi/trunk/core/api/src/test/java/org/apache/myfaces/extensions/cdi/core/test/api/provider/BeanManagerProviderTest.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=1124396&r1=1124395&r2=1124396&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 19:43:10 2011
@@ -30,7 +30,6 @@ import javax.enterprise.inject.spi.Exten
import javax.naming.InitialContext;
import javax.naming.NamingException;
import java.lang.annotation.Annotation;
-import java.lang.reflect.Type;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
@@ -115,15 +114,18 @@ public class BeanManagerProvider impleme
*
* @param type the java type it represents. E.g. 'MailService.class'
* @param qualifiers additional qualifiers which further distinct the resolved bean
+ * @param <T> target type
* @return the resolved Contextual Reference
*/
- public Object getContextualReference(Type type, Annotation... qualifiers)
+ public <T> T getContextualReference(Class<T> type, Annotation... qualifiers)
{
BeanManager bm = getBeanManager();
Set<Bean<?>> beans = bm.getBeans(type, qualifiers);
Bean<?> bean = bm.resolve(beans);
CreationalContext<?> cc = bm.createCreationalContext(bean);
- return bm.getReference(bean, type, cc);
+
+ //noinspection unchecked
+ return (T) bm.getReference(bean, type, cc);
}
/**
Modified: myfaces/extensions/cdi/trunk/core/api/src/test/java/org/apache/myfaces/extensions/cdi/core/test/api/provider/BeanManagerProviderTest.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/test/java/org/apache/myfaces/extensions/cdi/core/test/api/provider/BeanManagerProviderTest.java?rev=1124396&r1=1124395&r2=1124396&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/test/java/org/apache/myfaces/extensions/cdi/core/test/api/provider/BeanManagerProviderTest.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/test/java/org/apache/myfaces/extensions/cdi/core/test/api/provider/BeanManagerProviderTest.java Wed May 18 19:43:10 2011
@@ -42,7 +42,7 @@ public class BeanManagerProviderTest
BeanManager bm = bmp.getBeanManager();
Assert.assertNotNull(bm);
- TestBean tb1 = (TestBean) bmp.getContextualReference(TestBean.class);
+ TestBean tb1 = bmp.getContextualReference(TestBean.class);
Assert.assertNotNull(tb1);
TestBean tb2 = (TestBean) bmp.getContextualReference("extraNameBean");