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");