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