[webbeans-commits] Webbeans SVN: r932 - in ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector: jlr and 1 other directory.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-01-13 19:22:17 -0500 (Tue, 13 Jan 2009)
New Revision: 932
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedClass.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedClassImpl.java
Log:
Fix generic types
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedClass.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedClass.java 2009-01-14 00:20:43 UTC (rev 931)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedClass.java 2009-01-14 00:22:17 UTC (rev 932)
@@ -36,7 +36,7 @@
*
* @return A set of abstracted fields
*/
- public Set<AnnotatedField<Object>> getFields();
+ public Set<AnnotatedField<?>> getFields();
/**
* Gets all annotations which are annotated with the given annotation type
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedClassImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedClassImpl.java 2009-01-14 00:20:43 UTC (rev 931)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedClassImpl.java 2009-01-14 00:22:17 UTC (rev 932)
@@ -216,7 +216,7 @@
private final Type[] actualTypeArguments;
// The set of abstracted fields
- private final Set<AnnotatedField<Object>> fields;
+ private final Set<AnnotatedField<?>> fields;
// The map from annotation type to abstracted field with annotation
private final AnnotatedFieldMap annotatedFields;
// The map from annotation type to abstracted field with meta-annotation
@@ -264,7 +264,7 @@
actualTypeArguments = new Type[0];
}
- this.fields = new HashSet<AnnotatedField<Object>>();
+ this.fields = new HashSet<AnnotatedField<?>>();
this.annotatedFields = new AnnotatedFieldMap();
this.metaAnnotatedFields = new AnnotatedFieldMap();
for (Class<?> c = clazz; c != Object.class && c != null; c = c.getSuperclass())
@@ -389,7 +389,7 @@
*
* @return The set of abstracted fields
*/
- public Set<AnnotatedField<Object>> getFields()
+ public Set<AnnotatedField<?>> getFields()
{
return Collections.unmodifiableSet(fields);
}
17 years, 3 months
[webbeans-commits] Webbeans SVN: r931 - ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-01-13 19:20:43 -0500 (Tue, 13 Jan 2009)
New Revision: 931
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedType.java
Log:
Fix generic types
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedType.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedType.java 2009-01-13 23:47:54 UTC (rev 930)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedType.java 2009-01-14 00:20:43 UTC (rev 931)
@@ -32,7 +32,7 @@
*
* @return The abstracted superclass
*/
- public AnnotatedType<Object> getSuperclass();
+ public AnnotatedType<?> getSuperclass();
/**
* Check if this is equivalent to a java class
17 years, 3 months
[webbeans-commits] Webbeans SVN: r930 - in ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans: introspector and 1 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-01-13 18:47:54 -0500 (Tue, 13 Jan 2009)
New Revision: 930
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/ObserverImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedConstructor.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedMember.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedConstructorImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedMethodImpl.java
Log:
more fixes to generic types
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/ObserverImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/ObserverImpl.java 2009-01-13 23:42:38 UTC (rev 929)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/ObserverImpl.java 2009-01-13 23:47:54 UTC (rev 930)
@@ -144,7 +144,7 @@
private void validateObserverMethod()
{
// Make sure exactly one and only one parameter is annotated with Observes
- List<AnnotatedParameter<Object>> eventObjects = this.observerMethod.getAnnotatedParameters(Observes.class);
+ List<AnnotatedParameter<?>> eventObjects = this.observerMethod.getAnnotatedParameters(Observes.class);
if (eventObjects.size() > 1)
{
throw new DefinitionException(this + " is invalid because it contains more than event parameter");
@@ -153,14 +153,14 @@
// variable or wildcard
if (eventObjects.size() > 0)
{
- AnnotatedParameter<Object> eventParam = eventObjects.iterator().next();
+ AnnotatedParameter<?> eventParam = eventObjects.iterator().next();
if (Reflections.isParameterizedType(eventParam.getType()))
{
throw new DefinitionException(this + " cannot observe parameterized event types");
}
}
// Check for parameters annotated with @Disposes
- List<AnnotatedParameter<Object>> disposeParams = this.observerMethod.getAnnotatedParameters(Disposes.class);
+ List<AnnotatedParameter<?>> disposeParams = this.observerMethod.getAnnotatedParameters(Disposes.class);
if (disposeParams.size() > 0)
{
throw new DefinitionException(this + " cannot have any parameters annotated with @Dispose");
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedConstructor.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedConstructor.java 2009-01-13 23:42:38 UTC (rev 929)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedConstructor.java 2009-01-13 23:47:54 UTC (rev 930)
@@ -48,7 +48,7 @@
* @return A list of abstracted parameters with the given annotation type.
* Returns an empty set if there are no matches.
*/
- public List<AnnotatedParameter<Object>> getAnnotatedParameters(Class<? extends Annotation> annotationType);
+ public List<AnnotatedParameter<?>> getAnnotatedParameters(Class<? extends Annotation> annotationType);
/**
* Creates a new instance of the class, using this constructor
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java 2009-01-13 23:42:38 UTC (rev 929)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java 2009-01-13 23:47:54 UTC (rev 930)
@@ -62,7 +62,7 @@
* @return A set of matching parameter abstractions. Returns an empty list if
* there are no matches.
*/
- public List<AnnotatedParameter<Object>> getAnnotatedParameters(Class<? extends Annotation> metaAnnotationType);
+ public List<AnnotatedParameter<?>> getAnnotatedParameters(Class<? extends Annotation> metaAnnotationType);
/**
* Get the parameter types as an array
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedMember.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedMember.java 2009-01-13 23:42:38 UTC (rev 929)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedMember.java 2009-01-13 23:47:54 UTC (rev 930)
@@ -52,27 +52,27 @@
/**
* An annotation type -> list of annotations map
*/
- protected class AnnotatedParameterMap extends ForwardingMap<Class<? extends Annotation>, List<AnnotatedParameter<Object>>>
+ protected class AnnotatedParameterMap extends ForwardingMap<Class<? extends Annotation>, List<AnnotatedParameter<?>>>
{
- private Map<Class<? extends Annotation>, List<AnnotatedParameter<Object>>> delegate;
+ private Map<Class<? extends Annotation>, List<AnnotatedParameter<?>>> delegate;
public AnnotatedParameterMap()
{
- delegate = new HashMap<Class<? extends Annotation>, List<AnnotatedParameter<Object>>>();
+ delegate = new HashMap<Class<? extends Annotation>, List<AnnotatedParameter<?>>>();
}
@Override
- protected Map<Class<? extends Annotation>, List<AnnotatedParameter<Object>>> delegate()
+ protected Map<Class<? extends Annotation>, List<AnnotatedParameter<?>>> delegate()
{
return delegate;
}
- public void put(Class<? extends Annotation> key, AnnotatedParameter<Object> value)
+ public void put(Class<? extends Annotation> key, AnnotatedParameter<?> value)
{
- List<AnnotatedParameter<Object>> parameters = super.get(key);
+ List<AnnotatedParameter<?>> parameters = super.get(key);
if (parameters == null)
{
- parameters = new ArrayList<AnnotatedParameter<Object>>();
+ parameters = new ArrayList<AnnotatedParameter<?>>();
super.put(key, parameters);
}
parameters.add(value);
@@ -85,10 +85,10 @@
}
@Override
- public List<AnnotatedParameter<Object>> get(Object key)
+ public List<AnnotatedParameter<?>> get(Object key)
{
- List<AnnotatedParameter<Object>> parameters = super.get(key);
- return parameters != null ? parameters : new ArrayList<AnnotatedParameter<Object>>();
+ List<AnnotatedParameter<?>> parameters = super.get(key);
+ return parameters != null ? parameters : new ArrayList<AnnotatedParameter<?>>();
}
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedConstructorImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedConstructorImpl.java 2009-01-13 23:42:38 UTC (rev 929)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedConstructorImpl.java 2009-01-13 23:47:54 UTC (rev 930)
@@ -171,7 +171,7 @@
*
* @see org.jboss.webbeans.introspector.AnnotatedConstructor#getAnnotatedParameters(Class)
*/
- public List<AnnotatedParameter<Object>> getAnnotatedParameters(Class<? extends Annotation> annotationType)
+ public List<AnnotatedParameter<?>> getAnnotatedParameters(Class<? extends Annotation> annotationType)
{
return Collections.unmodifiableList(annotatedParameters.get(annotationType));
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedMethodImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedMethodImpl.java 2009-01-13 23:42:38 UTC (rev 929)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedMethodImpl.java 2009-01-13 23:47:54 UTC (rev 930)
@@ -196,7 +196,7 @@
* @return The list of abstracted parameters with given annotation type
* present. An empty list is returned if there are no matches
*/
- public List<AnnotatedParameter<Object>> getAnnotatedParameters(Class<? extends Annotation> annotationType)
+ public List<AnnotatedParameter<?>> getAnnotatedParameters(Class<? extends Annotation> annotationType)
{
return Collections.unmodifiableList(annotatedParameters.get(annotationType));
}
17 years, 3 months
[webbeans-commits] Webbeans SVN: r929 - in ri/trunk/webbeans-ri/src: main/java/org/jboss/webbeans/introspector and 2 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-01-13 18:42:38 -0500 (Tue, 13 Jan 2009)
New Revision: 929
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedConstructor.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedMember.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedConstructorImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedMethodImpl.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanModelTest.java
Log:
more fixes to generic types
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java 2009-01-13 23:33:32 UTC (rev 928)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java 2009-01-13 23:42:38 UTC (rev 929)
@@ -101,7 +101,7 @@
*/
protected void initInjectionPoints()
{
- for (AnnotatedParameter<Object> parameter : method.getParameters())
+ for (AnnotatedParameter<?> parameter : method.getParameters())
{
annotatedInjectionPoints.add(parameter);
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java 2009-01-13 23:33:32 UTC (rev 928)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java 2009-01-13 23:42:38 UTC (rev 929)
@@ -311,13 +311,13 @@
protected void initInjectionPoints()
{
super.initInjectionPoints();
- for (AnnotatedParameter<Object> parameter : constructor.getParameters())
+ for (AnnotatedParameter<?> parameter : constructor.getParameters())
{
annotatedInjectionPoints.add(parameter);
}
for (AnnotatedMethod<Object> initializer : getInitializerMethods())
{
- for (AnnotatedParameter<Object> parameter : initializer.getParameters())
+ for (AnnotatedParameter<?> parameter : initializer.getParameters())
{
annotatedInjectionPoints.add(parameter);
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedConstructor.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedConstructor.java 2009-01-13 23:33:32 UTC (rev 928)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedConstructor.java 2009-01-13 23:42:38 UTC (rev 929)
@@ -38,7 +38,7 @@
* @return A set of abstracted parameters. Returns an empty set if there are
* no parameters
*/
- public List<AnnotatedParameter<Object>> getParameters();
+ public List<AnnotatedParameter<?>> getParameters();
/**
* Gets all parameters to the constructor which are annotated with
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java 2009-01-13 23:33:32 UTC (rev 928)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java 2009-01-13 23:42:38 UTC (rev 929)
@@ -32,6 +32,7 @@
import javax.webbeans.Fires;
import javax.webbeans.IfExists;
import javax.webbeans.Observes;
+
import org.jboss.webbeans.ManagerImpl;
/**
@@ -52,7 +53,7 @@
* @return A list of parameters. Returns an empty list if no parameters are
* present.
*/
- public List<AnnotatedParameter<Object>> getParameters();
+ public List<AnnotatedParameter<?>> getParameters();
/**
* Gets the list of annotated parameters for a given annotation
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedMember.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedMember.java 2009-01-13 23:33:32 UTC (rev 928)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedMember.java 2009-01-13 23:42:38 UTC (rev 929)
@@ -190,7 +190,7 @@
* @param manager The Web Beans manager
* @return The object array of looked up values
*/
- protected Object[] getParameterValues(List<AnnotatedParameter<Object>> parameters, ManagerImpl manager)
+ protected Object[] getParameterValues(List<AnnotatedParameter<?>> parameters, ManagerImpl manager)
{
return getParameterValues(parameters, null, null, manager);
}
@@ -203,17 +203,17 @@
* @param manager The Web Beans manager
* @return The object array of looked up values
*/
- protected Object[] getParameterValues(List<AnnotatedParameter<Object>> parameters, Object specialVal, Class<? extends Annotation> specialParam, ManagerImpl manager)
+ protected Object[] getParameterValues(List<AnnotatedParameter<?>> parameters, Object specialVal, Class<? extends Annotation> specialParam, ManagerImpl manager)
{
Object[] parameterValues = new Object[parameters.size()];
InjectionPointProvider injectionPointProvider = manager.getInjectionPointProvider();
injectionPointProvider.pushInjectionMember(this);
try
{
- Iterator<AnnotatedParameter<Object>> iterator = parameters.iterator();
+ Iterator<AnnotatedParameter<?>> iterator = parameters.iterator();
for (int i = 0; i < parameterValues.length; i++)
{
- AnnotatedParameter<Object> param = iterator.next();
+ AnnotatedParameter<?> param = iterator.next();
if (specialParam != null && param.isAnnotationPresent(specialParam))
{
parameterValues[i] = specialVal;
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedConstructorImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedConstructorImpl.java 2009-01-13 23:33:32 UTC (rev 928)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedConstructorImpl.java 2009-01-13 23:42:38 UTC (rev 929)
@@ -26,6 +26,7 @@
import java.util.List;
import javax.webbeans.ExecutionException;
+
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.introspector.AnnotatedConstructor;
import org.jboss.webbeans.introspector.AnnotatedParameter;
@@ -49,7 +50,7 @@
private final Constructor<T> constructor;
// The list of parameter abstractions
- private final List<AnnotatedParameter<Object>> parameters;
+ private final List<AnnotatedParameter<?>> parameters;
// The mapping of annotation -> parameter abstraction
private final AnnotatedParameterMap annotatedParameters;
@@ -74,7 +75,7 @@
this.constructor = constructor;
this.declaringClass = declaringClass;
- this.parameters = new ArrayList<AnnotatedParameter<Object>>();
+ this.parameters = new ArrayList<AnnotatedParameter<?>>();
annotatedParameters = new AnnotatedParameterMap();
for (int i = 0; i < constructor.getParameterTypes().length; i++)
{
@@ -154,7 +155,7 @@
*
* @see org.jboss.webbeans.introspector.AnnotatedConstructor#getParameters()
*/
- public List<AnnotatedParameter<Object>> getParameters()
+ public List<AnnotatedParameter<?>> getParameters()
{
return Collections.unmodifiableList(parameters);
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedMethodImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedMethodImpl.java 2009-01-13 23:33:32 UTC (rev 928)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedMethodImpl.java 2009-01-13 23:42:38 UTC (rev 929)
@@ -51,7 +51,7 @@
private final Method method;
// The abstracted parameters
- private final List<AnnotatedParameter<Object>> parameters;
+ private final List<AnnotatedParameter<?>> parameters;
// A mapping from annotation type to parameter abstraction with that
// annotation present
private final AnnotatedParameterMap annotatedParameters;
@@ -89,7 +89,7 @@
this.actualTypeArguments = new Type[0];
}
- this.parameters = new ArrayList<AnnotatedParameter<Object>>();
+ this.parameters = new ArrayList<AnnotatedParameter<?>>();
this.annotatedParameters = new AnnotatedParameterMap();
for (int i = 0; i < method.getParameterTypes().length; i++)
{
@@ -177,7 +177,7 @@
*
* @see org.jboss.webbeans.introspector.AnnotatedMethod#getParameters()
*/
- public List<AnnotatedParameter<Object>> getParameters()
+ public List<AnnotatedParameter<?>> getParameters()
{
return Collections.unmodifiableList(parameters);
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanModelTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanModelTest.java 2009-01-13 23:33:32 UTC (rev 928)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanModelTest.java 2009-01-13 23:42:38 UTC (rev 929)
@@ -174,7 +174,7 @@
assert constructor.getParameters().size() == 2;
Map<Class<?>, Set<? extends Annotation>> map = new HashMap<Class<?>, Set<? extends Annotation>>();
- for (AnnotatedParameter<Object> parameter : constructor.getParameters())
+ for (AnnotatedParameter<?> parameter : constructor.getParameters())
{
map.put(parameter.getType(), parameter.getBindingTypes());
}
@@ -208,7 +208,7 @@
AnnotatedConstructor<Turkey> constructor = SimpleBean.of(Turkey.class, manager).getConstructor();
assert constructor.getParameters().size() == 2;
Map<Class<?>, Set<? extends Annotation>> map = new HashMap<Class<?>, Set<? extends Annotation>>();
- for (AnnotatedParameter<Object> parameter : constructor.getParameters())
+ for (AnnotatedParameter<?> parameter : constructor.getParameters())
{
map.put(parameter.getType(), parameter.getBindingTypes());
}
@@ -267,7 +267,7 @@
assert constructor.getDeclaringClass().getType().equals(Duck.class);
assert constructor.getParameters().size() == 2;
Map<Class<?>, Set<? extends Annotation>> map = new HashMap<Class<?>, Set<? extends Annotation>>();
- for (AnnotatedParameter<Object> parameter : constructor.getParameters())
+ for (AnnotatedParameter<?> parameter : constructor.getParameters())
{
map.put(parameter.getType(), parameter.getBindingTypes());
}
17 years, 3 months
[webbeans-commits] Webbeans SVN: r928 - ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/resource.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-01-13 18:33:32 -0500 (Tue, 13 Jan 2009)
New Revision: 928
Added:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/resource/AbstractNaming.java
Log:
oops
Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/resource/AbstractNaming.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/resource/AbstractNaming.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/resource/AbstractNaming.java 2009-01-13 23:33:32 UTC (rev 928)
@@ -0,0 +1,80 @@
+package org.jboss.webbeans.resource;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.naming.Context;
+import javax.naming.NamingException;
+import javax.webbeans.ExecutionException;
+
+import org.jboss.webbeans.resources.spi.Naming;
+
+public abstract class AbstractNaming implements Naming
+{
+
+ public abstract Context getContext();
+
+ /**
+ * Binds in item to JNDI
+ *
+ * @param key The key to bind under
+ * @param value The value to bind
+ */
+ public void bind(String key, Object value)
+ {
+ try
+ {
+ List<String> parts = splitIntoContexts(key);
+ Context context = getContext();
+ for (int i = 0; i < parts.size() - 1; i++)
+ {
+ context = (Context) context.lookup(parts.get(i));
+ }
+ context.bind(parts.get(parts.size() - 1), value);
+ }
+ catch (NamingException e)
+ {
+ throw new ExecutionException("Cannot bind " + value + " to " + key, e);
+ }
+ }
+
+ /**
+ * Lookup an item from JNDI
+ *
+ * @param name The key
+ * @param expectedType The expected return type
+ * @return The found item
+ */
+ @SuppressWarnings("unchecked")
+ public <T> T lookup(String name, Class<? extends T> expectedType)
+ {
+ Object instance;
+ try
+ {
+ instance = getContext().lookup(name);
+ }
+ catch (NamingException e)
+ {
+ throw new ExecutionException("Cannot lookup " + name, e);
+ }
+ try
+ {
+ return (T) instance;
+ }
+ catch (ClassCastException e)
+ {
+ throw new ExecutionException(instance + " not of expected type " + expectedType, e);
+ }
+ }
+
+ private static List<String> splitIntoContexts(String key)
+ {
+ List<String> parts = new ArrayList<String>();
+ for (String part : key.split("/"))
+ {
+ parts.add(part);
+ }
+ return parts;
+ }
+
+}
\ No newline at end of file
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/resource/AbstractNaming.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
17 years, 3 months
[webbeans-commits] Webbeans SVN: r927 - in ri/trunk/webbeans-ri/src: main/java/org/jboss/webbeans/resource and 1 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-01-13 18:33:11 -0500 (Tue, 13 Jan 2009)
New Revision: 927
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/resource/DefaultNaming.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockBootstrap.java
Log:
a sane implementation of MockNaming :-|
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java 2009-01-13 23:23:28 UTC (rev 926)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java 2009-01-13 23:33:11 UTC (rev 927)
@@ -235,7 +235,7 @@
{
DependentContext.INSTANCE.setActive(true);
T instance = produceInstance();
- //checkReturnValue(instance);
+ checkReturnValue(instance);
return instance;
}
finally
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/resource/DefaultNaming.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/resource/DefaultNaming.java 2009-01-13 23:23:28 UTC (rev 926)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/resource/DefaultNaming.java 2009-01-13 23:33:11 UTC (rev 927)
@@ -17,22 +17,16 @@
package org.jboss.webbeans.resource;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.webbeans.ExecutionException;
-import org.jboss.webbeans.resources.spi.Naming;
-
/**
* The default naming provider
*
* @author Pete Muir
*/
-public class DefaultNaming implements Naming
+public class DefaultNaming extends AbstractNaming
{
private static final long serialVersionUID = 1L;
// The initial lookup context
@@ -58,72 +52,9 @@
*
* @return The initial context
*/
- public InitialContext getInitialContext()
+ public InitialContext getContext()
{
return initialContext;
}
- /**
- * Binds in item to JNDI
- *
- * @param key The key to bind under
- * @param value The value to bind
- */
- public void bind(String key, Object value)
- {
- try
- {
- List<String> parts = splitIntoContexts(key);
- Context context = initialContext;
- for (int i = 0; i < parts.size() - 1; i++)
- {
- context = (Context) context.lookup(parts.get(i));
- }
- context.bind(parts.get(parts.size() - 1), value);
- }
- catch (NamingException e)
- {
- throw new ExecutionException("Cannot bind " + value + " to " + key, e);
- }
- }
-
- /**
- * Lookup an item from JNDI
- *
- * @param name The key
- * @param expectedType The expected return type
- * @return The found item
- */
- @SuppressWarnings("unchecked")
- public <T> T lookup(String name, Class<? extends T> expectedType)
- {
- Object instance;
- try
- {
- instance = initialContext.lookup(name);
- }
- catch (NamingException e)
- {
- throw new ExecutionException("Cannot lookup " + name, e);
- }
- try
- {
- return (T) instance;
- }
- catch (ClassCastException e)
- {
- throw new ExecutionException(instance + " not of expected type " + expectedType, e);
- }
- }
-
- private static List<String> splitIntoContexts(String key)
- {
- List<String> parts = new ArrayList<String>();
- for (String part : key.split("/"))
- {
- parts.add(part);
- }
- return parts;
- }
-
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockBootstrap.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockBootstrap.java 2009-01-13 23:23:28 UTC (rev 926)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockBootstrap.java 2009-01-13 23:33:11 UTC (rev 927)
@@ -23,25 +23,18 @@
import org.jboss.webbeans.context.SessionContext;
import org.jboss.webbeans.context.beanmap.SimpleBeanMap;
import org.jboss.webbeans.ejb.spi.EjbResolver;
-import org.jboss.webbeans.resource.DefaultNaming;
+import org.jboss.webbeans.resource.AbstractNaming;
import org.jboss.webbeans.resources.spi.Naming;
import org.jboss.webbeans.resources.spi.ResourceLoader;
public class MockBootstrap extends WebBeansBootstrap
{
- public static class MockNaming implements Naming
+ public static class MockNaming extends AbstractNaming
{
private Context context;
- private Naming delegate;
-
- public MockNaming()
- {
- this.delegate = new DefaultNaming();
- }
-
public void setContext(Context context)
{
this.context = context;
@@ -56,7 +49,7 @@
{
if (context != null)
{
- delegate.bind(key, value);
+ super.bind(key, value);
}
}
@@ -67,7 +60,7 @@
T instance = overrideLookup(name, expectedType);
if (instance == null)
{
- instance = delegate.lookup(name, expectedType);
+ instance = super.lookup(name, expectedType);
}
return instance;
}
@@ -83,7 +76,7 @@
// JBoss Embedded EJB 3.1 doesn't seem to bind this!
if (name.equals("java:comp/UserTransaction"))
{
- final TransactionManager tm = delegate.lookup("java:/TransactionManager", TransactionManager.class);
+ final TransactionManager tm = super.lookup("java:/TransactionManager", TransactionManager.class);
return (T) new UserTransaction()
{
17 years, 3 months
[webbeans-commits] Webbeans SVN: r926 - ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-01-13 18:23:28 -0500 (Tue, 13 Jan 2009)
New Revision: 926
Modified:
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/EnterpriseBeanLifecycleTest.java
Log:
Oops, enabled borked test
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/EnterpriseBeanLifecycleTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/EnterpriseBeanLifecycleTest.java 2009-01-13 23:20:23 UTC (rev 925)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/EnterpriseBeanLifecycleTest.java 2009-01-13 23:23:28 UTC (rev 926)
@@ -51,7 +51,7 @@
* When the destroy() method is called, the Web Bean manager calls the Web
* Bean remove method upon the proxy
*/
- @Test(groups = { "enterpriseBeans", "clientProxy", "lifecycle"})
+ @Test(groups = { "enterpriseBeans", "clientProxy", "lifecycle", "stub"})
@SpecAssertion(section = "6.4")
public void testRemoveMethodCalled()
{
17 years, 3 months
[webbeans-commits] Webbeans SVN: r925 - in ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans: bean and 1 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-01-13 18:20:23 -0500 (Tue, 13 Jan 2009)
New Revision: 925
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/InjectionPointBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedMember.java
Log:
minor
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java 2009-01-13 19:08:14 UTC (rev 924)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java 2009-01-13 23:20:23 UTC (rev 925)
@@ -784,7 +784,7 @@
*
* @return the factory
*/
- public InjectionPointProvider getInjectionPointFactory()
+ public InjectionPointProvider getInjectionPointProvider()
{
return injectionPointProvider;
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java 2009-01-13 19:08:14 UTC (rev 924)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java 2009-01-13 23:20:23 UTC (rev 925)
@@ -164,7 +164,7 @@
{
throw new IllegalProductException("Producers cannot declare passivating scope and return a non-serializable class");
}
- InjectionPointImpl injectionPoint = (InjectionPointImpl) manager.getInjectionPointFactory().getCurrentInjectionPoint();
+ InjectionPointImpl injectionPoint = (InjectionPointImpl) manager.getInjectionPointProvider().getCurrentInjectionPoint();
if (dependent && Reflections.isPassivatingBean(injectionPoint.getBean()))
{
if (injectionPoint.isField())
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java 2009-01-13 19:08:14 UTC (rev 924)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java 2009-01-13 23:20:23 UTC (rev 925)
@@ -389,12 +389,12 @@
{
try
{
- manager.getInjectionPointFactory().pushInjectionMember(field);
+ manager.getInjectionPointProvider().pushInjectionMember(field);
field.inject(instance, manager);
}
finally
{
- manager.getInjectionPointFactory().popInjectionMember();
+ manager.getInjectionPointProvider().popInjectionMember();
}
}
}
@@ -466,7 +466,7 @@
{
try
{
- manager.getInjectionPointFactory().pushBean(this);
+ manager.getInjectionPointProvider().pushBean(this);
DependentContext.INSTANCE.setActive(true);
bindDecorators();
bindInterceptors();
@@ -476,7 +476,7 @@
}
finally
{
- manager.getInjectionPointFactory().popBean();
+ manager.getInjectionPointProvider().popBean();
DependentContext.INSTANCE.setActive(false);
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/InjectionPointBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/InjectionPointBean.java 2009-01-13 19:08:14 UTC (rev 924)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/InjectionPointBean.java 2009-01-13 23:20:23 UTC (rev 925)
@@ -53,7 +53,7 @@
@Override
public T create()
{
- return (T) manager.getInjectionPointFactory().getPreviousInjectionPoint();
+ return (T) manager.getInjectionPointProvider().getPreviousInjectionPoint();
}
@Override
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java 2009-01-13 19:08:14 UTC (rev 924)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java 2009-01-13 23:20:23 UTC (rev 925)
@@ -116,7 +116,7 @@
try
{
DependentContext.INSTANCE.setActive(true);
- InjectionPointProvider injectionPointProvider = manager.getInjectionPointFactory();
+ InjectionPointProvider injectionPointProvider = manager.getInjectionPointProvider();
injectionPointProvider.pushBean(this);
T instance = null;
try
@@ -274,7 +274,7 @@
*/
protected void injectBoundFields(T instance)
{
- InjectionPointProvider injectionPointProvider = manager.getInjectionPointFactory();
+ InjectionPointProvider injectionPointProvider = manager.getInjectionPointProvider();
for (AnnotatedField<?> injectableField : getInjectableFields())
{
injectionPointProvider.pushInjectionMember(injectableField);
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedMember.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedMember.java 2009-01-13 19:08:14 UTC (rev 924)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedMember.java 2009-01-13 23:20:23 UTC (rev 925)
@@ -206,7 +206,7 @@
protected Object[] getParameterValues(List<AnnotatedParameter<Object>> parameters, Object specialVal, Class<? extends Annotation> specialParam, ManagerImpl manager)
{
Object[] parameterValues = new Object[parameters.size()];
- InjectionPointProvider injectionPointProvider = manager.getInjectionPointFactory();
+ InjectionPointProvider injectionPointProvider = manager.getInjectionPointProvider();
injectionPointProvider.pushInjectionMember(this);
try
{
17 years, 3 months
[webbeans-commits] Webbeans SVN: r924 - tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests.
by webbeans-commits@lists.jboss.org
Author: dallen6
Date: 2009-01-13 14:08:14 -0500 (Tue, 13 Jan 2009)
New Revision: 924
Modified:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/BindingTypeTest.java
Log:
Fixed test, but the before() method is now not working related to getting managers.
Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/BindingTypeTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/BindingTypeTest.java 2009-01-13 18:54:36 UTC (rev 923)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/BindingTypeTest.java 2009-01-13 19:08:14 UTC (rev 924)
@@ -3,7 +3,7 @@
import java.lang.reflect.Method;
-import javax.webbeans.Current;
+import javax.webbeans.Production;
import javax.webbeans.manager.Bean;
import org.jboss.webbeans.tck.impl.SpecAssertion;
@@ -26,13 +26,12 @@
public class BindingTypeTest extends AbstractTest
{
- @SuppressWarnings("unchecked")
@Test @SpecAssertion(section={"2.3.3", "2.3.1"})
public void testDefaultBindingTypeDeclaredInJava()
{
Bean<Order> order = getSimpleBean(Order.class);
assert order.getBindings().size() == 1;
- order.getBindings().iterator().next().annotationType().equals(Current.class);
+ order.getBindings().iterator().next().annotationType().equals(Production.class);
}
@Test(groups={"stub", "annotationDefinition"}) @SpecAssertion(section="2.3.2")
@@ -69,7 +68,6 @@
assert model.getBindings().size() == 2;
}
- @SuppressWarnings("unchecked")
@Test(groups={"stub", "webbeansxml"}) @SpecAssertion(section="2.3.4")
public void testBindingTypesDeclaredInXml()
{
17 years, 3 months
[webbeans-commits] Webbeans SVN: r923 - in ri/trunk/webbeans-ri/src: main/java/org/jboss/webbeans/injection and 3 other directories.
by webbeans-commits@lists.jboss.org
Author: dallen6
Date: 2009-01-13 13:54:36 -0500 (Tue, 13 Jan 2009)
New Revision: 923
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injection/InjectionPointImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injection/InjectionPointProvider.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedMember.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InjectionPointTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/ConstructorInjectionPointBean.java
Log:
Added method and constructor parameter injection points for InjectionPoint beans; completed the constructor test.
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java 2009-01-13 17:14:25 UTC (rev 922)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java 2009-01-13 18:54:36 UTC (rev 923)
@@ -419,7 +419,7 @@
for (AnnotatedItem<?, ?> annotatedInjectionPoint : annotatedInjectionPoints)
{
AnnotatedMember<?, ?> member = (AnnotatedMember<?, ?>) annotatedInjectionPoint;
- injectionsPoints.add(InjectionPointImpl.of(member));
+ injectionsPoints.add(InjectionPointImpl.of(member, this));
}
return injectionsPoints;
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java 2009-01-13 17:14:25 UTC (rev 922)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java 2009-01-13 18:54:36 UTC (rev 923)
@@ -235,7 +235,7 @@
for (AnnotatedMethod<?> method : annotatedItem.getAnnotatedMethods(manager.getEjbResolver().getEJBAnnotation()))
{
- InjectionPoint injectionPoint = new InjectionPointImpl(method, this);
+ InjectionPoint injectionPoint = InjectionPointImpl.of(method, this);
Object ejbInstance = manager.getEjbResolver().resolveEjb(injectionPoint, manager.getNaming());
method.invoke(beanInstance, ejbInstance);
}
@@ -253,7 +253,7 @@
for (AnnotatedMethod<?> method : annotatedItem.getAnnotatedMethods(manager.getEjbResolver().getPersistenceContextAnnotation()))
{
- InjectionPoint injectionPoint = new InjectionPointImpl(method, this);
+ InjectionPoint injectionPoint = InjectionPointImpl.of(method, this);
Object puInstance = manager.getEjbResolver().resolvePersistenceContext(injectionPoint, manager.getNaming());
method.invoke(beanInstance, puInstance);
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injection/InjectionPointImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injection/InjectionPointImpl.java 2009-01-13 17:14:25 UTC (rev 922)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injection/InjectionPointImpl.java 2009-01-13 18:54:36 UTC (rev 923)
@@ -31,7 +31,9 @@
import javax.webbeans.Standard;
import javax.webbeans.manager.Bean;
+import org.jboss.webbeans.introspector.AnnotatedField;
import org.jboss.webbeans.introspector.AnnotatedMember;
+import org.jboss.webbeans.introspector.AnnotatedParameter;
/**
* The container provided implementation for InjectionPoint beans
@@ -43,6 +45,7 @@
public class InjectionPointImpl implements InjectionPoint
{
private final AnnotatedMember<?, ?> memberInjectionPoint;
+ private final AnnotatedParameter<?> parameterInjectionPoint;
private final Bean<?> bean;
/**
@@ -52,17 +55,43 @@
* @param bean The bean being injected
* @param beanInstance The instance of the bean being injected
*/
- public InjectionPointImpl(AnnotatedMember<?, ?> injectedMember, Bean<?> bean)
+ public InjectionPointImpl(AnnotatedField<?> injectedMember, Bean<?> bean)
{
this.memberInjectionPoint = injectedMember;
+ this.parameterInjectionPoint = null;
this.bean = bean;
}
- public static InjectionPointImpl of(AnnotatedMember<?, ?> member)
+ /**
+ * Creates a new injection point representing a parameter to a constructor or method.
+ *
+ * @param injectedMember The constructor or method member
+ * @param parameterInjectionPoint The parameter
+ * @param bean The bean owning the injectedMember
+ */
+ public InjectionPointImpl(AnnotatedMember<?, ?> injectedMember, AnnotatedParameter<?> parameterInjectionPoint, Bean<?> bean)
{
- return new InjectionPointImpl(member, null);
+ this.memberInjectionPoint = injectedMember;
+ this.parameterInjectionPoint = parameterInjectionPoint;
+ this.bean = bean;
}
+ /**
+ * Returns a new injection point of any type. If this is a parameter, the
+ * information about the parameter is null.
+ *
+ * @param member The member being injected
+ * @param bean The bean
+ * @return a new injection point metadata bean
+ */
+ public static InjectionPointImpl of(AnnotatedMember<?, ?> member, Bean<?> bean)
+ {
+ if (member instanceof AnnotatedField)
+ return new InjectionPointImpl((AnnotatedField<?>) member, bean);
+ else
+ return new InjectionPointImpl(member, null, bean);
+ }
+
public boolean isField()
{
return getMember() instanceof Field;
@@ -100,7 +129,10 @@
public Set<Annotation> getBindings()
{
- return this.memberInjectionPoint.getBindingTypes();
+ if (isField())
+ return this.memberInjectionPoint.getBindingTypes();
+ else
+ return this.parameterInjectionPoint.getBindingTypes();
}
public Member getMember()
@@ -110,7 +142,10 @@
public Type getType()
{
- return this.memberInjectionPoint.getType();
+ if (isField())
+ return this.memberInjectionPoint.getType();
+ else
+ return this.parameterInjectionPoint.getType();
}
public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injection/InjectionPointProvider.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injection/InjectionPointProvider.java 2009-01-13 17:14:25 UTC (rev 922)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injection/InjectionPointProvider.java 2009-01-13 18:54:36 UTC (rev 923)
@@ -23,7 +23,9 @@
import javax.webbeans.InjectionPoint;
import javax.webbeans.manager.Bean;
+import org.jboss.webbeans.introspector.AnnotatedField;
import org.jboss.webbeans.introspector.AnnotatedMember;
+import org.jboss.webbeans.introspector.AnnotatedParameter;
/**
* Used to create the container provided implementation for the InjectionPoint
@@ -38,6 +40,7 @@
{
private final Stack<Bean<?>> beans = new Stack<Bean<?>>();
private final Stack<AnnotatedMember<?, ? extends Member>> injectionPoints = new Stack<AnnotatedMember<?, ? extends Member>>();
+ private final Stack<AnnotatedParameter<?>> injectionParameters = new Stack<AnnotatedParameter<?>>();
/**
* Pushes the current bean that is being instantiated onto a stack for later
@@ -61,6 +64,11 @@
injectionPoints.push(injectedMember);
}
+ public void pushInjectionParameter(AnnotatedParameter<?> parameter)
+ {
+ injectionParameters.push(parameter);
+ }
+
/**
* Pops the bean from the stack. This should be called whenever all
* processing is complete for instantiating a bean.
@@ -79,6 +87,11 @@
injectionPoints.pop();
}
+ public void popInjectionParameter()
+ {
+ injectionParameters.pop();
+ }
+
/**
* Returns the InjectionPoint where the current bean under construction is
* being injected.
@@ -87,7 +100,11 @@
*/
public InjectionPoint getPreviousInjectionPoint()
{
- return new InjectionPointImpl(getPreviousInjectionMember(), getPreviousBean());
+ AnnotatedMember<?, ? extends Member> member = getPreviousInjectionMember();
+ if (member instanceof AnnotatedField)
+ return new InjectionPointImpl((AnnotatedField<?>) member, getPreviousBean());
+ else
+ return new InjectionPointImpl(member, getPreviousParameter(), getPreviousBean());
}
/**
@@ -98,13 +115,18 @@
*/
public InjectionPoint getCurrentInjectionPoint()
{
- return new InjectionPointImpl(getCurrentInjectionMember(), getCurrentBean());
+ AnnotatedMember<?, ? extends Member> member = getCurrentInjectionMember();
+ if (member instanceof AnnotatedField)
+ return new InjectionPointImpl((AnnotatedField<?>) member, getCurrentBean());
+ else
+ return new InjectionPointImpl(member, getCurrentParameter(), getCurrentBean());
}
protected Bean<?> getCurrentBean()
{
return beans.peek();
}
+
protected AnnotatedMember<?, ? extends Member> getCurrentInjectionMember()
{
if (injectionPoints.size() > 0)
@@ -113,6 +135,11 @@
return null;
}
+ protected AnnotatedParameter<?> getCurrentParameter()
+ {
+ return injectionParameters.peek();
+ }
+
protected Bean<?> getPreviousBean()
{
Bean<?> currentBean = beans.pop();
@@ -139,4 +166,22 @@
}
return result;
}
+
+ protected AnnotatedParameter<?> getPreviousParameter()
+ {
+ AnnotatedParameter<?> result = null;
+ if (getCurrentInjectionMember() instanceof AnnotatedField)
+ {
+ // Since no parameter is pushed, top of stack is the one wanted
+ result = injectionParameters.peek();
+ }
+ else
+ {
+ AnnotatedParameter<?> currentParameter = injectionParameters.pop();
+ result = injectionParameters.peek();
+ injectionParameters.push(currentParameter);
+ }
+ return result;
+ }
+
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedMember.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedMember.java 2009-01-13 17:14:25 UTC (rev 922)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedMember.java 2009-01-13 18:54:36 UTC (rev 923)
@@ -220,7 +220,9 @@
}
else
{
+ injectionPointProvider.pushInjectionParameter(param);
parameterValues[i] = param.getValue(manager);
+ injectionPointProvider.popInjectionParameter();
}
}
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InjectionPointTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InjectionPointTest.java 2009-01-13 17:14:25 UTC (rev 922)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InjectionPointTest.java 2009-01-13 18:54:36 UTC (rev 923)
@@ -148,7 +148,7 @@
assert false;
}
- @Test(groups = { "broken", "injectionPoint" })
+ @Test(groups = { "injectionPoint" })
@SpecAssertion(section = "5.11")
public void testGetMemberConstructor()
{
@@ -163,6 +163,10 @@
BeanWithInjectionPointMetadata beanWithInjectionPoint = beanWithInjectedBean.getInjectedBean();
assert beanWithInjectionPoint.getInjectedMetadata() != null;
assert Constructor.class.isAssignableFrom(beanWithInjectionPoint.getInjectedMetadata().getMember().getClass());
+
+ // Since the type and bindings must correspond to the parameter, check them
+ assert beanWithInjectionPoint.getInjectedMetadata().getType().equals(BeanWithInjectionPointMetadata.class);
+ assert beanWithInjectionPoint.getInjectedMetadata().getBindings().contains(new CurrentBinding());
}
finally
{
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/ConstructorInjectionPointBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/ConstructorInjectionPointBean.java 2009-01-13 17:14:25 UTC (rev 922)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/ConstructorInjectionPointBean.java 2009-01-13 18:54:36 UTC (rev 923)
@@ -17,6 +17,7 @@
package org.jboss.webbeans.test.beans;
import javax.webbeans.Current;
+import javax.webbeans.Initializer;
/**
* Test bean to inject a bean using injection point metadata into a constructor
@@ -28,6 +29,7 @@
{
private BeanWithInjectionPointMetadata injectedBean;
+ @Initializer
public ConstructorInjectionPointBean(@Current BeanWithInjectionPointMetadata injectedBean)
{
this.injectedBean = injectedBean;
17 years, 3 months