Author: arne
Date: Wed Apr 17 06:18:07 2013
New Revision: 1468760

URL: http://svn.apache.org/r1468760
Log:
OWB-843: Implemented createInjectionPoint

Modified:
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/AbstractBeanManager.java
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/impl/InjectionPointFactory.java

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/AbstractBeanManager.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/AbstractBeanManager.java?rev=1468760&r1=1468759&r2=1468760&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/AbstractBeanManager.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/AbstractBeanManager.java
 Wed Apr 17 06:18:07 2013
@@ -19,7 +19,11 @@
 package org.apache.webbeans.container;
 
 import java.lang.annotation.Annotation;
+
+import javax.enterprise.inject.spi.AnnotatedField;
+import javax.enterprise.inject.spi.AnnotatedParameter;
 import javax.enterprise.inject.spi.BeanManager;
+import javax.enterprise.inject.spi.InjectionPoint;
 
 import org.apache.webbeans.config.WebBeansContext;
 import org.apache.webbeans.util.AnnotationUtil;
@@ -48,4 +52,14 @@ public abstract class AbstractBeanManage
     {
         return AnnotationUtil.getCdiAnnotationHashCode(annotation);
     }
+
+    public InjectionPoint createInjectionPoint(AnnotatedField<?> field)
+    {
+        return 
getWebBeansContext().getInjectionPointFactory().buildInjectionPoint(null, 
field);
+    }
+
+    public InjectionPoint createInjectionPoint(AnnotatedParameter<?> parameter)
+    {
+        return 
getWebBeansContext().getInjectionPointFactory().buildInjectionPoint(null, 
parameter);
+    }
 }

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/impl/InjectionPointFactory.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/impl/InjectionPointFactory.java?rev=1468760&r1=1468759&r2=1468760&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/impl/InjectionPointFactory.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/impl/InjectionPointFactory.java
 Wed Apr 17 06:18:07 2013
@@ -134,6 +134,14 @@ public class InjectionPointFactory
         return new InjectionPointImpl(owner, annotField.getBaseType(), 
Arrays.asList(qualifierAnnots), annotField);
     }
 
+    public <X> InjectionPoint buildInjectionPoint(Bean<?> owner, 
AnnotatedParameter<X> parameter)
+    {
+        Asserts.assertNotNull(parameter, "parameter parameter can not be 
null");
+        Set<Annotation> anns = parameter.getAnnotations();
+        Annotation[] qualifierAnnots = 
webBeansContext.getAnnotationManager().getQualifierAnnotations(anns.toArray(new 
Annotation[anns.size()]));
+        return new InjectionPointImpl(owner, parameter.getBaseType(), 
Arrays.asList(qualifierAnnots), parameter);
+    }
+
     public <X> List<InjectionPoint> buildInjectionPoints(Bean<?> owner, 
AnnotatedCallable<X> callable)
     {
         List<InjectionPoint> lists = new ArrayList<InjectionPoint>();
@@ -152,10 +160,7 @@ public class InjectionPointFactory
             //@Observes is not injection point type for method parameters
             if (parameter.getAnnotation(Observes.class) == null)
             {
-                Set<Annotation> anns = parameter.getAnnotations();
-                Annotation[] qualifierAnnots = 
webBeansContext.getAnnotationManager().getQualifierAnnotations(anns.toArray(new 
Annotation[anns.size()]));
-                InjectionPoint point = new InjectionPointImpl(owner, 
parameter.getBaseType(), Arrays.asList(qualifierAnnots), parameter);
-                lists.add(point);
+                lists.add(buildInjectionPoint(owner, parameter));
             }
         }
     }


Reply via email to