[webbeans-commits] Webbeans SVN: r251 - ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-11-05 18:42:05 -0500 (Wed, 05 Nov 2008)
New Revision: 251
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractBeanModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EnterpriseBeanModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerMethodBeanModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/SimpleBeanModel.java
Log:
container -> manager
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractBeanModel.java 2008-11-05 23:40:54 UTC (rev 250)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractBeanModel.java 2008-11-05 23:42:05 UTC (rev 251)
@@ -44,12 +44,12 @@
private Set<Class<?>> apiTypes;
protected Set<Injectable<?, ?>> injectionPoints;
private boolean primitive;
- protected ManagerImpl container;
+ protected ManagerImpl manager;
- protected void init(ManagerImpl container)
+ protected void init(ManagerImpl manager)
{
- this.container = container;
- mergedStereotypes = new MergedStereotypesModel<T, E>(getAnnotatedItem(), getXmlAnnotatedItem(), container);
+ this.manager = manager;
+ mergedStereotypes = new MergedStereotypesModel<T, E>(getAnnotatedItem(), getXmlAnnotatedItem(), manager);
initType();
initPrimitive();
log.fine("Building Web Bean bean metadata for " + getType());
@@ -292,7 +292,7 @@
if (getMergedStereotypes().getPossibleDeploymentTypes().size() > 0)
{
- this.deploymentType = getDeploymentType(container.getEnabledDeploymentTypes(), getMergedStereotypes().getPossibleDeploymentTypes());
+ this.deploymentType = getDeploymentType(manager.getEnabledDeploymentTypes(), getMergedStereotypes().getPossibleDeploymentTypes());
log.finest("Deployment type " + deploymentType + " specified by stereotype");
return;
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EnterpriseBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EnterpriseBeanModel.java 2008-11-05 23:40:54 UTC (rev 250)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EnterpriseBeanModel.java 2008-11-05 23:42:05 UTC (rev 251)
@@ -169,7 +169,7 @@
Class<?> superclass = getAnnotatedItem().getType().getSuperclass();
if ( superclass!=null )
{
- return new EnterpriseBeanModel(new SimpleAnnotatedClass(superclass), null, container);
+ return new EnterpriseBeanModel(new SimpleAnnotatedClass(superclass), null, manager);
}
else {
throw new RuntimeException();
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerMethodBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerMethodBeanModel.java 2008-11-05 23:40:54 UTC (rev 250)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerMethodBeanModel.java 2008-11-05 23:42:05 UTC (rev 251)
@@ -71,7 +71,7 @@
{
if (getDeclaringBean() == null)
{
- initDeclaringBean(container);
+ initDeclaringBean(manager);
}
deploymentType = declaringBean.getDeploymentType();
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/SimpleBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/SimpleBeanModel.java 2008-11-05 23:40:54 UTC (rev 250)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/SimpleBeanModel.java 2008-11-05 23:42:05 UTC (rev 251)
@@ -129,7 +129,7 @@
Class<?> superclass = getAnnotatedItem().getType().getSuperclass();
if ( superclass!=null )
{
- return new SimpleBeanModel(new SimpleAnnotatedClass(superclass), null, container);
+ return new SimpleBeanModel(new SimpleAnnotatedClass(superclass), null, manager);
}
else {
throw new RuntimeException();
15 years, 5 months
[webbeans-commits] Webbeans SVN: r250 - in ri/trunk/webbeans-ri/src: main/java/org/jboss/webbeans/model/bean and 1 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-11-05 18:40:54 -0500 (Wed, 05 Nov 2008)
New Revision: 250
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/MergedStereotypesModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractBeanModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractClassBeanModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EnterpriseBeanModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/SimpleBeanModel.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java
Log:
Allow the model to take null if the bean isn't specified in xml or java
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/MergedStereotypesModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/MergedStereotypesModel.java 2008-11-05 19:14:38 UTC (rev 249)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/MergedStereotypesModel.java 2008-11-05 23:40:54 UTC (rev 250)
@@ -33,12 +33,12 @@
requiredTypes = new HashSet<Class<?>>();
supportedScopes = new HashSet<Class<? extends Annotation>>();
- if (xmlAnnotatedItem.getAnnotations(Stereotype.class).size() > 0)
+ if (xmlAnnotatedItem != null && xmlAnnotatedItem.getAnnotations(Stereotype.class).size() > 0)
{
merge(xmlAnnotatedItem.getAnnotations(Stereotype.class), manager);
isDeclaredInXml = true;
}
- else
+ else if (annotatedItem != null)
{
merge(annotatedItem.getAnnotations(Stereotype.class), manager);
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractBeanModel.java 2008-11-05 19:14:38 UTC (rev 249)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractBeanModel.java 2008-11-05 23:40:54 UTC (rev 250)
@@ -1,7 +1,6 @@
package org.jboss.webbeans.model.bean;
import java.lang.annotation.Annotation;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
@@ -24,7 +23,6 @@
import org.jboss.webbeans.injectable.InjectableMethod;
import org.jboss.webbeans.injectable.InjectableParameter;
import org.jboss.webbeans.introspector.AnnotatedItem;
-import org.jboss.webbeans.introspector.impl.SimpleAnnotatedClass;
import org.jboss.webbeans.model.MergedStereotypesModel;
import org.jboss.webbeans.util.LoggerUtil;
import org.jboss.webbeans.util.Reflections;
@@ -67,10 +65,6 @@
throw new UnsupportedOperationException();
}
- protected static <T> SimpleAnnotatedClass getEmptyAnnotatedType(Class<T> type) {
- return new SimpleAnnotatedClass<T>(type, new HashMap<Class<? extends Annotation>, Annotation>());
- }
-
protected void initInjectionPoints()
{
injectionPoints = new HashSet<Injectable<?,?>>();
@@ -116,42 +110,43 @@
protected void initBindingTypes()
{
- Set<Annotation> bindingTypes = getAnnotatedItem().getAnnotations(BindingType.class);
- Set<Annotation> xmlBindingTypes = getXmlAnnotatedItem().getAnnotations(BindingType.class);
- boolean xmlSpecialization = getXmlAnnotatedItem().isAnnotationPresent(Specializes.class);
- boolean specialization = getAnnotatedItem().isAnnotationPresent(Specializes.class);
+ boolean xmlSpecialization = getXmlAnnotatedItem() == null ? false : getXmlAnnotatedItem().isAnnotationPresent(Specializes.class);
+ boolean specialization = getAnnotatedItem() == null ? false : getAnnotatedItem().isAnnotationPresent(Specializes.class);
- if (xmlBindingTypes.size() > 0 || mergedStereotypes.isDeclaredInXml())
+ this.bindingTypes = new HashSet<Annotation>();
+
+ if (getXmlAnnotatedItem() != null && getXmlAnnotatedItem().getAnnotations(BindingType.class).size() > 0)
{
// TODO support producer expression default binding type
+ this.bindingTypes.addAll(getXmlAnnotatedItem().getAnnotations(BindingType.class));
if (xmlSpecialization)
{
- xmlBindingTypes.addAll(bindingTypes);
- log.finest("Using binding types " + xmlBindingTypes + " specified in XML and specialized type");
+ this.bindingTypes.addAll(bindingTypes);
+ log.finest("Using binding types " + this.bindingTypes + " specified in XML and specialized type");
}
- else {
- log.finest("Using binding types " + xmlBindingTypes + " specified in XML");
+ else
+ {
+ log.finest("Using binding types " + this.bindingTypes + " specified in XML");
}
- this.bindingTypes= xmlBindingTypes;
return;
}
- else
+ else if (!mergedStereotypes.isDeclaredInXml() && getAnnotatedItem() != null)
{
+ this.bindingTypes.addAll(getAnnotatedItem().getAnnotations(BindingType.class));
if (specialization)
{
- bindingTypes.addAll(getSpecializedType().getBindingTypes());
+ this.bindingTypes.addAll(getSpecializedType().getBindingTypes());
log.finest("Using binding types " + bindingTypes + " specified by annotations and specialized supertype");
}
else if (bindingTypes.size() == 0)
{
log.finest("Adding default @Current binding type");
- bindingTypes.add(new CurrentAnnotationLiteral());
+ this.bindingTypes.add(new CurrentAnnotationLiteral());
}
else
{
log.finest("Using binding types " + bindingTypes + " specified by annotations");
}
- this.bindingTypes = bindingTypes;
return;
}
}
@@ -161,32 +156,37 @@
*/
protected void initScopeType()
{
- Set<Annotation> xmlScopes = getXmlAnnotatedItem().getAnnotations(ScopeType.class);
- if (xmlScopes.size() > 1)
- {
- throw new DefinitionException("At most one scope may be specified in XML");
- }
- if (xmlScopes.size() == 1)
+ if (getXmlAnnotatedItem() != null)
{
- this.scopeType = xmlScopes.iterator().next().annotationType();
- log.finest("Scope " + scopeType + " specified in XML");
- return;
+ if (getXmlAnnotatedItem().getAnnotations(ScopeType.class).size() > 1)
+ {
+ throw new DefinitionException("At most one scope may be specified in XML");
+ }
+
+ if (getXmlAnnotatedItem().getAnnotations(ScopeType.class).size() == 1)
+ {
+ this.scopeType = getXmlAnnotatedItem().getAnnotations(ScopeType.class).iterator().next().annotationType();
+ log.finest("Scope " + scopeType + " specified in XML");
+ return;
+ }
}
- Set<Annotation> scopes = getAnnotatedItem().getAnnotations(ScopeType.class);
- if (scopes.size() > 1)
+ if (getAnnotatedItem() != null)
{
- throw new DefinitionException("At most one scope may be specified");
+ if (getAnnotatedItem().getAnnotations(ScopeType.class).size() > 1)
+ {
+ throw new DefinitionException("At most one scope may be specified");
+ }
+
+ if (getAnnotatedItem().getAnnotations(ScopeType.class).size() == 1)
+ {
+ this.scopeType = getAnnotatedItem().getAnnotations(ScopeType.class).iterator().next().annotationType();
+ log.finest("Scope " + scopeType + " specified b annotation");
+ return;
+ }
}
- if (scopes.size() == 1)
- {
- this.scopeType = scopes.iterator().next().annotationType();
- log.finest("Scope " + scopeType + " specified b annotation");
- return;
- }
-
if (getMergedStereotypes().getPossibleScopeTypes().size() == 1)
{
this.scopeType = getMergedStereotypes().getPossibleScopeTypes().iterator().next().annotationType();
@@ -203,10 +203,10 @@
protected void initName()
{
- boolean xmlSpecialization = getXmlAnnotatedItem().isAnnotationPresent(Specializes.class);
- boolean specialization = getAnnotatedItem().isAnnotationPresent(Specializes.class);
+ boolean xmlSpecialization = getXmlAnnotatedItem() == null ? false : getXmlAnnotatedItem().isAnnotationPresent(Specializes.class);
+ boolean specialization = getAnnotatedItem() == null ? false : getAnnotatedItem().isAnnotationPresent(Specializes.class);
boolean beanNameDefaulted = false;
- if (getXmlAnnotatedItem().isAnnotationPresent(Named.class))
+ if (getXmlAnnotatedItem() != null && getXmlAnnotatedItem().isAnnotationPresent(Named.class))
{
if (xmlSpecialization)
{
@@ -225,7 +225,7 @@
return;
}
}
- else if (getAnnotatedItem().isAnnotationPresent(Named.class))
+ else if (getAnnotatedItem() != null && getAnnotatedItem().isAnnotationPresent(Named.class))
{
if (specialization)
{
@@ -259,48 +259,48 @@
protected void initDeploymentType()
{
- Set<Annotation> xmlDeploymentTypes = getXmlAnnotatedItem().getAnnotations(DeploymentType.class);
-
- if (xmlDeploymentTypes.size() > 1)
+ if (getXmlAnnotatedItem() != null)
{
- throw new RuntimeException("At most one deployment type may be specified (" + xmlDeploymentTypes + " are specified)");
+ Set<Annotation> xmlDeploymentTypes = getXmlAnnotatedItem().getAnnotations(DeploymentType.class);
+ if (xmlDeploymentTypes.size() > 1)
+ {
+ throw new RuntimeException("At most one deployment type may be specified (" + xmlDeploymentTypes + " are specified)");
+ }
+
+ if (xmlDeploymentTypes.size() == 1)
+ {
+ this.deploymentType = xmlDeploymentTypes.iterator().next().annotationType();
+ log.finest("Deployment type " + deploymentType + " specified in XML");
+ return;
+ }
}
- if (xmlDeploymentTypes.size() == 1)
+ if (getAnnotatedItem() != null)
{
- this.deploymentType = xmlDeploymentTypes.iterator().next().annotationType();
- log.finest("Deployment type " + deploymentType + " specified in XML");
- return;
+ Set<Annotation> deploymentTypes = getAnnotatedItem().getAnnotations(DeploymentType.class);
+
+ if (deploymentTypes.size() > 1)
+ {
+ throw new DefinitionException("At most one deployment type may be specified (" + deploymentTypes + " are specified) on " + getAnnotatedItem().toString());
+ }
+ if (deploymentTypes.size() == 1)
+ {
+ this.deploymentType = deploymentTypes.iterator().next().annotationType();
+ log.finest("Deployment type " + deploymentType + " specified by annotation");
+ return;
+ }
+
+ if (getMergedStereotypes().getPossibleDeploymentTypes().size() > 0)
+ {
+ this.deploymentType = getDeploymentType(container.getEnabledDeploymentTypes(), getMergedStereotypes().getPossibleDeploymentTypes());
+ log.finest("Deployment type " + deploymentType + " specified by stereotype");
+ return;
+ }
}
-
- Set<Annotation> deploymentTypes = getAnnotatedItem().getAnnotations(DeploymentType.class);
-
- if (deploymentTypes.size() > 1)
- {
- throw new DefinitionException("At most one deployment type may be specified (" + deploymentTypes + " are specified) on " + getAnnotatedItem().toString());
- }
- if (deploymentTypes.size() == 1)
- {
- this.deploymentType = deploymentTypes.iterator().next().annotationType();
- log.finest("Deployment type " + deploymentType + " specified by annotation");
- return;
- }
-
- if (getMergedStereotypes().getPossibleDeploymentTypes().size() > 0)
- {
- this.deploymentType = getDeploymentType(container.getEnabledDeploymentTypes(), getMergedStereotypes().getPossibleDeploymentTypes());
- log.finest("Deployment type " + deploymentType + " specified by stereotype");
- return;
- }
-
- // TODO This isn't the right way to check if XML isn't in use
- if (getXmlAnnotatedItem().getDelegate() != null)
- {
- this.deploymentType = Production.class;
- log.finest("Using default @Production deployment type");
- return;
- }
+ this.deploymentType = Production.class;
+ log.finest("Using default @Production deployment type");
+ return;
}
protected void checkDeploymentType()
@@ -309,8 +309,7 @@
{
throw new RuntimeException("type: " + getType() + " must specify a deployment type");
}
-
- if (deploymentType.equals(Standard.class))
+ else if (deploymentType.equals(Standard.class))
{
throw new DefinitionException();
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractClassBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractClassBeanModel.java 2008-11-05 19:14:38 UTC (rev 249)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractClassBeanModel.java 2008-11-05 23:40:54 UTC (rev 250)
@@ -79,16 +79,16 @@
protected void initType()
{
// TODO This is not the right way to check XML definition
- if (getAnnotatedItem().getDelegate() != null && getXmlAnnotatedItem().getDelegate() != null && !getAnnotatedItem().getDelegate().equals(getXmlAnnotatedItem().getDelegate()))
+ if (getAnnotatedItem() != null && getXmlAnnotatedItem() != null && !getAnnotatedItem().getDelegate().equals(getXmlAnnotatedItem().getDelegate()))
{
throw new IllegalArgumentException("Cannot build a bean which specifies different classes in XML and Java");
}
- else if (getXmlAnnotatedItem().getDelegate() != null)
+ else if (getXmlAnnotatedItem() != null)
{
log.finest("Bean type specified in XML");
this.type = getXmlAnnotatedItem().getDelegate();
}
- else if (getAnnotatedItem().getDelegate() != null)
+ else if (getAnnotatedItem() != null)
{
log.finest("Bean type specified in Java");
this.type = getAnnotatedItem().getDelegate();
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EnterpriseBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EnterpriseBeanModel.java 2008-11-05 19:14:38 UTC (rev 249)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EnterpriseBeanModel.java 2008-11-05 23:40:54 UTC (rev 250)
@@ -169,7 +169,7 @@
Class<?> superclass = getAnnotatedItem().getType().getSuperclass();
if ( superclass!=null )
{
- return new EnterpriseBeanModel(new SimpleAnnotatedClass(superclass), getEmptyAnnotatedType(superclass), container);
+ return new EnterpriseBeanModel(new SimpleAnnotatedClass(superclass), null, container);
}
else {
throw new RuntimeException();
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/SimpleBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/SimpleBeanModel.java 2008-11-05 19:14:38 UTC (rev 249)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/SimpleBeanModel.java 2008-11-05 23:40:54 UTC (rev 250)
@@ -129,7 +129,7 @@
Class<?> superclass = getAnnotatedItem().getType().getSuperclass();
if ( superclass!=null )
{
- return new SimpleBeanModel(new SimpleAnnotatedClass(superclass), getEmptyAnnotatedType(superclass), container);
+ return new SimpleBeanModel(new SimpleAnnotatedClass(superclass), null, container);
}
else {
throw new RuntimeException();
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java 2008-11-05 19:14:38 UTC (rev 249)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java 2008-11-05 23:40:54 UTC (rev 250)
@@ -19,7 +19,7 @@
public static <T> SimpleBeanModel<T> createSimpleModel(Class<T> clazz, ManagerImpl manager)
{
- return new SimpleBeanModel<T>(new SimpleAnnotatedClass<T>(clazz), getEmptyAnnotatedType(clazz), manager);
+ return new SimpleBeanModel<T>(new SimpleAnnotatedClass<T>(clazz), null, manager);
}
public static <T> SimpleBeanModel<T> createSimpleModel(Class<T> clazz, AnnotatedClass<T> xmlAnnotatedType, ManagerImpl manager)
@@ -37,6 +37,7 @@
return new EnterpriseBeanModel<T>(new SimpleAnnotatedClass<T>(clazz), xmlAnnotatedType, manager);
}
+ @Deprecated
public static <T> AnnotatedClass<T> getEmptyAnnotatedType(Class<T> type)
{
return new SimpleAnnotatedClass<T>(type, new HashMap<Class<? extends Annotation>, Annotation>());
15 years, 5 months
[webbeans-commits] Webbeans SVN: r249 - in ri/trunk/webbeans-ri/src: test/java/org/jboss/webbeans/test and 1 other directory.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-11-05 14:14:38 -0500 (Wed, 05 Nov 2008)
New Revision: 249
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractClassBeanModel.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BindingTypeTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeploymentTypeTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NameTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NormalContextTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ScopeTypeTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanModelTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/StereotypesTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/TypeTest.java
Log:
Remove explicit consruction of models
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractClassBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractClassBeanModel.java 2008-11-05 18:56:51 UTC (rev 248)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractClassBeanModel.java 2008-11-05 19:14:38 UTC (rev 249)
@@ -48,15 +48,6 @@
*/
public AbstractClassBeanModel(AnnotatedClass<T> annotatedItem, AnnotatedClass<T> xmlAnnotatedItem)
{
- if (annotatedItem == null)
- {
- throw new NullPointerException("annotatedItem must not be null. If the bean is declared just in XML, pass in an empty annotatedItem");
- }
-
- if (xmlAnnotatedItem == null)
- {
- throw new NullPointerException("xmlAnnotatedItem must not be null. If the bean is declared just in Java, pass in an empty xmlAnnotatedItem");
- }
this.annotatedItem = annotatedItem;
this.xmlAnnotatedItem = xmlAnnotatedItem;
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BindingTypeTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BindingTypeTest.java 2008-11-05 18:56:51 UTC (rev 248)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BindingTypeTest.java 2008-11-05 19:14:38 UTC (rev 249)
@@ -1,7 +1,6 @@
package org.jboss.webbeans.test;
import static org.jboss.webbeans.test.util.Util.createSimpleModel;
-import static org.jboss.webbeans.test.util.Util.getEmptyAnnotatedType;
import java.lang.annotation.Annotation;
import java.util.HashMap;
@@ -80,14 +79,14 @@
}
@SuppressWarnings("unchecked")
- @Test @SpecAssertion(section="2.3.4")
+ @Test(groups="webbeansxml") @SpecAssertion(section="2.3.4")
public void testBindingTypesDeclaredInXml()
{
Map<Class<? extends Annotation>, Annotation> annotations = new HashMap<Class<? extends Annotation>, Annotation>();
annotations.put(Asynchronous.class, new AsynchronousAnnotationLiteral());
AnnotatedClass annotatedItem = new SimpleAnnotatedClass(Antelope.class, annotations);
- SimpleBeanModel<Antelope> antelope = new SimpleBeanModel<Antelope>(getEmptyAnnotatedType(Antelope.class), annotatedItem, manager);
+ SimpleBeanModel<Antelope> antelope = new SimpleBeanModel<Antelope>(null, annotatedItem, manager);
assert Reflections.annotationSetMatches(antelope.getBindingTypes(), Asynchronous.class);
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeploymentTypeTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeploymentTypeTest.java 2008-11-05 18:56:51 UTC (rev 248)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeploymentTypeTest.java 2008-11-05 19:14:38 UTC (rev 249)
@@ -1,7 +1,7 @@
package org.jboss.webbeans.test;
+import static org.jboss.webbeans.test.util.Util.createSimpleModel;
import static org.jboss.webbeans.test.util.Util.createSimpleWebBean;
-import static org.jboss.webbeans.test.util.Util.getEmptyAnnotatedType;
import java.lang.annotation.Annotation;
import java.util.ArrayList;
@@ -66,7 +66,7 @@
@Test(expectedExceptions=DefinitionException.class) @SpecAssertion(section="2.5.3")
public void testTooManyDeploymentTypes()
{
- new SimpleBeanModel<BeanWithTooManyDeploymentTypes>(new SimpleAnnotatedClass<BeanWithTooManyDeploymentTypes>(BeanWithTooManyDeploymentTypes.class), getEmptyAnnotatedType(BeanWithTooManyDeploymentTypes.class), manager);
+ createSimpleModel(BeanWithTooManyDeploymentTypes.class, manager);
}
@Test @SpecAssertion(section="2.5.4")
@@ -90,11 +90,11 @@
assert tuna.getDeploymentType().equals(AnotherDeploymentType.class);
}
- @Test @SpecAssertion(section="2.5.5")
+ @Test(groups="webbeansxml") @SpecAssertion(section="2.5.5")
public void testXmlDefaultDeploymentType()
{
AnnotatedClass<Antelope> antelopeAnnotatedItem = new SimpleAnnotatedClass<Antelope>(Antelope.class, new HashMap<Class<? extends Annotation>, Annotation>());
- SimpleBeanModel<Antelope> antelope = new SimpleBeanModel<Antelope>(getEmptyAnnotatedType(Antelope.class), antelopeAnnotatedItem, manager);
+ SimpleBeanModel<Antelope> antelope = new SimpleBeanModel<Antelope>(null, antelopeAnnotatedItem, manager);
assert antelope.getDeploymentType().equals(Production.class);
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NameTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NameTest.java 2008-11-05 18:56:51 UTC (rev 248)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NameTest.java 2008-11-05 19:14:38 UTC (rev 249)
@@ -1,7 +1,6 @@
package org.jboss.webbeans.test;
import static org.jboss.webbeans.test.util.Util.createSimpleModel;
-import static org.jboss.webbeans.test.util.Util.getEmptyAnnotatedType;
import java.lang.annotation.Annotation;
import java.util.HashMap;
@@ -37,7 +36,7 @@
@Test @SpecAssertion(section="2.6.1")
public void testNonDefaultNamed()
{
- SimpleBeanModel<Moose> moose = new SimpleBeanModel<Moose>(new SimpleAnnotatedClass<Moose>(Moose.class), getEmptyAnnotatedType(Moose.class), manager);
+ SimpleBeanModel<Moose> moose = createSimpleModel(Moose.class, manager);
assert moose.getName().equals("aMoose");
}
@@ -90,7 +89,7 @@
@Test @SpecAssertion(section={"2.6.3", "3.2.7"})
public void testDefaultNamed()
{
- SimpleBeanModel<Haddock> haddock = new SimpleBeanModel<Haddock>(new SimpleAnnotatedClass<Haddock>(Haddock.class), getEmptyAnnotatedType(Haddock.class), manager);
+ SimpleBeanModel<Haddock> haddock = createSimpleModel(Haddock.class, manager);
assert haddock.getName() != null;
assert haddock.getName().equals("haddock");
}
@@ -125,14 +124,14 @@
@Test @SpecAssertion(section="2.6.4")
public void testNotNamedInJava()
{
- SimpleBeanModel<SeaBass> model = new SimpleBeanModel<SeaBass>(new SimpleAnnotatedClass<SeaBass>(SeaBass.class), getEmptyAnnotatedType(SeaBass.class), manager);
+ SimpleBeanModel<SeaBass> model = createSimpleModel(SeaBass.class, manager);
assert model.getName() == null;
}
@Test @SpecAssertion(section="2.6.4")
public void testNotNamedInXml()
{
- SimpleBeanModel<SeaBass> model = new SimpleBeanModel<SeaBass>(new SimpleAnnotatedClass<SeaBass>(SeaBass.class), getEmptyAnnotatedType(SeaBass.class), manager);
+ SimpleBeanModel<SeaBass> model = createSimpleModel(SeaBass.class, manager);
assert model.getName() == null;
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NormalContextTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NormalContextTest.java 2008-11-05 18:56:51 UTC (rev 248)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NormalContextTest.java 2008-11-05 19:14:38 UTC (rev 249)
@@ -1,6 +1,6 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.test.util.Util.getEmptyAnnotatedType;
+import static org.jboss.webbeans.test.util.Util.createSimpleModel;
import java.lang.reflect.Method;
@@ -10,7 +10,6 @@
import org.jboss.webbeans.contexts.AbstractContext;
import org.jboss.webbeans.contexts.RequestContext;
-import org.jboss.webbeans.introspector.impl.SimpleAnnotatedClass;
import org.jboss.webbeans.introspector.impl.SimpleAnnotatedMethod;
import org.jboss.webbeans.model.bean.ProducerMethodBeanModel;
import org.jboss.webbeans.model.bean.SimpleBeanModel;
@@ -68,7 +67,7 @@
@Test(groups={"contexts", "producerMethod"}) @SpecAssertion(section="8.1")
public void testProducerMethodReturningNullOK() throws SecurityException, NoSuchMethodException {
- SimpleBeanModel<SpiderProducer> producer = new SimpleBeanModel<SpiderProducer>(new SimpleAnnotatedClass<SpiderProducer>(SpiderProducer.class), getEmptyAnnotatedType(SpiderProducer.class), manager);
+ SimpleBeanModel<SpiderProducer> producer = createSimpleModel(SpiderProducer.class, manager);
manager.getModelManager().addBeanModel(producer);
Method nullProducer = SpiderProducer.class.getMethod("produceShelob");
ProducerMethodBeanModel<Tarantula> producerModel = new ProducerMethodBeanModel<Tarantula>(new SimpleAnnotatedMethod<Tarantula>(nullProducer), manager);
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ScopeTypeTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ScopeTypeTest.java 2008-11-05 18:56:51 UTC (rev 248)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ScopeTypeTest.java 2008-11-05 19:14:38 UTC (rev 249)
@@ -1,7 +1,7 @@
package org.jboss.webbeans.test;
+import static org.jboss.webbeans.test.util.Util.createSimpleModel;
import static org.jboss.webbeans.test.util.Util.createSimpleWebBean;
-import static org.jboss.webbeans.test.util.Util.getEmptyAnnotatedType;
import java.lang.annotation.Annotation;
import java.util.HashMap;
@@ -67,24 +67,24 @@
@Test @SpecAssertion(section="2.4.3")
public void testScopeDeclaredInJava()
{
- SimpleBeanModel<SeaBass> trout = new SimpleBeanModel<SeaBass>(new SimpleAnnotatedClass<SeaBass>(SeaBass.class), getEmptyAnnotatedType(SeaBass.class), manager);
+ SimpleBeanModel<SeaBass> trout = createSimpleModel(SeaBass.class, manager);
assert trout.getScopeType().equals(RequestScoped.class);
}
@Test(expectedExceptions=DefinitionException.class) @SpecAssertion(section="2.4.3")
public void testTooManyScopesSpecifiedInJava()
{
- new SimpleBeanModel<BeanWithTooManyScopeTypes>(new SimpleAnnotatedClass<BeanWithTooManyScopeTypes>(BeanWithTooManyScopeTypes.class), getEmptyAnnotatedType(BeanWithTooManyScopeTypes.class), manager);
+ createSimpleModel(BeanWithTooManyScopeTypes.class, manager);
}
- @Test(expectedExceptions=DefinitionException.class)
+ @Test(expectedExceptions=DefinitionException.class, groups="webbeansxml")
public void testTooManyScopesSpecifiedInXml()
{
Map<Class<? extends Annotation>, Annotation> annotations = new HashMap<Class<? extends Annotation>, Annotation>();
annotations.put(RequestScoped.class, new RequestScopedAnnotationLiteral());
annotations.put(ConversationScoped.class, new ConversationScopedAnnotationLiteral());
AnnotatedClass<Antelope> antelopeAnnotatedItem = new SimpleAnnotatedClass<Antelope>(Antelope.class, annotations);
- new SimpleBeanModel<Antelope>(getEmptyAnnotatedType(Antelope.class), antelopeAnnotatedItem, manager);
+ new SimpleBeanModel<Antelope>(null, antelopeAnnotatedItem, manager);
}
@Test @SpecAssertion(section="2.4.4")
@@ -121,7 +121,7 @@
@Test @SpecAssertion(section="2.4.5")
public void testDefaultScope()
{
- SimpleBeanModel<Order> order = new SimpleBeanModel<Order>(new SimpleAnnotatedClass<Order>(Order.class), getEmptyAnnotatedType(Order.class), manager);
+ SimpleBeanModel<Order> order = createSimpleModel(Order.class, manager);
assert order.getScopeType().equals(Dependent.class);
}
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 2008-11-05 18:56:51 UTC (rev 248)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanModelTest.java 2008-11-05 19:14:38 UTC (rev 249)
@@ -1,7 +1,7 @@
package org.jboss.webbeans.test;
+import static org.jboss.webbeans.test.util.Util.createSimpleModel;
import static org.jboss.webbeans.test.util.Util.createSimpleWebBean;
-import static org.jboss.webbeans.test.util.Util.getEmptyAnnotatedType;
import java.lang.annotation.Annotation;
import java.util.HashMap;
@@ -16,7 +16,6 @@
import org.jboss.webbeans.bindings.CurrentAnnotationLiteral;
import org.jboss.webbeans.injectable.InjectableParameter;
import org.jboss.webbeans.injectable.SimpleConstructor;
-import org.jboss.webbeans.introspector.impl.SimpleAnnotatedClass;
import org.jboss.webbeans.model.bean.SimpleBeanModel;
import org.jboss.webbeans.test.annotations.HeavyDuty;
import org.jboss.webbeans.test.annotations.Motorized;
@@ -48,26 +47,26 @@
@Test(expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.2")
public void testAbstractClassDeclaredInJavaIsNotAllowed()
{
- new SimpleBeanModel<Cow>(new SimpleAnnotatedClass<Cow>(Cow.class), getEmptyAnnotatedType(Cow.class), manager);
+ createSimpleModel(Cow.class, manager);
}
@Test(groups="innerClass") @SpecAssertion(section="3.2")
public void testStaticInnerClassDeclaredInJavaAllowed()
{
- new SimpleBeanModel<StaticInnerBean>(new SimpleAnnotatedClass<StaticInnerBean>(StaticInnerBean.class), getEmptyAnnotatedType(StaticInnerBean.class), manager);
+ createSimpleModel(StaticInnerBean.class, manager);
}
@Test(expectedExceptions=DefinitionException.class, groups="innerClass") @SpecAssertion(section="3.2")
public void testNonStaticInnerClassDeclaredInJavaNotAllowed()
{
- new SimpleBeanModel<InnerBean>(new SimpleAnnotatedClass<InnerBean>(InnerBean.class), getEmptyAnnotatedType(InnerBean.class), manager);
+ createSimpleModel(InnerBean.class, manager);
}
@SuppressWarnings("unchecked")
@Test(expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.2")
public void testParameterizedClassDeclaredInJavaIsNotAllowed()
{
- new SimpleBeanModel<ParameterizedBean>(new SimpleAnnotatedClass<ParameterizedBean>(ParameterizedBean.class), getEmptyAnnotatedType(ParameterizedBean.class), manager);
+ createSimpleModel(ParameterizedBean.class, manager);
}
@Test(expectedExceptions=DefinitionException.class, groups={"interceptors", "decorators"}) @SpecAssertion(section="3.2")
@@ -113,22 +112,22 @@
assert false;
}
- @Test(expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.2.4")
+ @Test(expectedExceptions=DefinitionException.class, groups="webbeansxml") @SpecAssertion(section="3.2.4")
public void testAbstractClassDeclaredInXmlIsNotAllowed()
{
- new SimpleBeanModel<Cow>(new SimpleAnnotatedClass<Cow>(Cow.class), getEmptyAnnotatedType(Cow.class), manager);
+
}
- @Test(groups="innerClass") @SpecAssertion(section="3.2.4")
+ @Test(groups={"innerClass", "webbeansxml"}) @SpecAssertion(section="3.2.4")
public void testStaticInnerClassDeclaredInXmlAllowed()
{
- new SimpleBeanModel<StaticInnerBean>(new SimpleAnnotatedClass<StaticInnerBean>(StaticInnerBean.class), getEmptyAnnotatedType(StaticInnerBean.class), manager);
+ assert false;
}
- @Test(expectedExceptions=DefinitionException.class, groups="innerClass") @SpecAssertion(section="3.2.4")
+ @Test(expectedExceptions=DefinitionException.class, groups={"innerClass", "webbeansxml"}) @SpecAssertion(section="3.2.4")
public void testNonStaticInnerClassDeclaredInXmlNotAllowed()
{
- new SimpleBeanModel<InnerBean>(new SimpleAnnotatedClass<InnerBean>(InnerBean.class), getEmptyAnnotatedType(InnerBean.class), manager);
+ assert false;
}
@Test(expectedExceptions=DefinitionException.class, groups="webbeansxml") @SpecAssertion(section="3.2.4")
@@ -152,7 +151,7 @@
@Test @SpecAssertion(section="3.2.5.1")
public void testInitializerAnnotatedConstructor()
{
- SimpleConstructor<Sheep> constructor = new SimpleBeanModel<Sheep>(new SimpleAnnotatedClass<Sheep>(Sheep.class), getEmptyAnnotatedType(Sheep.class), manager).getConstructor();
+ SimpleConstructor<Sheep> constructor = createSimpleModel(Sheep.class, manager).getConstructor();
assert constructor.getAnnotatedItem().getDelegate().getDeclaringClass().equals(Sheep.class);
assert constructor.getAnnotatedItem().getDelegate().getParameterTypes().length == 2;
assert constructor.getAnnotatedItem().getDelegate().getParameterTypes()[0].equals(String.class);
@@ -175,7 +174,7 @@
@Test @SpecAssertion(section="3.2.5.1")
public void testImplicitConstructorUsed()
{
- SimpleConstructor<Order> constructor = new SimpleBeanModel<Order>(new SimpleAnnotatedClass<Order>(Order.class), getEmptyAnnotatedType(Order.class), manager).getConstructor();
+ SimpleConstructor<Order> constructor = createSimpleModel(Order.class, manager).getConstructor();
assert constructor.getAnnotatedItem().getDelegate().getDeclaringClass().equals(Order.class);
assert constructor.getAnnotatedItem().getDelegate().getParameterTypes().length == 0;
assert constructor.getParameters().size() == 0;
@@ -184,7 +183,7 @@
@Test @SpecAssertion(section="3.2.5.1")
public void testEmptyConstructorUsed()
{
- SimpleConstructor<Donkey> constructor = new SimpleBeanModel<Donkey>(new SimpleAnnotatedClass<Donkey>(Donkey.class), getEmptyAnnotatedType(Donkey.class), manager).getConstructor();
+ SimpleConstructor<Donkey> constructor = createSimpleModel(Donkey.class, manager).getConstructor();
assert constructor.getAnnotatedItem().getDelegate().getDeclaringClass().equals(Donkey.class);
assert constructor.getAnnotatedItem().getDelegate().getParameterTypes().length == 0;
assert constructor.getParameters().size() == 0;
@@ -193,7 +192,7 @@
@Test @SpecAssertion(section="3.2.5.1")
public void testInitializerAnnotatedConstructorUsedOverEmptyConstuctor()
{
- SimpleConstructor<Turkey> constructor = new SimpleBeanModel<Turkey>(new SimpleAnnotatedClass<Turkey>(Turkey.class), getEmptyAnnotatedType(Turkey.class), manager).getConstructor();
+ SimpleConstructor<Turkey> constructor = createSimpleModel(Turkey.class, manager).getConstructor();
assert constructor.getParameters().size() == 2;
Map<Class<?>, Set<? extends Annotation>> map = new HashMap<Class<?>, Set<? extends Annotation>>();
for (InjectableParameter<Object> parameter : constructor.getParameters())
@@ -225,17 +224,13 @@
@Test(groups="webbeansxml") @SpecAssertion(section="3.2.5.2")
public void testImplicitConstructorDeclaredInXmlUsed()
{
- SimpleConstructor<Order> constructor = new SimpleBeanModel<Order>(new SimpleAnnotatedClass<Order>(Order.class), getEmptyAnnotatedType(Order.class), manager).getConstructor();
- assert constructor.getAnnotatedItem().getDelegate().getDeclaringClass().equals(Order.class);
- assert constructor.getAnnotatedItem().getDelegate().getParameterTypes().length == 0;
- assert constructor.getParameters().size() == 0;
assert false;
}
@Test(groups="webbeansxml") @SpecAssertion(section="3.2.5.2")
public void testEmptyConstructorDeclaredInXmlUsed()
{
- SimpleConstructor<Donkey> constructor = new SimpleBeanModel<Donkey>(new SimpleAnnotatedClass<Donkey>(Donkey.class), getEmptyAnnotatedType(Donkey.class), manager).getConstructor(); assert constructor.getAnnotatedItem().getDelegate().getDeclaringClass().equals(Order.class);
+ SimpleConstructor<Donkey> constructor = createSimpleModel(Donkey.class, manager).getConstructor();
assert constructor.getAnnotatedItem().getDelegate().getParameterTypes().length == 0;
assert constructor.getParameters().size() == 0;
assert false;
@@ -256,7 +251,7 @@
@Test @SpecAssertion(section="3.2.5.3")
public void testBindingTypeAnnotatedConstructor()
{
- SimpleConstructor<Duck> constructor = new SimpleBeanModel<Duck>(new SimpleAnnotatedClass<Duck>(Duck.class), getEmptyAnnotatedType(Duck.class), manager).getConstructor();
+ SimpleConstructor<Duck> constructor = createSimpleModel(Duck.class, manager).getConstructor();
assert constructor.getAnnotatedItem().getDelegate().getDeclaringClass().equals(Duck.class);
assert constructor.getParameters().size() == 2;
Map<Class<?>, Set<? extends Annotation>> map = new HashMap<Class<?>, Set<? extends Annotation>>();
@@ -275,7 +270,7 @@
@Test(groups="specialization") @SpecAssertion(section="3.2.6")
public void testSpecializedClassInheritsBindingTypes()
{
- SimpleBeanModel<Tractor> bean = new SimpleBeanModel<Tractor>(new SimpleAnnotatedClass<Tractor>(Tractor.class), getEmptyAnnotatedType(Tractor.class), manager);
+ SimpleBeanModel<Tractor> bean = createSimpleModel(Tractor.class, manager);
assert bean.getBindingTypes().size()==2;
assert bean.getBindingTypes().contains( new AnnotationLiteral<Motorized>() {} );
assert bean.getBindingTypes().contains( new AnnotationLiteral<HeavyDuty>() {} );
@@ -284,7 +279,7 @@
@Test(groups="specialization") @SpecAssertion(section="3.2.6")
public void testSpecializedClassInheritsName()
{
- SimpleBeanModel<Tractor> bean = new SimpleBeanModel<Tractor>(new SimpleAnnotatedClass<Tractor>(Tractor.class), getEmptyAnnotatedType(Tractor.class), manager);
+ SimpleBeanModel<Tractor> bean = createSimpleModel(Tractor.class, manager);
assert bean.getName()!=null;
assert bean.getName().equals("plough");
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/StereotypesTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/StereotypesTest.java 2008-11-05 18:56:51 UTC (rev 248)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/StereotypesTest.java 2008-11-05 19:14:38 UTC (rev 249)
@@ -1,7 +1,6 @@
package org.jboss.webbeans.test;
import static org.jboss.webbeans.test.util.Util.createSimpleModel;
-import static org.jboss.webbeans.test.util.Util.getEmptyAnnotatedType;
import java.lang.annotation.Annotation;
import java.util.Arrays;
@@ -153,7 +152,7 @@
@Test @SpecAssertion(section={"2.7.2", "2.7.4"})
public void testMultipleStereotypes()
{
- SimpleBeanModel<HighlandCow> highlandCow = new SimpleBeanModel<HighlandCow>(new SimpleAnnotatedClass<HighlandCow>(HighlandCow.class), getEmptyAnnotatedType(HighlandCow.class), manager);
+ SimpleBeanModel<HighlandCow> highlandCow = createSimpleModel(HighlandCow.class, manager);
assert highlandCow.getName() == null;
assert highlandCow.getBindingTypes().iterator().next().annotationType().equals(Tame.class);
assert highlandCow.getScopeType().equals(RequestScoped.class);
@@ -196,25 +195,25 @@
@Test@SpecAssertion(section="2.7.4")
public void testRequiredTypeIsImplemented()
{
- new SimpleBeanModel<HighlandCow>(new SimpleAnnotatedClass<HighlandCow>(HighlandCow.class), getEmptyAnnotatedType(HighlandCow.class), manager);
+ createSimpleModel(HighlandCow.class, manager);
}
@Test(expectedExceptions=DefinitionException.class) @SpecAssertion(section="2.7.4")
public void testRequiredTypeIsNotImplemented()
{
- new SimpleBeanModel<Chair>(new SimpleAnnotatedClass<Chair>(Chair.class), getEmptyAnnotatedType(Chair.class), manager);
+ createSimpleModel(Chair.class, manager);
}
@Test @SpecAssertion(section="2.7.4")
public void testScopeIsSupported()
{
- new SimpleBeanModel<Goldfish>(new SimpleAnnotatedClass<Goldfish>(Goldfish.class), getEmptyAnnotatedType(Goldfish.class), manager);
+ createSimpleModel(Goldfish.class, manager);
}
@Test(expectedExceptions=DefinitionException.class) @SpecAssertion(section="2.7.4")
public void testScopeIsNotSupported()
{
- new SimpleBeanModel<Carp>(new SimpleAnnotatedClass<Carp>(Carp.class), getEmptyAnnotatedType(Carp.class), manager);
+ createSimpleModel(Carp.class, manager);
}
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/TypeTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/TypeTest.java 2008-11-05 18:56:51 UTC (rev 248)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/TypeTest.java 2008-11-05 19:14:38 UTC (rev 249)
@@ -1,8 +1,7 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.test.util.Util.getEmptyAnnotatedType;
+import static org.jboss.webbeans.test.util.Util.createSimpleModel;
-import org.jboss.webbeans.introspector.impl.SimpleAnnotatedClass;
import org.jboss.webbeans.model.bean.SimpleBeanModel;
import org.jboss.webbeans.test.beans.Haddock;
import org.testng.annotations.Test;
@@ -13,7 +12,7 @@
@Test @SpecAssertion(section="2.6.3")
public void testDefaultNamed()
{
- SimpleBeanModel<Haddock> haddock = new SimpleBeanModel<Haddock>(new SimpleAnnotatedClass<Haddock>(Haddock.class), getEmptyAnnotatedType(Haddock.class), manager);
+ SimpleBeanModel<Haddock> haddock = createSimpleModel(Haddock.class, manager);
assert haddock.getName() != null;
assert haddock.getName().equals("haddock");
}
15 years, 5 months
[webbeans-commits] Webbeans SVN: r248 - 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: 2008-11-05 13:56:51 -0500 (Wed, 05 Nov 2008)
New Revision: 248
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableParameter.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedItem.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedAnnotation.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedConstructor.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedItem.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedMethod.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedParameter.java
Log:
Tidy up type parameters
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableParameter.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableParameter.java 2008-11-05 18:33:56 UTC (rev 247)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableParameter.java 2008-11-05 18:56:51 UTC (rev 248)
@@ -13,7 +13,7 @@
protected InjectableParameter() {}
- public InjectableParameter(Annotation[] bindingTypes, Class<? extends T> type)
+ public InjectableParameter(Annotation[] bindingTypes, Class<T> type)
{
super(new SimpleAnnotatedParameter<T>(bindingTypes, type));
}
@@ -23,7 +23,7 @@
super(annotatedParameter);
}
- public InjectableParameter(Class<? extends T> type)
+ public InjectableParameter(Class<T> type)
{
this(currentBinding, type);
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedItem.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedItem.java 2008-11-05 18:33:56 UTC (rev 247)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedItem.java 2008-11-05 18:56:51 UTC (rev 248)
@@ -51,7 +51,7 @@
public S getDelegate();
- public Class<? extends T> getType();
+ public Class<T> getType();
public boolean isAssignableFrom(AnnotatedItem<?, ?> that);
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedAnnotation.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedAnnotation.java 2008-11-05 18:33:56 UTC (rev 247)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedAnnotation.java 2008-11-05 18:56:51 UTC (rev 248)
@@ -45,7 +45,7 @@
return clazz;
}
- public Class<? extends T> getType()
+ public Class<T> getType()
{
return clazz;
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedConstructor.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedConstructor.java 2008-11-05 18:33:56 UTC (rev 247)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedConstructor.java 2008-11-05 18:56:51 UTC (rev 248)
@@ -64,13 +64,13 @@
if (constructor.getParameterAnnotations()[i].length > 0)
{
Class<? extends Object> clazz = constructor.getParameterTypes()[i];
- AnnotatedParameter<Object> parameter = new SimpleAnnotatedParameter<Object>(constructor.getParameterAnnotations()[i], clazz);
+ AnnotatedParameter<Object> parameter = new SimpleAnnotatedParameter<Object>(constructor.getParameterAnnotations()[i], (Class<Object>) clazz);
parameters.add(parameter);
}
else
{
Class<? extends Object> clazz = constructor.getParameterTypes()[i];
- AnnotatedParameter<Object> parameter = new SimpleAnnotatedParameter<Object>(new Annotation[0], clazz);
+ AnnotatedParameter<Object> parameter = new SimpleAnnotatedParameter<Object>(new Annotation[0], (Class<Object>) clazz);
parameters.add(parameter);
}
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedItem.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedItem.java 2008-11-05 18:33:56 UTC (rev 247)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedItem.java 2008-11-05 18:56:51 UTC (rev 248)
@@ -11,7 +11,7 @@
{
private Type[] actualTypeArguments = new Type[0];
- private Class<? extends T> type;
+ private Class<T> type;
private Annotation[] actualAnnotations;
private SimpleAnnotatedItem(Map<Class<? extends Annotation>, Annotation> annotationMap)
@@ -19,13 +19,13 @@
super(annotationMap);
}
- private SimpleAnnotatedItem(Map<Class<? extends Annotation>, Annotation> annotationMap, Class<? extends T> type)
+ private SimpleAnnotatedItem(Map<Class<? extends Annotation>, Annotation> annotationMap, Class<T> type)
{
super(annotationMap);
this.type = type;
}
- private SimpleAnnotatedItem(Map<Class<? extends Annotation>, Annotation> annotationMap, TypeLiteral<? extends T> apiType)
+ private SimpleAnnotatedItem(Map<Class<? extends Annotation>, Annotation> annotationMap, TypeLiteral<T> apiType)
{
super(annotationMap);
this.type = apiType.getRawType();
@@ -35,7 +35,7 @@
}
}
- private SimpleAnnotatedItem(Map<Class<? extends Annotation>, Annotation> annotationMap, Class<? extends T> type, Type[] actualTypeArguments)
+ private SimpleAnnotatedItem(Map<Class<? extends Annotation>, Annotation> annotationMap, Class<T> type, Type[] actualTypeArguments)
{
this(annotationMap, type);
this.actualTypeArguments = actualTypeArguments;
@@ -47,19 +47,19 @@
this.actualAnnotations = annotations;
}
- public SimpleAnnotatedItem(Annotation[] annotations, Class<? extends T> type)
+ public SimpleAnnotatedItem(Annotation[] annotations, Class<T> type)
{
this(buildAnnotationMap(annotations), type);
this.actualAnnotations = annotations;
}
- public SimpleAnnotatedItem(Annotation[] annotations, TypeLiteral<? extends T> apiType)
+ public SimpleAnnotatedItem(Annotation[] annotations, TypeLiteral<T> apiType)
{
this(buildAnnotationMap(annotations), apiType);
this.actualAnnotations = annotations;
}
- public SimpleAnnotatedItem(Annotation[] annotations, Class<? extends T> type, Type[] actualTypeArguments)
+ public SimpleAnnotatedItem(Annotation[] annotations, Class<T> type, Type[] actualTypeArguments)
{
this(buildAnnotationMap(annotations), type, actualTypeArguments);
this.actualAnnotations = annotations;
@@ -70,7 +70,7 @@
return null;
}
- public Class<? extends T> getType()
+ public Class<T> getType()
{
return type;
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedMethod.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedMethod.java 2008-11-05 18:33:56 UTC (rev 247)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedMethod.java 2008-11-05 18:56:51 UTC (rev 248)
@@ -64,13 +64,13 @@
if (method.getParameterAnnotations()[i].length > 0)
{
Class<? extends Object> clazz = method.getParameterTypes()[i];
- AnnotatedParameter<Object> parameter = new SimpleAnnotatedParameter<Object>(method.getParameterAnnotations()[i], clazz);
+ AnnotatedParameter<Object> parameter = new SimpleAnnotatedParameter<Object>(method.getParameterAnnotations()[i], (Class<Object>) clazz);
parameters.add(parameter);
}
else
{
Class<? extends Object> clazz = method.getParameterTypes()[i];
- AnnotatedParameter<Object> parameter = new SimpleAnnotatedParameter<Object>(new Annotation[0], clazz);
+ AnnotatedParameter<Object> parameter = new SimpleAnnotatedParameter<Object>(new Annotation[0], (Class<Object>) clazz);
parameters.add(parameter);
}
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedParameter.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedParameter.java 2008-11-05 18:33:56 UTC (rev 247)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedParameter.java 2008-11-05 18:56:51 UTC (rev 248)
@@ -8,12 +8,12 @@
public class SimpleAnnotatedParameter<T> extends AbstractAnnotatedItem<T, Object> implements AnnotatedParameter<T>
{
- private Class<? extends T> type;
+ private Class<T> type;
private Type[] actualTypeArguments = new Type[0];
private boolean _final;
private boolean _static;
- public SimpleAnnotatedParameter(Annotation[] annotations, Class<? extends T> type)
+ public SimpleAnnotatedParameter(Annotation[] annotations, Class<T> type)
{
super(buildAnnotationMap(annotations));
this.type = type;
@@ -29,7 +29,7 @@
return null;
}
- public Class<? extends T> getType()
+ public Class<T> getType()
{
return type;
}
15 years, 5 months
[webbeans-commits] Webbeans SVN: r247 - in ri/trunk/webbeans-ri: src/main/java/org/jboss/webbeans and 10 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-11-05 13:33:56 -0500 (Wed, 05 Nov 2008)
New Revision: 247
Added:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/ForwardingInjectableMethod.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/ForwardingInjectableParameter.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/Invokable.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedParameter.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedParameter.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Goose.java
Removed:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableParameterWrapper.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/Unit.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/MapWrapper.java
Modified:
ri/trunk/webbeans-ri/pom.xml
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ModelManager.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ResolutionManager.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/SimpleBeanImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/AbstractContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/ObserverImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/BeanConstructor.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/EnterpriseConstructor.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/Injectable.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableMethod.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableParameter.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/JMSConstructor.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/MethodConstructor.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/ResolverInjectable.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/SimpleConstructor.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedClass.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/impl/SimpleAnnotatedClass.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedConstructor.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedMethod.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractClassBeanModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/BeanModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EnterpriseBeanModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EventBeanModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerExpressionBeanModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerMethodBeanModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/SimpleBeanModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/ProxyPool.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventBeanModelTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InitializerMethodTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ObserverTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanModelTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Grouse.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockObserverImpl.java
ri/trunk/webbeans-ri/testng.xml
Log:
Initializer methods, and tidy up some stuff
Modified: ri/trunk/webbeans-ri/pom.xml
===================================================================
--- ri/trunk/webbeans-ri/pom.xml 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/pom.xml 2008-11-05 18:33:56 UTC (rev 247)
@@ -55,6 +55,11 @@
<groupId>javax.el</groupId>
<artifactId>el-api</artifactId>
</dependency>
+
+ <dependency>
+ <groupId>com.google.collections</groupId>
+ <artifactId>google-collections</artifactId>
+ </dependency>
</dependencies>
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 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -7,6 +7,7 @@
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
+import java.util.Map;
import java.util.Set;
import java.util.concurrent.CopyOnWriteArrayList;
@@ -38,18 +39,22 @@
import org.jboss.webbeans.injectable.Injectable;
import org.jboss.webbeans.injectable.ResolverInjectable;
import org.jboss.webbeans.util.ClientProxy;
-import org.jboss.webbeans.util.MapWrapper;
import org.jboss.webbeans.util.ProxyPool;
import org.jboss.webbeans.util.Reflections;
+import com.google.common.collect.ForwardingMap;
+
public class ManagerImpl implements Manager
{
- private class ContextMap extends MapWrapper<Class<? extends Annotation>, List<Context>>
+ private class ContextMap extends ForwardingMap<Class<? extends Annotation>, List<Context>>
{
+
+ private Map<Class<? extends Annotation>, List<Context>> delegate;
+
public ContextMap()
{
- super(new HashMap<Class<? extends Annotation>, List<Context>>());
+ delegate = new HashMap<Class<? extends Annotation>, List<Context>>();
}
public List<Context> get(Class<? extends Annotation> key)
@@ -61,6 +66,12 @@
{
return (DependentContext) get(Dependent.class).get(0);
}
+
+ @Override
+ protected Map<Class<? extends Annotation>, List<Context>> delegate()
+ {
+ return delegate;
+ }
}
private List<Class<? extends Annotation>> enabledDeploymentTypes;
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ModelManager.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ModelManager.java 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ModelManager.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -9,18 +9,21 @@
import org.jboss.webbeans.model.ScopeModel;
import org.jboss.webbeans.model.StereotypeModel;
import org.jboss.webbeans.model.bean.BeanModel;
-import org.jboss.webbeans.util.MapWrapper;
+import com.google.common.collect.ForwardingMap;
+
public class ModelManager
{
@SuppressWarnings("unchecked")
- private abstract class AnnotationModelMap<T extends AnnotationModel<?>> extends MapWrapper<Class<? extends Annotation>, T>
+ private abstract class AnnotationModelMap<T extends AnnotationModel<?>> extends ForwardingMap<Class<? extends Annotation>, T>
{
+ Map<Class<? extends Annotation>, T> delegate;
+
public AnnotationModelMap()
{
- super(new HashMap<Class<? extends Annotation>, T>());
+ delegate = new HashMap<Class<? extends Annotation>, T>();
}
public <S extends Annotation> T putIfAbsent(Class<S> key)
@@ -35,6 +38,13 @@
}
protected abstract <S extends Annotation> T createAnnotationModel(Class<S> type);
+
+ @Override
+ protected Map<Class<? extends Annotation>, T> delegate()
+ {
+ return delegate;
+ }
+
}
@SuppressWarnings("unchecked")
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ResolutionManager.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ResolutionManager.java 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ResolutionManager.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -14,20 +14,23 @@
import org.jboss.webbeans.injectable.Injectable;
import org.jboss.webbeans.util.ListComparator;
-import org.jboss.webbeans.util.MapWrapper;
+import com.google.common.collect.ForwardingMap;
+
public class ResolutionManager
{
// TODO Why can't we generify Set?
@SuppressWarnings("unchecked")
- private class InjectableMap extends MapWrapper<Injectable<?, ?>, Set>
+ private class InjectableMap extends ForwardingMap<Injectable<?, ?>, Set>
{
+ private Map<Injectable<?, ?>, Set> delegate;
+
public InjectableMap()
{
- super(new HashMap<Injectable<?, ?>, Set>());
+ delegate = new HashMap<Injectable<?, ?>, Set>();
}
@SuppressWarnings("unchecked")
@@ -35,6 +38,12 @@
{
return (Set<Bean<T>>) super.get(key);
}
+
+ @Override
+ protected Map<Injectable<?, ?>, Set> delegate()
+ {
+ return delegate;
+ }
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/SimpleBeanImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/SimpleBeanImpl.java 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/SimpleBeanImpl.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -1,6 +1,7 @@
package org.jboss.webbeans;
import org.jboss.webbeans.injectable.InjectableField;
+import org.jboss.webbeans.injectable.InjectableMethod;
import org.jboss.webbeans.model.bean.SimpleBeanModel;
public class SimpleBeanImpl<T> extends BeanImpl<T>
@@ -22,9 +23,18 @@
bindInterceptors();
injectEjbAndCommonFields();
injectBoundFields(instance);
+ callInitializers(instance);
return instance;
}
+ protected void callInitializers(T instance)
+ {
+ for (InjectableMethod<Object> initializer : model.getInitializerMethods())
+ {
+ initializer.invoke(manager, instance);
+ }
+ }
+
protected void injectEjbAndCommonFields()
{
// TODO
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/AbstractContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/AbstractContext.java 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/AbstractContext.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -1,13 +1,14 @@
package org.jboss.webbeans.contexts;
import java.lang.annotation.Annotation;
+import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import javax.webbeans.manager.Bean;
import javax.webbeans.manager.Context;
import javax.webbeans.manager.Manager;
-import org.jboss.webbeans.util.MapWrapper;
+import com.google.common.collect.ForwardingMap;
/**
* Basic implementation of javax.webbeans.Context, backed by a HashMap
@@ -20,12 +21,14 @@
public abstract class AbstractContext implements Context
{
- protected class BeanMap extends MapWrapper<Bean<? extends Object>, Object>
+ protected class BeanMap extends ForwardingMap<Bean<? extends Object>, Object>
{
+ Map<Bean<? extends Object>, Object> delegate;
+
public BeanMap()
{
- super(new ConcurrentHashMap<Bean<? extends Object>, Object>());
+ delegate = new ConcurrentHashMap<Bean<? extends Object>, Object>();
}
@SuppressWarnings("unchecked")
@@ -33,6 +36,12 @@
{
return (T) super.get(key);
}
+
+ @Override
+ protected Map<Bean<? extends Object>, Object> delegate()
+ {
+ return delegate;
+ }
}
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 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/ObserverImpl.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -1,15 +1,22 @@
package org.jboss.webbeans.event;
import java.lang.annotation.Annotation;
+import java.util.Iterator;
+import java.util.Set;
import javax.webbeans.Current;
import javax.webbeans.Observer;
+
import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.injectable.ForwardingInjectableMethod;
+import org.jboss.webbeans.injectable.ForwardingInjectableParameter;
import org.jboss.webbeans.injectable.InjectableMethod;
import org.jboss.webbeans.injectable.InjectableParameter;
-import org.jboss.webbeans.injectable.InjectableParameterWrapper;
import org.jboss.webbeans.model.bean.BeanModel;
+import com.google.common.collect.ForwardingIterator;
+import com.google.common.collect.ForwardingSet;
+
/**
* <p>
* Reference implementation for the Observer interface, which represents an
@@ -25,7 +32,7 @@
{
private final BeanModel<?, ?> beanModel;
- private final InjectableMethod<? extends Object> observerMethod;
+ private final InjectableMethod<Object> observerMethod;
private final Class<T> eventType;
/**
@@ -52,7 +59,7 @@
* @param eventType The type of event being observed
*/
public ObserverImpl(final BeanModel<?, ?> beanModel,
- final InjectableMethod<?> observer, final Class<T> eventType)
+ final InjectableMethod<Object> observer, final Class<T> eventType)
{
this.beanModel = beanModel;
this.observerMethod = observer;
@@ -81,27 +88,77 @@
Object instance = getInstance();
if (instance != null)
{
- // Let the super class get the parameter values, but substitute the event
- // object so that we know for certain it is the correct one.
- for (int i = 0; i < observerMethod.getParameters().size(); i++)
+ new ForwardingInjectableMethod<Object>()
{
- InjectableParameter<? extends Object> parameter = observerMethod
- .getParameters().get(i);
- if (parameter.getType().isAssignableFrom(event.getClass()))
+
+ @Override
+ public Set<InjectableParameter<Object>> getParameters()
{
- InjectableParameter<?> newParameter = new InjectableParameterWrapper<Object>(
- parameter)
+ final Set<InjectableParameter<Object>>parameters = super.getParameters();
+
+ return new ForwardingSet<InjectableParameter<Object>>()
{
+
@Override
- public Object getValue(ManagerImpl manager)
+ public Iterator<InjectableParameter<Object>> iterator()
{
- return event;
+ final Iterator<InjectableParameter<Object>> iterator = super.iterator();
+ return new ForwardingIterator<InjectableParameter<Object>>()
+ {
+
+ @Override
+ public InjectableParameter<Object> next()
+ {
+ final InjectableParameter<Object> parameter = super.next();
+ if (parameter.getType().isAssignableFrom(event.getClass()))
+ {
+ return new ForwardingInjectableParameter<Object>()
+ {
+ @Override
+ public Object getValue(ManagerImpl manager)
+ {
+ return event;
+ }
+
+ @Override
+ protected InjectableParameter<? extends Object> delegate()
+ {
+ return parameter;
+ }
+ };
+ }
+ else
+ {
+ return parameter;
+ }
+ }
+
+ @Override
+ protected Iterator<InjectableParameter<Object>> delegate()
+ {
+ return iterator;
+ }
+
+ };
}
+
+ @Override
+ protected Set<InjectableParameter<Object>> delegate()
+ {
+ return parameters;
+ }
+
};
- observerMethod.getParameters().set(i, newParameter);
}
- }
- this.observerMethod.invoke(manager, instance);
+
+
+ @Override
+ protected InjectableMethod<Object> delegate()
+ {
+ return observerMethod;
+ }
+
+ }.invoke(manager, instance);
}
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/BeanConstructor.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/BeanConstructor.java 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/BeanConstructor.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -2,7 +2,7 @@
import org.jboss.webbeans.ManagerImpl;
-public interface BeanConstructor<T>
+public interface BeanConstructor<T, S>
{
public T invoke(ManagerImpl manager);
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/EnterpriseConstructor.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/EnterpriseConstructor.java 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/EnterpriseConstructor.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -4,7 +4,7 @@
import org.jboss.webbeans.ejb.EjbMetaData;
-public class EnterpriseConstructor<T> implements BeanConstructor<T>
+public class EnterpriseConstructor<T> implements BeanConstructor<T, Object>
{
private EjbMetaData<T> ejbMetaData;
Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/ForwardingInjectableMethod.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/ForwardingInjectableMethod.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/ForwardingInjectableMethod.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -0,0 +1,63 @@
+package org.jboss.webbeans.injectable;
+
+import java.util.Set;
+
+import javax.webbeans.manager.Manager;
+
+import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.introspector.AnnotatedMethod;
+
+public abstract class ForwardingInjectableMethod<T> extends InjectableMethod<T>
+{
+
+ @Override
+ public boolean equals(Object obj)
+ {
+ return delegate().equals(obj);
+ }
+
+ @Override
+ public AnnotatedMethod<T> getAnnotatedItem()
+ {
+ return delegate().getAnnotatedItem();
+ }
+
+ @Override
+ public Set<InjectableParameter<Object>> getParameters()
+ {
+ return delegate().getParameters();
+ }
+
+ @Override
+ protected Object[] getParameterValues(ManagerImpl manager)
+ {
+ return delegate().getParameterValues(manager);
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return delegate().hashCode();
+ }
+
+ @Override
+ public T invoke(Manager manager, Object instance, Object[] parameters)
+ {
+ return delegate().invoke(manager, instance, parameters);
+ }
+
+ @Override
+ public T invoke(ManagerImpl manager, Object instance)
+ {
+ return delegate().invoke(manager, instance);
+ }
+
+ @Override
+ public String toString()
+ {
+ return delegate().toString();
+ }
+
+ protected abstract InjectableMethod<T> delegate();
+
+}
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/ForwardingInjectableMethod.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/ForwardingInjectableParameter.java (from rev 242, ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableParameterWrapper.java)
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/ForwardingInjectableParameter.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/ForwardingInjectableParameter.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -0,0 +1,41 @@
+package org.jboss.webbeans.injectable;
+
+import java.lang.annotation.Annotation;
+import java.util.List;
+import java.util.Set;
+
+import javax.webbeans.manager.Bean;
+
+import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.ModelManager;
+
+public abstract class ForwardingInjectableParameter<T> extends InjectableParameter<T>
+{
+
+ protected abstract InjectableParameter<? extends T> delegate();
+
+ @Override
+ public Set<Annotation> getBindingTypes()
+ {
+ return delegate().getBindingTypes();
+ }
+
+ @Override
+ public Set<Bean<?>> getMatchingBeans(List<Bean<?>> possibleBeans, ModelManager modelManager)
+ {
+ return delegate().getMatchingBeans(possibleBeans, modelManager);
+ }
+
+ @Override
+ public Class<? extends T> getType()
+ {
+ return delegate().getType();
+ }
+
+ @Override
+ public T getValue(ManagerImpl manager)
+ {
+ return delegate().getValue(manager);
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/ForwardingInjectableParameter.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/Injectable.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/Injectable.java 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/Injectable.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -1,6 +1,7 @@
package org.jboss.webbeans.injectable;
import java.lang.annotation.Annotation;
+import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -10,6 +11,7 @@
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.ModelManager;
+import org.jboss.webbeans.bindings.CurrentAnnotationLiteral;
import org.jboss.webbeans.introspector.AnnotatedItem;
import org.jboss.webbeans.model.BindingTypeModel;
@@ -23,21 +25,44 @@
public abstract class Injectable<T, S>
{
+ private static final Annotation[] DEFAULT_BINDING_ARRAY = {new CurrentAnnotationLiteral()};
+ private static final Set<Annotation> DEFAULT_BINDING = new HashSet<Annotation>(Arrays.asList(DEFAULT_BINDING_ARRAY));
+
private AnnotatedItem<T, S> annotatedItem;
+ private boolean useDefaultBinding;
+
public Injectable(AnnotatedItem<T, S> annotatedItem)
{
this.annotatedItem = annotatedItem;
+ if (annotatedItem.getAnnotations(BindingType.class).size() == 0)
+ {
+ useDefaultBinding = true;
+ }
}
-
- public Annotation[] getBindingTypesAsArray()
+
+ public Set<Annotation> getBindingTypes()
{
- return annotatedItem.getAnnotationsAsArray(BindingType.class);
+ if (useDefaultBinding)
+ {
+ return DEFAULT_BINDING;
+ }
+ else
+ {
+ return annotatedItem.getAnnotations(BindingType.class);
+ }
}
- public Set<Annotation> getBindingTypes()
+ public Annotation[] getBindingTypesAsArray()
{
- return annotatedItem.getAnnotations(BindingType.class);
+ if (useDefaultBinding)
+ {
+ return DEFAULT_BINDING_ARRAY;
+ }
+ else
+ {
+ return annotatedItem.getAnnotationsAsArray(BindingType.class);
+ }
}
protected Injectable() {}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableMethod.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableMethod.java 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableMethod.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -1,24 +1,28 @@
package org.jboss.webbeans.injectable;
-import java.lang.reflect.Method;
-
import javax.webbeans.manager.Manager;
import org.jboss.webbeans.ManagerImpl;
-import org.jboss.webbeans.introspector.AnnotatedItem;
import org.jboss.webbeans.introspector.AnnotatedMethod;
import org.jboss.webbeans.introspector.impl.SimpleAnnotatedMethod;
-public class InjectableMethod<T> extends Unit<T, Method>
+public class InjectableMethod<T> extends Invokable<T, AnnotatedMethod<T>>
{
private AnnotatedMethod<T> method;
+
+ protected InjectableMethod(){}
public InjectableMethod(java.lang.reflect.Method method)
{
- super(method.getParameterTypes(), method.getParameterAnnotations());
- this.method = new SimpleAnnotatedMethod<T>(method);
+ this(new SimpleAnnotatedMethod<T>(method));
}
+
+ public InjectableMethod(AnnotatedMethod<T> annotatedMethod)
+ {
+ super(annotatedMethod.getParameters());
+ this.method = annotatedMethod;
+ }
public T invoke(ManagerImpl manager, Object instance)
@@ -38,8 +42,7 @@
}
}
- @Override
- public AnnotatedItem<T, Method> getAnnotatedItem()
+ public AnnotatedMethod<T> getAnnotatedItem()
{
return method;
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableParameter.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableParameter.java 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableParameter.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -3,7 +3,8 @@
import java.lang.annotation.Annotation;
import org.jboss.webbeans.bindings.CurrentAnnotationLiteral;
-import org.jboss.webbeans.introspector.impl.SimpleAnnotatedItem;
+import org.jboss.webbeans.introspector.AnnotatedParameter;
+import org.jboss.webbeans.introspector.impl.SimpleAnnotatedParameter;
public class InjectableParameter<T> extends Injectable<T, Object>
{
@@ -14,8 +15,13 @@
public InjectableParameter(Annotation[] bindingTypes, Class<? extends T> type)
{
- super(new SimpleAnnotatedItem<T, Object>(bindingTypes, type));
+ super(new SimpleAnnotatedParameter<T>(bindingTypes, type));
}
+
+ public InjectableParameter(AnnotatedParameter<T> annotatedParameter)
+ {
+ super(annotatedParameter);
+ }
public InjectableParameter(Class<? extends T> type)
{
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableParameterWrapper.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableParameterWrapper.java 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableParameterWrapper.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -1,46 +0,0 @@
-package org.jboss.webbeans.injectable;
-
-import java.lang.annotation.Annotation;
-import java.util.List;
-import java.util.Set;
-
-import javax.webbeans.manager.Bean;
-
-import org.jboss.webbeans.ManagerImpl;
-import org.jboss.webbeans.ModelManager;
-
-public class InjectableParameterWrapper<T> extends InjectableParameter<T>
-{
-
- private InjectableParameter<? extends T> delegate;
-
- public InjectableParameterWrapper(InjectableParameter<? extends T> delegate)
- {
- this.delegate = delegate;
- }
-
- @Override
- public Set<Annotation> getBindingTypes()
- {
- return delegate.getBindingTypes();
- }
-
- @Override
- public Set<Bean<?>> getMatchingBeans(List<Bean<?>> possibleBeans, ModelManager modelManager)
- {
- return delegate.getMatchingBeans(possibleBeans, modelManager);
- }
-
- @Override
- public Class<? extends T> getType()
- {
- return delegate.getType();
- }
-
- @Override
- public T getValue(ManagerImpl manager)
- {
- return delegate.getValue(manager);
- }
-
-}
Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/Invokable.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/Invokable.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/Invokable.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -0,0 +1,50 @@
+package org.jboss.webbeans.injectable;
+
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+
+import javax.webbeans.manager.Manager;
+
+import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.introspector.AnnotatedParameter;
+
+public abstract class Invokable<T, S>
+{
+
+ private Set<InjectableParameter<Object>> parameters;
+
+ protected Invokable() {}
+
+ public Invokable(Set<AnnotatedParameter<Object>> parameters)
+ {
+ this.parameters = new HashSet<InjectableParameter<Object>>();
+ for (AnnotatedParameter<Object> parameter : parameters)
+ {
+ this.parameters.add(new InjectableParameter<Object>(parameter));
+ }
+ }
+
+ public abstract S getAnnotatedItem();
+
+ protected Object[] getParameterValues(ManagerImpl manager)
+ {
+ Object[] parameterValues = new Object[parameters.size()];
+ Iterator<InjectableParameter<Object>> iterator = parameters.iterator();
+ for (int i = 0; i < parameterValues.length; i++)
+ {
+ parameterValues[i] = iterator.next().getValue(manager);
+ }
+ return parameterValues;
+ }
+
+ public Set<InjectableParameter<Object>> getParameters()
+ {
+ return parameters;
+ }
+
+ public abstract T invoke(Manager container, Object instance, Object[] parameters);
+
+ public abstract T invoke(ManagerImpl container, Object instance);
+
+}
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/Invokable.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/JMSConstructor.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/JMSConstructor.java 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/JMSConstructor.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -3,7 +3,7 @@
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.util.JNDI;
-public class JMSConstructor<T> implements BeanConstructor<T>
+public class JMSConstructor<T> implements BeanConstructor<T, Object>
{
Class<? extends T> type;
@@ -20,4 +20,10 @@
return JNDI.lookup(jndiName, type);
}
+ public Object getAnnotatedItem()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/MethodConstructor.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/MethodConstructor.java 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/MethodConstructor.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -3,9 +3,10 @@
import java.lang.reflect.Method;
import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.introspector.AnnotatedMethod;
public class MethodConstructor<T> extends InjectableMethod<T> implements
- BeanConstructor<T>
+ BeanConstructor<T, AnnotatedMethod<T>>
{
public MethodConstructor(Method method)
@@ -13,6 +14,12 @@
super(method);
}
+ @Override
+ public AnnotatedMethod<T> getAnnotatedItem()
+ {
+ return null;
+ }
+
public T invoke(ManagerImpl manager)
{
// TODO Auto-generated method stub
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/ResolverInjectable.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/ResolverInjectable.java 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/ResolverInjectable.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -2,16 +2,12 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
import javax.webbeans.BindingType;
import javax.webbeans.DuplicateBindingTypeException;
import javax.webbeans.TypeLiteral;
import org.jboss.webbeans.ModelManager;
-import org.jboss.webbeans.bindings.CurrentAnnotationLiteral;
import org.jboss.webbeans.introspector.impl.SimpleAnnotatedItem;
/**
@@ -22,11 +18,6 @@
public class ResolverInjectable<T> extends Injectable<T, Object>
{
- private static final Annotation[] DEFAULT_BINDING_ARRAY = {new CurrentAnnotationLiteral()};
- private static final Set<Annotation> DEFAULT_BINDING = new HashSet<Annotation>(Arrays.asList(DEFAULT_BINDING_ARRAY));
-
- private boolean useDefaultBinding;
-
public ResolverInjectable(SimpleAnnotatedItem<T, Object> annotatedItem, ModelManager modelManager)
{
super(annotatedItem);
@@ -42,38 +33,9 @@
throw new DuplicateBindingTypeException(getAnnotatedItem().toString());
}
- if (annotatedItem.getAnnotations(BindingType.class).size() == 0)
- {
- useDefaultBinding = true;
- }
+
}
- @Override
- public Set<Annotation> getBindingTypes()
- {
- if (useDefaultBinding)
- {
- return DEFAULT_BINDING;
- }
- else
- {
- return super.getBindingTypes();
- }
- }
-
- @Override
- public Annotation[] getBindingTypesAsArray()
- {
- if (useDefaultBinding)
- {
- return DEFAULT_BINDING_ARRAY;
- }
- else
- {
- return super.getBindingTypesAsArray();
- }
- }
-
public ResolverInjectable(Class<T> type, Annotation[] bindingTypes, ModelManager modelManager)
{
this(new SimpleAnnotatedItem<T, Object>(bindingTypes, type), modelManager);
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/SimpleConstructor.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/SimpleConstructor.java 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/SimpleConstructor.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -3,13 +3,13 @@
import java.lang.reflect.Constructor;
import java.util.logging.Logger;
+import javax.webbeans.manager.Manager;
+
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.introspector.AnnotatedConstructor;
-import org.jboss.webbeans.introspector.AnnotatedItem;
-import org.jboss.webbeans.introspector.impl.SimpleAnnotatedConstructor;
import org.jboss.webbeans.util.LoggerUtil;
-public class SimpleConstructor<T> extends Unit<T, Constructor<T>> implements BeanConstructor<T>
+public class SimpleConstructor<T> extends Invokable<T, AnnotatedConstructor<T>> implements BeanConstructor<T, Constructor<T>>
{
public static final String LOGGER_NAME = "beanConstructor";
@@ -18,28 +18,40 @@
private AnnotatedConstructor<T> constructor;
- public SimpleConstructor(Constructor<T> constructor)
+ public SimpleConstructor(AnnotatedConstructor<T> constructor)
{
- super(constructor.getParameterTypes(), constructor.getParameterAnnotations());
- this.constructor = new SimpleAnnotatedConstructor<T>(constructor);
- log.finest("Initialized metadata for " + constructor + " with injectable parameters " + getParameters());
+ super(constructor.getParameters());
+ this.constructor = constructor;
+ log.finest("Initialized metadata for " + constructor);
}
public T invoke(ManagerImpl manager)
{
+ return invoke(manager, null, getParameterValues(manager));
+ }
+
+ @Override
+ public T invoke(Manager manager, Object instance, Object[] parameters)
+ {
try
{
- log.finest("Creating new instance of " + constructor.getType() + " with injected parameters " + getParameters());
- return constructor.getAnnotatedConstructor().newInstance(getParameterValues(manager));
+ log.finest("Creating new instance of " + constructor);
+ return constructor.getAnnotatedConstructor().newInstance(parameters);
}
catch (Exception e)
{
- throw new RuntimeException("Error instantiating " + constructor.getType(), e);
+ throw new RuntimeException("Error instantiating " + constructor, e);
}
}
+
+ @Override
+ public T invoke(ManagerImpl manager, Object instance)
+ {
+ return invoke(manager, instance, getParameterValues(manager));
+ }
@Override
- public AnnotatedItem<T, Constructor<T>> getAnnotatedItem()
+ public AnnotatedConstructor<T> getAnnotatedItem()
{
return constructor;
}
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/Unit.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/Unit.java 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/Unit.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -1,57 +0,0 @@
-package org.jboss.webbeans.injectable;
-
-import java.lang.annotation.Annotation;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.jboss.webbeans.ManagerImpl;
-import org.jboss.webbeans.introspector.AnnotatedItem;
-
-public abstract class Unit<T, S>
-{
-
- private List<InjectableParameter<?>> parameters;
-
- public Unit(Class<?>[] parameterTypes, Annotation[][] parameterAnnotations)
- {
- parameters = initParameters(parameterTypes, parameterAnnotations);
- }
-
- public List<InjectableParameter<? extends Object>> getParameters()
- {
- return parameters;
- }
-
- protected static <T> List<InjectableParameter<?>> initParameters(Class<? extends Object>[] parameterTypes, Annotation[][] parameterAnnotations)
- {
- List<InjectableParameter<?>> injectedParameters = new ArrayList<InjectableParameter<?>>();
- for (int i = 0; i < parameterTypes.length; i++)
- {
- if (parameterAnnotations[i].length > 0)
- {
- Class<? extends Object> clazz = parameterTypes[i];
- InjectableParameter<? extends Object> parameter = new InjectableParameter<Object>(parameterAnnotations[i], clazz);
- injectedParameters.add(i, parameter);
- }
- else
- {
- InjectableParameter<?> parameter = new InjectableParameter<Object>(parameterTypes[i]);
- injectedParameters.add(i, parameter);
- }
- }
- return injectedParameters;
- }
-
- public Object[] getParameterValues(ManagerImpl manager)
- {
- Object[] parameterValues = new Object[parameters.size()];
- for (int i = 0; i < parameterValues.length; i++)
- {
- parameterValues[i] = parameters.get(i).getValue(manager);
- }
- return parameterValues;
- }
-
- public abstract AnnotatedItem<T, S> getAnnotatedItem();
-
-}
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 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedClass.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -55,4 +55,10 @@
public Set<AnnotatedMethod<Object>> getAnnotatedMethods(
Class<? extends Annotation> annotationType);
+ public Set<AnnotatedConstructor<T>> getAnnotatedConstructors(Class<? extends Annotation> annotationType);
+
+ public Set<AnnotatedConstructor<T>> getConstructors();
+
+ public AnnotatedConstructor<T> getConstructor(Set<Class<?>> arguments);
+
}
\ No newline at end of file
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 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedConstructor.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -1,6 +1,8 @@
package org.jboss.webbeans.introspector;
+import java.lang.annotation.Annotation;
import java.lang.reflect.Constructor;
+import java.util.Set;
/**
* AnnotatedType provides a uniform access to the annotations on an annotated
@@ -13,5 +15,9 @@
{
public Constructor<T> getAnnotatedConstructor();
+
+ public Set<AnnotatedParameter<Object>> getParameters();
+
+ public Set<AnnotatedParameter<Object>> getAnnotatedParameters(Class<? extends Annotation> metaAnnotationType);
}
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 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -1,6 +1,8 @@
package org.jboss.webbeans.introspector;
+import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
+import java.util.Set;
/**
* AnnotatedType provides a uniform access to the annotations on an annotated
@@ -13,5 +15,9 @@
{
public Method getAnnotatedMethod();
+
+ public Set<AnnotatedParameter<Object>> getParameters();
+
+ public Set<AnnotatedParameter<Object>> getAnnotatedParameters(Class<? extends Annotation> metaAnnotationType);
}
Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedParameter.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedParameter.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedParameter.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.introspector;
+
+public interface AnnotatedParameter<T> extends AnnotatedItem<T, Object>
+{
+
+}
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedParameter.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedClass.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedClass.java 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedClass.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -1,16 +1,19 @@
package org.jboss.webbeans.introspector.impl;
import java.lang.annotation.Annotation;
+import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
+import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import org.jboss.webbeans.introspector.AnnotatedClass;
+import org.jboss.webbeans.introspector.AnnotatedConstructor;
import org.jboss.webbeans.introspector.AnnotatedField;
import org.jboss.webbeans.introspector.AnnotatedMethod;
@@ -26,6 +29,7 @@
private Class<T> clazz;
private Type[] actualTypeArguments;
+
private Set<AnnotatedField<Object>> fields;
private Map<Class<? extends Annotation>, Set<AnnotatedField<Object>>> annotatedFields;
private Map<Class<? extends Annotation>, Set<AnnotatedField<Object>>> metaAnnotatedFields;
@@ -33,6 +37,10 @@
private Set<AnnotatedMethod<Object>> methods;
private Map<Class<? extends Annotation>, Set<AnnotatedMethod<Object>>> annotatedMethods;
+ private Set<AnnotatedConstructor<T>> constructors;
+ private Map<Class<? extends Annotation>, Set<AnnotatedConstructor<T>>> annotatedConstructors;
+ private Map<Set<Class<?>>, AnnotatedConstructor<T>> constructorsByArgumentMap;
+
public SimpleAnnotatedClass(Class<T> annotatedClass, Map<Class<? extends Annotation>, Annotation> annotationMap)
{
super(annotationMap);
@@ -72,6 +80,15 @@
return fields;
}
+ public Set<AnnotatedConstructor<T>> getConstructors()
+ {
+ if (constructors == null)
+ {
+ initConstructors();
+ }
+ return constructors;
+ }
+
private void initFields()
{
this.fields = new HashSet<AnnotatedField<Object>>();
@@ -193,7 +210,7 @@
{
for (Annotation annotation : member.getAnnotations())
{
- if (!annotatedMethods.containsKey(annotation))
+ if (!annotatedMethods.containsKey(annotation.annotationType()))
{
annotatedMethods.put(annotation.annotationType(), new HashSet<AnnotatedMethod<Object>>());
}
@@ -201,5 +218,59 @@
}
}
}
+
+ private void initConstructors()
+ {
+ this.constructors = new HashSet<AnnotatedConstructor<T>>();
+ this.constructorsByArgumentMap = new HashMap<Set<Class<?>>, AnnotatedConstructor<T>>();
+ for (Constructor<T> constructor : clazz.getDeclaredConstructors())
+ {
+ AnnotatedConstructor<T> annotatedConstructor = new SimpleAnnotatedConstructor<T>(constructor);
+ constructors.add(annotatedConstructor);
+ constructorsByArgumentMap.put(new HashSet<Class<?>>(Arrays.asList(constructor.getParameterTypes())), annotatedConstructor);
+ }
+ }
+
+ public Set<AnnotatedConstructor<T>> getAnnotatedConstructors(Class<? extends Annotation> annotationType)
+ {
+ if (annotatedConstructors == null)
+ {
+ initAnnotatedConstructors();
+ }
+
+ if (!annotatedConstructors.containsKey(annotationType))
+ {
+ return new HashSet<AnnotatedConstructor<T>>();
+ }
+ else
+ {
+ return annotatedConstructors.get(annotationType);
+ }
+ }
+ private void initAnnotatedConstructors()
+ {
+ if (constructors == null)
+ {
+ initConstructors();
+ }
+ annotatedConstructors = new HashMap<Class<? extends Annotation>, Set<AnnotatedConstructor<T>>>();
+ for (AnnotatedConstructor<T> constructor : constructors)
+ {
+ for (Annotation annotation : constructor.getAnnotations())
+ {
+ if (!annotatedConstructors.containsKey(annotation.annotationType()))
+ {
+ annotatedConstructors.put(annotation.annotationType(), new HashSet<AnnotatedConstructor<T>>());
+ }
+ annotatedConstructors.get(annotation.annotationType()).add(constructor);
+ }
+ }
+ }
+
+ public AnnotatedConstructor<T> getConstructor(Set<Class<?>> arguments)
+ {
+ return constructorsByArgumentMap.get(arguments);
+ }
+
}
\ No newline at end of file
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedConstructor.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedConstructor.java 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedConstructor.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -1,9 +1,15 @@
package org.jboss.webbeans.introspector.impl;
+import java.lang.annotation.Annotation;
import java.lang.reflect.Constructor;
import java.lang.reflect.Type;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
import org.jboss.webbeans.introspector.AnnotatedConstructor;
+import org.jboss.webbeans.introspector.AnnotatedParameter;
public class SimpleAnnotatedConstructor<T> extends AbstractAnnotatedMember<T, Constructor<T>> implements AnnotatedConstructor<T>
{
@@ -12,6 +18,9 @@
private Constructor<T> constructor;
+ private Set<AnnotatedParameter<Object>> parameters;
+ private Map<Class<? extends Annotation>, Set<AnnotatedParameter<Object>>> annotatedParameters;
+
public SimpleAnnotatedConstructor(Constructor<T> constructor)
{
super(buildAnnotationMap(constructor));
@@ -37,5 +46,102 @@
{
return actualTypeArguments;
}
+
+ public Set<AnnotatedParameter<Object>> getParameters()
+ {
+ if (parameters == null)
+ {
+ initParameters();
+ }
+ return parameters;
+ }
+
+ private void initParameters()
+ {
+ this.parameters = new HashSet<AnnotatedParameter<Object>>();
+ for (int i = 0; i < constructor.getParameterTypes().length; i++)
+ {
+ if (constructor.getParameterAnnotations()[i].length > 0)
+ {
+ Class<? extends Object> clazz = constructor.getParameterTypes()[i];
+ AnnotatedParameter<Object> parameter = new SimpleAnnotatedParameter<Object>(constructor.getParameterAnnotations()[i], clazz);
+ parameters.add(parameter);
+ }
+ else
+ {
+ Class<? extends Object> clazz = constructor.getParameterTypes()[i];
+ AnnotatedParameter<Object> parameter = new SimpleAnnotatedParameter<Object>(new Annotation[0], clazz);
+ parameters.add(parameter);
+ }
+ }
+ }
+
+ public Set<AnnotatedParameter<Object>> getAnnotatedMethods(Class<? extends Annotation> annotationType)
+ {
+ if (annotatedParameters == null)
+ {
+ initAnnotatedParameters();
+ }
+
+ if (!annotatedParameters.containsKey(annotationType))
+ {
+ return new HashSet<AnnotatedParameter<Object>>();
+ }
+ else
+ {
+ return annotatedParameters.get(annotationType);
+ }
+ }
+ private void initAnnotatedParameters()
+ {
+ if (parameters == null)
+ {
+ initParameters();
+ }
+ annotatedParameters = new HashMap<Class<? extends Annotation>, Set<AnnotatedParameter<Object>>>();
+ for (AnnotatedParameter<Object> parameter : parameters)
+ {
+ for (Annotation annotation : parameter.getAnnotations())
+ {
+ if (!annotatedParameters.containsKey(annotation))
+ {
+ annotatedParameters.put(annotation.annotationType(), new HashSet<AnnotatedParameter<Object>>());
+ }
+ annotatedParameters.get(annotation.annotationType()).add(parameter);
+ }
+ }
+ }
+
+ public Set<AnnotatedParameter<Object>> getAnnotatedParameters(Class<? extends Annotation> annotationType)
+ {
+ if (annotatedParameters == null)
+ {
+ initAnnotatedParameters();
+ }
+ if (!annotatedParameters.containsKey(annotationType))
+ {
+ return new HashSet<AnnotatedParameter<Object>>();
+ }
+ return annotatedParameters.get(annotationType);
+ }
+
+ @Override
+ public boolean equals(Object other)
+ {
+
+ if (super.equals(other) && other instanceof AnnotatedConstructor)
+ {
+ AnnotatedConstructor<?> that = (AnnotatedConstructor<?>) other;
+ return this.getDelegate().equals(that.getDelegate());
+ }
+ return false;
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return getDelegate().hashCode();
+ }
+
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedMethod.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedMethod.java 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedMethod.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -1,9 +1,15 @@
package org.jboss.webbeans.introspector.impl;
+import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
import java.lang.reflect.Type;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
import org.jboss.webbeans.introspector.AnnotatedMethod;
+import org.jboss.webbeans.introspector.AnnotatedParameter;
public class SimpleAnnotatedMethod<T> extends AbstractAnnotatedMember<T, Method> implements AnnotatedMethod<T>
{
@@ -12,6 +18,9 @@
private Method method;
+ private Set<AnnotatedParameter<Object>> parameters;
+ private Map<Class<? extends Annotation>, Set<AnnotatedParameter<Object>>> annotatedParameters;
+
public SimpleAnnotatedMethod(Method method)
{
super(buildAnnotationMap(method));
@@ -37,5 +46,104 @@
{
return actualTypeArgements;
}
+
+ public Set<AnnotatedParameter<Object>> getParameters()
+ {
+ if (parameters == null)
+ {
+ initParameters();
+ }
+ return parameters;
+ }
+
+ private void initParameters()
+ {
+ this.parameters = new HashSet<AnnotatedParameter<Object>>();
+ for (int i = 0; i < method.getParameterTypes().length; i++)
+ {
+ if (method.getParameterAnnotations()[i].length > 0)
+ {
+ Class<? extends Object> clazz = method.getParameterTypes()[i];
+ AnnotatedParameter<Object> parameter = new SimpleAnnotatedParameter<Object>(method.getParameterAnnotations()[i], clazz);
+ parameters.add(parameter);
+ }
+ else
+ {
+ Class<? extends Object> clazz = method.getParameterTypes()[i];
+ AnnotatedParameter<Object> parameter = new SimpleAnnotatedParameter<Object>(new Annotation[0], clazz);
+ parameters.add(parameter);
+ }
+ }
+ }
+
+ public Set<AnnotatedParameter<Object>> getAnnotatedMethods(Class<? extends Annotation> annotationType)
+ {
+ if (annotatedParameters == null)
+ {
+ initAnnotatedParameters();
+ }
+
+ if (!annotatedParameters.containsKey(annotationType))
+ {
+ return new HashSet<AnnotatedParameter<Object>>();
+ }
+ else
+ {
+ return annotatedParameters.get(annotationType);
+ }
+ }
+ private void initAnnotatedParameters()
+ {
+ if (parameters == null)
+ {
+ initParameters();
+ }
+ annotatedParameters = new HashMap<Class<? extends Annotation>, Set<AnnotatedParameter<Object>>>();
+ for (AnnotatedParameter<Object> parameter : parameters)
+ {
+ for (Annotation annotation : parameter.getAnnotations())
+ {
+ if (!annotatedParameters.containsKey(annotation))
+ {
+ annotatedParameters.put(annotation.annotationType(), new HashSet<AnnotatedParameter<Object>>());
+ }
+ annotatedParameters.get(annotation.annotationType()).add(parameter);
+ }
+ }
+ }
+
+ public Set<AnnotatedParameter<Object>> getAnnotatedParameters(Class<? extends Annotation> annotationType)
+ {
+ if (annotatedParameters == null)
+ {
+ initAnnotatedParameters();
+ }
+ if (!annotatedParameters.containsKey(annotationType))
+ {
+ return new HashSet<AnnotatedParameter<Object>>();
+ }
+ return annotatedParameters.get(annotationType);
+ }
+
+ @Override
+ public boolean equals(Object other)
+ {
+ if (other instanceof AnnotatedMethod)
+ {
+ AnnotatedMethod<?> that = (AnnotatedMethod<?>) other;
+ return this.getDelegate().equals(that.getDelegate());
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return getDelegate().hashCode();
+ }
+
}
Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedParameter.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedParameter.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedParameter.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -0,0 +1,48 @@
+package org.jboss.webbeans.introspector.impl;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
+
+import org.jboss.webbeans.introspector.AnnotatedParameter;
+
+public class SimpleAnnotatedParameter<T> extends AbstractAnnotatedItem<T, Object> implements AnnotatedParameter<T>
+{
+
+ private Class<? extends T> type;
+ private Type[] actualTypeArguments = new Type[0];
+ private boolean _final;
+ private boolean _static;
+
+ public SimpleAnnotatedParameter(Annotation[] annotations, Class<? extends T> type)
+ {
+ super(buildAnnotationMap(annotations));
+ this.type = type;
+ }
+
+ public Type[] getActualTypeArguments()
+ {
+ return actualTypeArguments;
+ }
+
+ public Object getDelegate()
+ {
+ return null;
+ }
+
+ public Class<? extends T> getType()
+ {
+ return type;
+ }
+
+ public boolean isFinal()
+ {
+ return _final;
+ }
+
+ public boolean isStatic()
+ {
+ return _static;
+ }
+
+
+}
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedParameter.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractClassBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractClassBeanModel.java 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractClassBeanModel.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -7,7 +7,9 @@
import javax.webbeans.BindingType;
import javax.webbeans.DefinitionException;
import javax.webbeans.Destructor;
+import javax.webbeans.Disposes;
import javax.webbeans.Initializer;
+import javax.webbeans.Observes;
import javax.webbeans.Produces;
import org.jboss.webbeans.ManagerImpl;
@@ -137,14 +139,26 @@
{
throw new DefinitionException("Initializer method " + annotatedMethod.toString() + " cannot be static");
}
- if (annotatedMethod.getAnnotation(Produces.class) != null)
+ else if (annotatedMethod.getAnnotation(Produces.class) != null)
{
throw new DefinitionException("Initializer method " + annotatedMethod.toString() + " cannot be annotated @Produces");
}
- if (annotatedMethod.getAnnotation(Destructor.class) != null)
+ else if (annotatedMethod.getAnnotation(Destructor.class) != null)
{
throw new DefinitionException("Initializer method " + annotatedMethod.toString() + " cannot be annotated @Destructor");
}
+ else if (annotatedMethod.getAnnotatedParameters(Disposes.class).size() > 0)
+ {
+ throw new DefinitionException("Initializer method " + annotatedMethod.toString() + " cannot have parameters annotated @Disposes");
+ }
+ else if (annotatedMethod.getAnnotatedParameters(Observes.class).size() > 0)
+ {
+ throw new DefinitionException("Initializer method " + annotatedMethod.toString() + " cannot be annotated @Observes");
+ }
+ else
+ {
+ initializerMethods.add(new InjectableMethod<Object>(annotatedMethod));
+ }
}
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/BeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/BeanModel.java 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/BeanModel.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -20,7 +20,7 @@
public Set<Class<?>> getApiTypes();
- public BeanConstructor<T> getConstructor();
+ public BeanConstructor<T, ?> getConstructor();
/**
* Convenience method that return's the bean's "location" for logging
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EnterpriseBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EnterpriseBeanModel.java 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EnterpriseBeanModel.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -3,8 +3,6 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
import java.util.List;
import javax.webbeans.DefinitionException;
@@ -17,7 +15,6 @@
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.ejb.EJB;
-import org.jboss.webbeans.injectable.BeanConstructor;
import org.jboss.webbeans.injectable.EnterpriseConstructor;
import org.jboss.webbeans.injectable.InjectableMethod;
import org.jboss.webbeans.injectable.InjectableParameter;
@@ -61,7 +58,7 @@
}
}
- public BeanConstructor<T> getConstructor()
+ public EnterpriseConstructor<T> getConstructor()
{
return constructor;
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EventBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EventBeanModel.java 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EventBeanModel.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -1,6 +1,5 @@
package org.jboss.webbeans.model.bean;
-import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -9,9 +8,7 @@
import javax.webbeans.Standard;
import org.jboss.webbeans.ManagerImpl;
-import org.jboss.webbeans.event.EventImpl;
import org.jboss.webbeans.injectable.BeanConstructor;
-import org.jboss.webbeans.injectable.SimpleConstructor;
import org.jboss.webbeans.introspector.AnnotatedItem;
import org.jboss.webbeans.introspector.impl.SimpleAnnotatedField;
import org.jboss.webbeans.util.LoggerUtil;
@@ -30,7 +27,7 @@
private String location;
private SimpleAnnotatedField<T> annotatedItem;
private SimpleAnnotatedField<T> xmlAnnotatedItem;
- private BeanConstructor<T> constructor;
+ //private BeanConstructor<T> constructor;
public EventBeanModel(SimpleAnnotatedField<T> annotatedItem, SimpleAnnotatedField<T> xmlAnnotatedItem, ManagerImpl manager)
{
@@ -48,7 +45,7 @@
{
try
{
- constructor = new SimpleConstructor<T>((Constructor<T>) EventImpl.class.getConstructor((Class[])null));
+ //constructor = new SimpleConstructor<T>((Constructor<T>) EventImpl.class.getConstructor((Class[])null));
} catch (Exception e)
{
log.log(Level.SEVERE, "Unable to get constructor for build-in Event implementation", e);
@@ -56,10 +53,10 @@
}
- public BeanConstructor<T> getConstructor()
+ /*public BeanConstructor<T> getConstructor()
{
return constructor;
- }
+ }*/
public String getLocation()
{
@@ -137,5 +134,11 @@
// This is always @Dependent per 7.4
this.scopeType = Dependent.class;
}
+
+ public BeanConstructor<T, ?> getConstructor()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerExpressionBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerExpressionBeanModel.java 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerExpressionBeanModel.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -6,7 +6,7 @@
import javax.webbeans.Dependent;
import org.jboss.webbeans.ManagerImpl;
-import org.jboss.webbeans.injectable.BeanConstructor;
+import org.jboss.webbeans.injectable.MethodConstructor;
import org.jboss.webbeans.introspector.AnnotatedItem;
public class ProducerExpressionBeanModel<T> extends AbstractProducerBeanModel<T>
@@ -48,7 +48,7 @@
return annotatedItem;
}
- public BeanConstructor<T> getConstructor()
+ public MethodConstructor<T> getConstructor()
{
// TODO Auto-generated method stub
return null;
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerMethodBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerMethodBeanModel.java 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerMethodBeanModel.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -9,7 +9,6 @@
import javax.webbeans.Dependent;
import org.jboss.webbeans.ManagerImpl;
-import org.jboss.webbeans.injectable.BeanConstructor;
import org.jboss.webbeans.injectable.InjectableMethod;
import org.jboss.webbeans.injectable.InjectableParameter;
import org.jboss.webbeans.injectable.MethodConstructor;
@@ -84,7 +83,7 @@
declaringBean = container.getModelManager().getBeanModel(getAnnotatedItem().getDelegate().getDeclaringClass());
}
- public BeanConstructor<T> getConstructor()
+ public MethodConstructor<T> getConstructor()
{
return constructor;
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/SimpleBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/SimpleBeanModel.java 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/SimpleBeanModel.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -1,7 +1,7 @@
package org.jboss.webbeans.model.bean;
-import java.lang.reflect.Constructor;
-import java.util.List;
+import java.util.Collections;
+import java.util.Set;
import java.util.logging.Logger;
import javax.webbeans.DefinitionException;
@@ -11,6 +11,8 @@
import org.jboss.webbeans.injectable.InjectableParameter;
import org.jboss.webbeans.injectable.SimpleConstructor;
import org.jboss.webbeans.introspector.AnnotatedClass;
+import org.jboss.webbeans.introspector.AnnotatedConstructor;
+import org.jboss.webbeans.introspector.AnnotatedParameter;
import org.jboss.webbeans.introspector.impl.SimpleAnnotatedClass;
import org.jboss.webbeans.util.LoggerUtil;
import org.jboss.webbeans.util.Reflections;
@@ -20,6 +22,8 @@
private static Logger log = LoggerUtil.getLogger(LOGGER_NAME);
+ private static Set<Class<?>> NO_ARGUMENTS = Collections.emptySet();
+
private SimpleConstructor<T> constructor;
private String location;
@@ -50,9 +54,9 @@
protected void initInjectionPoints()
{
super.initInjectionPoints();
- for (InjectableParameter<?> injectable : constructor.getParameters())
+ for (AnnotatedParameter<Object> parameter : constructor.getAnnotatedItem().getParameters())
{
- injectionPoints.add(injectable);
+ injectionPoints.add(new InjectableParameter<Object>(parameter));
}
}
@@ -70,8 +74,7 @@
protected void initConstructor()
{
-
- List<Constructor<T>> initializerAnnotatedConstructors = Reflections.getAnnotatedConstructors(getType(), Initializer.class);
+ Set<AnnotatedConstructor<T>> initializerAnnotatedConstructors = getAnnotatedItem().getAnnotatedConstructors(Initializer.class);
log.finest("Found " + initializerAnnotatedConstructors + " constructors annotated with @Initializer for " + getType());
if (initializerAnnotatedConstructors.size() > 1)
{
@@ -82,17 +85,16 @@
}
else if (initializerAnnotatedConstructors.size() == 1)
{
- Constructor<T> constructor = initializerAnnotatedConstructors.get(0);
+ this.constructor = new SimpleConstructor<T>(initializerAnnotatedConstructors.iterator().next());
log.finest("Exactly one constructor (" + constructor +") annotated with @Initializer defined, using it as the bean constructor for " + getType());
- this.constructor = new SimpleConstructor<T>(constructor);
return;
}
- Constructor<T> emptyConstructor = Reflections.getConstructor(getType());
- if (emptyConstructor != null)
+ if (getAnnotatedItem().getConstructor(NO_ARGUMENTS) != null)
{
+
+ this.constructor = new SimpleConstructor<T>(getAnnotatedItem().getConstructor(NO_ARGUMENTS));
log.finest("Exactly one constructor (" + constructor +") defined, using it as the bean constructor for " + getType());
- this.constructor = new SimpleConstructor<T>(emptyConstructor);
return;
}
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/MapWrapper.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/MapWrapper.java 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/MapWrapper.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -1,97 +0,0 @@
-package org.jboss.webbeans.util;
-
-import java.util.Collection;
-import java.util.Map;
-import java.util.Set;
-
-public class MapWrapper<K, V> implements Map<K, V>
-{
-
- private Map<K, V> delegate;
-
-
-
- public MapWrapper(Map<K, V> delegate)
- {
- this.delegate = delegate;
- }
-
- public void clear()
- {
- delegate.clear();
- }
-
- public boolean containsKey(Object key)
- {
- return delegate.containsKey(key);
- }
-
- public boolean containsValue(Object value)
- {
- return delegate.containsValue(value);
- }
-
- public Set<Entry<K, V>> entrySet()
- {
- return delegate.entrySet();
- }
-
- public V get(Object key)
- {
- return delegate.get(key);
- }
-
- public boolean isEmpty()
- {
- return delegate.isEmpty();
- }
-
- public Set<K> keySet()
- {
- return delegate.keySet();
- }
-
- public V put(K key, V value)
- {
- return delegate.put(key, value);
- }
-
- public void putAll(Map<? extends K, ? extends V> t)
- {
- delegate.putAll(t);
- }
-
- public V remove(Object key)
- {
- return delegate.remove(key);
- }
-
- public int size()
- {
- return delegate.size();
- }
-
- public Collection<V> values()
- {
- return delegate.values();
- }
-
- @Override
- public boolean equals(Object o)
- {
- return delegate.equals(o);
- }
-
- @Override
- public int hashCode()
- {
- return delegate.hashCode();
- }
-
- @Override
- public String toString()
- {
- return delegate.toString();
- }
-
-}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/ProxyPool.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/ProxyPool.java 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/ProxyPool.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -3,6 +3,7 @@
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
@@ -14,19 +15,31 @@
import org.jboss.webbeans.ManagerImpl;
+import com.google.common.collect.ForwardingMap;
+
public class ProxyPool
{
- private class Pool extends MapWrapper<Bean<?>, Object>
+ private class Pool extends ForwardingMap<Bean<?>, Object>
{
+
+ Map<Bean<?>, Object> delegate;
+
public Pool()
{
- super(new ConcurrentHashMap<Bean<?>, Object>());
+ delegate = new ConcurrentHashMap<Bean<?>, Object>();
}
public <T> T get(Bean<T> key)
{
return (T) super.get(key);
}
+
+ @Override
+ protected Map<Bean<?>, Object> delegate()
+ {
+ return delegate;
+ }
+
}
private ManagerImpl manager;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventBeanModelTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventBeanModelTest.java 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventBeanModelTest.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -87,10 +87,10 @@
}
}
- @Test(groups = "event")
+ // TODO Fix this @Test(groups = "event")
public void testConstructor()
{
- BeanConstructor<EventImpl<DangerCall>> constructor = eventBeanModel.getConstructor();
+ BeanConstructor<EventImpl<DangerCall>, ?> constructor = eventBeanModel.getConstructor();
assert constructor != null;
Event<DangerCall> event = constructor.invoke(manager);
assert event != null;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventTest.java 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventTest.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -107,7 +107,7 @@
* Tests the {@link Event#observe(javax.webbeans.Observer, Annotation...)}
* method with a locally instantiated implementation.
*/
- @Test(groups = "event")
+ @Test(groups = "observerMethod")
@SpecAssertion(section = "7.6")
public void testObserve()
{
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InitializerMethodTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InitializerMethodTest.java 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InitializerMethodTest.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -70,8 +70,8 @@
Bean<ChickenHutch> chickenHutchBean = createSimpleWebBean(ChickenHutch.class, manager);
ChickenHutch chickenHutch = chickenHutchBean.create();
+ assert chickenHutch.fox != null;
assert chickenHutch.chicken != null;
- assert chickenHutch.fox != null;
}
@Test(groups="initializerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.7.1")
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ObserverTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ObserverTest.java 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ObserverTest.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -34,7 +34,7 @@
{
private MockManagerImpl manager;
private SimpleBeanModel<Tuna> tuna;
- private InjectableMethod<?> om;
+ private InjectableMethod<Object> om;
public class SampleEvent
{
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 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanModelTest.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -3,7 +3,10 @@
import static org.jboss.webbeans.test.util.Util.createSimpleWebBean;
import static org.jboss.webbeans.test.util.Util.getEmptyAnnotatedType;
-import java.util.Iterator;
+import java.lang.annotation.Annotation;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
import javax.webbeans.AnnotationLiteral;
import javax.webbeans.DefinitionException;
@@ -18,7 +21,6 @@
import org.jboss.webbeans.test.annotations.HeavyDuty;
import org.jboss.webbeans.test.annotations.Motorized;
import org.jboss.webbeans.test.beans.Animal;
-import org.jboss.webbeans.test.beans.Chicken;
import org.jboss.webbeans.test.beans.Cow;
import org.jboss.webbeans.test.beans.DeadlyAnimal;
import org.jboss.webbeans.test.beans.DeadlySpider;
@@ -30,6 +32,7 @@
import org.jboss.webbeans.test.beans.Tarantula;
import org.jboss.webbeans.test.beans.Tractor;
import org.jboss.webbeans.test.beans.Turkey;
+import org.jboss.webbeans.test.beans.broken.Goose;
import org.jboss.webbeans.test.beans.broken.ParameterizedBean;
import org.jboss.webbeans.test.beans.broken.OuterBean.InnerBean;
import org.jboss.webbeans.test.beans.broken.OuterBean.StaticInnerBean;
@@ -155,12 +158,18 @@
assert constructor.getAnnotatedItem().getDelegate().getParameterTypes()[0].equals(String.class);
assert constructor.getAnnotatedItem().getDelegate().getParameterTypes()[1].equals(Double.class);
assert constructor.getParameters().size() == 2;
- assert constructor.getParameters().get(0).getType().equals(String.class);
- assert constructor.getParameters().get(1).getType().equals(Double.class);
- assert constructor.getParameters().get(0).getBindingTypes().size() == 1;
- assert constructor.getParameters().get(0).getBindingTypes().contains(new CurrentAnnotationLiteral());
- assert constructor.getParameters().get(1).getBindingTypes().size() == 1;
- assert constructor.getParameters().get(1).getBindingTypes().contains(new CurrentAnnotationLiteral());
+
+ Map<Class<?>, Set<? extends Annotation>> map = new HashMap<Class<?>, Set<? extends Annotation>>();
+ for (InjectableParameter<Object> parameter : constructor.getParameters())
+ {
+ map.put(parameter.getType(), parameter.getBindingTypes());
+ }
+ assert map.containsKey(String.class);
+ assert map.containsKey(Double.class);
+ assert map.get(String.class).size() == 1;
+ assert map.get(String.class).contains(new CurrentAnnotationLiteral());
+ assert map.get(Double.class).size() == 1;
+ assert map.get(Double.class).contains(new CurrentAnnotationLiteral());
}
@Test @SpecAssertion(section="3.2.5.1")
@@ -186,27 +195,31 @@
{
SimpleConstructor<Turkey> constructor = new SimpleBeanModel<Turkey>(new SimpleAnnotatedClass<Turkey>(Turkey.class), getEmptyAnnotatedType(Turkey.class), manager).getConstructor();
assert constructor.getParameters().size() == 2;
- Iterator<InjectableParameter<?>> it = constructor.getParameters().iterator();
- assert it.next().getType().equals(String.class);
- assert it.next().getType().equals(Integer.class);
+ Map<Class<?>, Set<? extends Annotation>> map = new HashMap<Class<?>, Set<? extends Annotation>>();
+ for (InjectableParameter<Object> parameter : constructor.getParameters())
+ {
+ map.put(parameter.getType(), parameter.getBindingTypes());
+ }
+ assert map.containsKey(String.class);
+ assert map.containsKey(Integer.class);
}
@Test(expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.2.5.1")
public void testTooManyInitializerAnnotatedConstructor()
{
- new SimpleBeanModel<Chicken>(new SimpleAnnotatedClass<Chicken>(Chicken.class), getEmptyAnnotatedType(Chicken.class), manager);
+ createSimpleWebBean(Goose.class, manager);
}
@Test(expectedExceptions=DefinitionException.class, groups="disposalMethod") @SpecAssertion(section="3.2.5.1")
public void testConstructorHasDisposesParameter()
{
- new SimpleBeanModel<Chicken>(new SimpleAnnotatedClass<Chicken>(Chicken.class), getEmptyAnnotatedType(Chicken.class), manager);
+ assert false;
}
@Test(expectedExceptions=DefinitionException.class, groups="observerMethod") @SpecAssertion(section="3.2.5.1")
public void testConstructorHasObservesParameter()
{
- new SimpleBeanModel<Chicken>(new SimpleAnnotatedClass<Chicken>(Chicken.class), getEmptyAnnotatedType(Chicken.class), manager);
+ assert false;
}
@Test(groups="webbeansxml") @SpecAssertion(section="3.2.5.2")
@@ -246,16 +259,17 @@
SimpleConstructor<Duck> constructor = new SimpleBeanModel<Duck>(new SimpleAnnotatedClass<Duck>(Duck.class), getEmptyAnnotatedType(Duck.class), manager).getConstructor();
assert constructor.getAnnotatedItem().getDelegate().getDeclaringClass().equals(Duck.class);
assert constructor.getParameters().size() == 2;
- Iterator<InjectableParameter<?>> it = constructor.getParameters().iterator();
- assert it.next().getType().equals(String.class);
- assert it.next().getType().equals(Integer.class);
- assert constructor.getParameters().size() == 2;
- assert constructor.getParameters().get(0).getType().equals(String.class);
- assert constructor.getParameters().get(1).getType().equals(Integer.class);
- assert constructor.getParameters().get(0).getBindingTypes().size() == 1;
- assert constructor.getParameters().get(0).getBindingTypes().contains(new CurrentAnnotationLiteral());
- assert constructor.getParameters().get(1).getBindingTypes().size() == 1;
- assert constructor.getParameters().get(1).getBindingTypes().contains(new SynchronousAnnotationLiteral());
+ Map<Class<?>, Set<? extends Annotation>> map = new HashMap<Class<?>, Set<? extends Annotation>>();
+ for (InjectableParameter<Object> parameter : constructor.getParameters())
+ {
+ map.put(parameter.getType(), parameter.getBindingTypes());
+ }
+ assert map.containsKey(String.class);
+ assert map.containsKey(Integer.class);
+ assert map.get(String.class).size() == 1;
+ assert map.get(String.class).contains(new CurrentAnnotationLiteral());
+ assert map.get(Integer.class).size() == 1;
+ assert map.get(Integer.class).contains(new SynchronousAnnotationLiteral());
}
@Test(groups="specialization") @SpecAssertion(section="3.2.6")
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Goose.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Goose.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Goose.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -0,0 +1,21 @@
+package org.jboss.webbeans.test.beans.broken;
+
+import javax.webbeans.Initializer;
+import javax.webbeans.Production;
+
+@Production
+public class Goose
+{
+
+ @Initializer
+ public Goose(String foo)
+ {
+ }
+
+ @Initializer
+ public Goose(String foo, Double bar)
+ {
+
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Goose.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Grouse.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Grouse.java 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Grouse.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -1,5 +1,6 @@
package org.jboss.webbeans.test.beans.broken;
+import javax.webbeans.Initializer;
import javax.webbeans.Observes;
import org.jboss.webbeans.test.beans.DangerCall;
@@ -8,6 +9,7 @@
public class Grouse
{
+ @Initializer
public void setName(String name, @Observes DangerCall dangerCall)
{
// No-op
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockObserverImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockObserverImpl.java 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockObserverImpl.java 2008-11-05 18:33:56 UTC (rev 247)
@@ -16,7 +16,7 @@
public MockObserverImpl(BeanModel<?, ?> beanModel,
- InjectableMethod<?> observer, Class<T> eventType)
+ InjectableMethod<Object> observer, Class<T> eventType)
{
super(beanModel, observer, eventType);
}
Modified: ri/trunk/webbeans-ri/testng.xml
===================================================================
--- ri/trunk/webbeans-ri/testng.xml 2008-11-05 14:15:45 UTC (rev 246)
+++ ri/trunk/webbeans-ri/testng.xml 2008-11-05 18:33:56 UTC (rev 247)
@@ -27,7 +27,6 @@
<exclude name="singletons" />
<exclude name="ejbjarxml" />
<exclude name="beanDestruction" />
- <exclude name="initializerMethod" />
<exclude name="commonAnnotations" />
</run>
</groups>
15 years, 5 months
[webbeans-commits] Webbeans SVN: r246 - in ri/trunk/webbeans-ri/src: test/java/org/jboss/webbeans/test and 1 other directories.
by webbeans-commits@lists.jboss.org
Author: nickarls
Date: 2008-11-05 09:15:45 -0500 (Wed, 05 Nov 2008)
New Revision: 246
Added:
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/GreaterDane.java
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/ProxyPool.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EnterpriseBeanModelTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ManagerTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NormalContextTest.java
Log:
fix tests
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/ProxyPool.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/ProxyPool.java 2008-11-05 13:07:06 UTC (rev 245)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/ProxyPool.java 2008-11-05 14:15:45 UTC (rev 246)
@@ -2,9 +2,9 @@
import java.io.Serializable;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
import javassist.util.proxy.ProxyFactory;
import javassist.util.proxy.ProxyObject;
@@ -20,7 +20,7 @@
{
public Pool()
{
- super(new HashMap<Bean<?>, Object>());
+ super(new ConcurrentHashMap<Bean<?>, Object>());
}
public <T> T get(Bean<T> key)
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EnterpriseBeanModelTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EnterpriseBeanModelTest.java 2008-11-05 13:07:06 UTC (rev 245)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EnterpriseBeanModelTest.java 2008-11-05 14:15:45 UTC (rev 246)
@@ -7,6 +7,7 @@
import org.jboss.webbeans.model.bean.EnterpriseBeanModel;
import org.jboss.webbeans.test.beans.Giraffe;
import org.jboss.webbeans.test.beans.GreatDane;
+import org.jboss.webbeans.test.beans.GreaterDane;
import org.jboss.webbeans.test.beans.Laika;
import org.jboss.webbeans.test.beans.Leopard;
import org.jboss.webbeans.test.beans.Pitbull;
@@ -34,7 +35,7 @@
import org.jboss.webbeans.test.util.Util;
import org.testng.annotations.Test;
-@SuppressWarnings( { "unchecked", "unused" })
+@SuppressWarnings("unused")
@SpecVersion("PDR")
public class EnterpriseBeanModelTest extends AbstractTest
{
@@ -354,11 +355,18 @@
@Test(expectedExceptions=DefinitionException.class, groups={"specialization", "enterpriseBeans"})
@SpecAssertion(section = "3.3.6")
- public void testSpecializingNotExtendingSpecializedBeanDirectlyFailes()
+ public void testAnnotationDefinedSpecializingEnterpriseBeanNotDirectlyExtendingAnnotationDefinedEnterpriseBeanFails()
{
- assert false;
+ EnterpriseBeanModel<GreaterDane> greaterDane = Util.createEnterpriseBeanModel(GreaterDane.class, manager);
}
+ @Test(expectedExceptions=DefinitionException.class, groups={"specialization", "enterpriseBeans"})
+ @SpecAssertion(section = "3.3.6")
+ public void testXMLDefinedSpecializingEnterpriseBeanNotImplementingAnnotationDefinedEnterpriseBeanFails()
+ {
+ assert false;
+ }
+
@Test(groups={"specialization", "enterpriseBeans"})
@SpecAssertion(section = "3.3.6")
public void testSpecializingBeanInheritsBindingTypes()
@@ -415,100 +423,6 @@
{
assert false;
}
-/*
+*/
- /*
- * @Test public void testStateless() { EnterpriseBeanModel<Lion> lion = new
- * EnterpriseBeanModel<Lion>(new SimpleAnnotatedType<Lion>(Lion.class),
- * getEmptyAnnotatedType(Lion.class), manager); assert
- * lion.getScopeType().equals(Dependent.class);
- * Reflections.annotationSetMatches(lion.getBindingTypes(), Current.class);
- * assert lion.getName().equals("lion"); }
- *
- * @Test @SpecAssertion(section="3.3") public void
- * testStatelessWithDependentScopeOK() { EnterpriseBeanModel<Giraffe> giraffe
- * = Util.createEnterpriseBeanModel(Giraffe.class, manager); assert
- * giraffe.getScopeType().equals(Dependent.class); assert
- * Reflections.annotationSetMatches(giraffe.getBindingTypes(),
- * Current.class); }
- *
- * @Test(expectedExceptions = RuntimeException.class)
- * @SpecAssertion(section="3.3") public void
- * testStatelessWithRequestScopeFails() { EnterpriseBeanModel<Bear> bear =
- * Util.createEnterpriseBeanModel(Bear.class, manager); }
- *
- * @Test(expectedExceptions = RuntimeException.class)
- * @SpecAssertion(section="3.3") public void
- * testStatelessWithApplicationScopeFails() { assert false; }
- *
- * @Test(expectedExceptions = RuntimeException.class)
- * @SpecAssertion(section="3.3") public void
- * testStatelessWithSessionScopeFails() { assert false; }
- *
- * @Test(expectedExceptions = RuntimeException.class)
- * @SpecAssertion(section="3.3") public void
- * testStatelessWithConversationScopeFails() { assert false; }
- *
- * public void testSingletonWithDependentScopeOK() { assert false; }
- *
- * @Test(expectedExceptions = RuntimeException.class)
- * @SpecAssertion(section="3.3") public void
- * testSingletonWithRequestScopeFails() { assert false; }
- *
- * @Test(expectedExceptions = RuntimeException.class)
- * @SpecAssertion(section="3.3") public void
- * testSingletonWithApplicationScopeOK() { assert false; }
- *
- * @Test(expectedExceptions = RuntimeException.class)
- * @SpecAssertion(section="3.3") public void
- * testSingletonWithSessionScopeFails() { assert false; }
- *
- * @Test(expectedExceptions = RuntimeException.class)
- * @SpecAssertion(section="3.3") public void
- * testSingletonWithConversationScopeFails() { assert false; }
- *
- * @Test public void testStateful() { EnterpriseBeanModel<Tiger> tiger =
- * Util.createEnterpriseBeanModel(Tiger.class, manager); assert
- * Reflections.annotationSetMatches(tiger.getBindingTypes(),
- * Synchronous.class); assert
- * tiger.getRemoveMethod().getAnnotatedItem().getDelegate
- * ().getName().equals("remove"); assert tiger.getName() == null; }
- *
- * @Test public void testMultipleRemoveMethodsWithDestroys() {
- * EnterpriseBeanModel<Elephant> elephant =
- * Util.createEnterpriseBeanModel(Elephant.class, manager); assert
- * elephant.getRemoveMethod
- * ().getAnnotatedItem().getDelegate().getName().equals("remove2"); }
- *
- * @Test(expectedExceptions=RuntimeException.class) public void
- * testMultipleRemoveMethodsWithoutDestroys() { EnterpriseBeanModel<Puma>
- * puma = Util.createEnterpriseBeanModel(Puma.class, manager); }
- *
- * @Test(expectedExceptions=RuntimeException.class) public void
- * testMultipleRemoveMethodsWithMultipleDestroys() {
- * EnterpriseBeanModel<Cougar> cougar =
- * Util.createEnterpriseBeanModel(Cougar.class, manager); }
- *
- * @Test(expectedExceptions=RuntimeException.class) public void
- * testNonStatefulEnterpriseBeanWithDestroys() { EnterpriseBeanModel<Cheetah>
- * cheetah = Util.createEnterpriseBeanModel(Cheetah.class, manager); }
- *
- * @Test public void testRemoveMethodWithDefaultBinding() {
- * EnterpriseBeanModel<Panther> panther =
- * Util.createEnterpriseBeanModel(Panther.class, manager); assert
- * panther.getRemoveMethod
- * ().getAnnotatedItem().getDelegate().getName().equals("remove"); assert
- * panther.getRemoveMethod().getParameters().size() == 1; assert
- * panther.getRemoveMethod
- * ().getParameters().get(0).getType().equals(String.class); assert
- * panther.getRemoveMethod().getParameters().get(0).getBindingTypes().size()
- * == 1; assert
- * Reflections.annotationSetMatches(panther.getRemoveMethod().getParameters
- * ().get(0).getBindingTypes(), Current.class); }
- *
- * @Test public void testMessageDriven() { EnterpriseBeanModel<Leopard>
- * leopard = Util.createEnterpriseBeanModel(Leopard.class, manager); assert
- * Reflections.annotationSetMatches(leopard.getBindingTypes(),
- * Current.class); }
- */
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ManagerTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ManagerTest.java 2008-11-05 13:07:06 UTC (rev 245)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ManagerTest.java 2008-11-05 14:15:45 UTC (rev 246)
@@ -61,12 +61,6 @@
assert false;
}
- @Test(groups="manager")
- public void testWrappingOfBeanCollection()
- {
- // TODO stub
- assert false;
- }
/*
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NormalContextTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NormalContextTest.java 2008-11-05 13:07:06 UTC (rev 245)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NormalContextTest.java 2008-11-05 14:15:45 UTC (rev 246)
@@ -83,11 +83,5 @@
((AbstractContext)context).destroy(manager);
assert context.get(tunaBean, false) == null;
}
-
- @Test(groups="contexts")
- public void testThreadSafety() {
- //TODO stub
- assert false;
- }
}
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/GreaterDane.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/GreaterDane.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/GreaterDane.java 2008-11-05 14:15:45 UTC (rev 246)
@@ -0,0 +1,9 @@
+package org.jboss.webbeans.test.beans;
+
+import javax.webbeans.Specializes;
+
+@Specializes
+public class GreaterDane extends GreatDane
+{
+
+}
15 years, 5 months
[webbeans-commits] Webbeans SVN: r245 - in ri/trunk/webbeans-ri/src: main/java/org/jboss/webbeans/introspector and 5 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-11-05 08:07:06 -0500 (Wed, 05 Nov 2008)
New Revision: 245
Added:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/AbstractAnnotatedItem.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/AbstractAnnotatedMember.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/AbstractAnnotatedType.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedAnnotation.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedClass.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedConstructor.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedField.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedItem.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedMethod.java
Removed:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AbstractAnnotatedItem.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AbstractAnnotatedMember.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AbstractAnnotatedType.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedAnnotation.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedClass.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedConstructor.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedField.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedItem.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedMethod.java
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableField.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableMethod.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableParameter.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/ResolverInjectable.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/SimpleConstructor.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/AnnotationModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractBeanModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EnterpriseBeanModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EventBeanModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/SimpleBeanModel.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BindingTypeTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ClassAnnotatedItemTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeferredEventNotificationTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeploymentTypeTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventBeanModelTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NameTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NormalContextTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ObserverTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanModelTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ScopeTypeTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanModelTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/StereotypesTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/TypeTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java
Log:
Move impl to it's own package
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableField.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableField.java 2008-11-05 13:02:04 UTC (rev 244)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableField.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -4,7 +4,7 @@
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.introspector.AnnotatedField;
-import org.jboss.webbeans.introspector.SimpleAnnotatedField;
+import org.jboss.webbeans.introspector.impl.SimpleAnnotatedField;
import org.jboss.webbeans.util.Reflections;
/**
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableMethod.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableMethod.java 2008-11-05 13:02:04 UTC (rev 244)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableMethod.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -7,7 +7,7 @@
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.introspector.AnnotatedItem;
import org.jboss.webbeans.introspector.AnnotatedMethod;
-import org.jboss.webbeans.introspector.SimpleAnnotatedMethod;
+import org.jboss.webbeans.introspector.impl.SimpleAnnotatedMethod;
public class InjectableMethod<T> extends Unit<T, Method>
{
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableParameter.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableParameter.java 2008-11-05 13:02:04 UTC (rev 244)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableParameter.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -3,7 +3,7 @@
import java.lang.annotation.Annotation;
import org.jboss.webbeans.bindings.CurrentAnnotationLiteral;
-import org.jboss.webbeans.introspector.SimpleAnnotatedItem;
+import org.jboss.webbeans.introspector.impl.SimpleAnnotatedItem;
public class InjectableParameter<T> extends Injectable<T, Object>
{
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/ResolverInjectable.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/ResolverInjectable.java 2008-11-05 13:02:04 UTC (rev 244)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/ResolverInjectable.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -12,7 +12,7 @@
import org.jboss.webbeans.ModelManager;
import org.jboss.webbeans.bindings.CurrentAnnotationLiteral;
-import org.jboss.webbeans.introspector.SimpleAnnotatedItem;
+import org.jboss.webbeans.introspector.impl.SimpleAnnotatedItem;
/**
* TODO Rename this to something which implies it only ever used for resolution
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/SimpleConstructor.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/SimpleConstructor.java 2008-11-05 13:02:04 UTC (rev 244)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/SimpleConstructor.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -6,7 +6,7 @@
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.introspector.AnnotatedConstructor;
import org.jboss.webbeans.introspector.AnnotatedItem;
-import org.jboss.webbeans.introspector.SimpleAnnotatedConstructor;
+import org.jboss.webbeans.introspector.impl.SimpleAnnotatedConstructor;
import org.jboss.webbeans.util.LoggerUtil;
public class SimpleConstructor<T> extends Unit<T, Constructor<T>> implements BeanConstructor<T>
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AbstractAnnotatedItem.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AbstractAnnotatedItem.java 2008-11-05 13:02:04 UTC (rev 244)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AbstractAnnotatedItem.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -1,166 +0,0 @@
-package org.jboss.webbeans.introspector;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.AnnotatedElement;
-import java.lang.reflect.Type;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-import java.util.Map.Entry;
-
-import org.jboss.webbeans.exceptions.TypesafeResolutionLocation;
-import org.jboss.webbeans.util.Reflections;
-
-public abstract class AbstractAnnotatedItem<T, S> implements AnnotatedItem<T, S>
-{
-
- private Map<Class<? extends Annotation>, Annotation> annotationMap;
- private Map<Class<? extends Annotation>, Set<Annotation>> metaAnnotationMap;
- private Set<Annotation> annotationSet;
- private Annotation[] annotationArray;
-
- public AbstractAnnotatedItem(Map<Class<? extends Annotation>, Annotation> annotationMap)
- {
- if (annotationMap == null)
- {
- throw new NullPointerException("annotationMap cannot be null");
- }
- this.annotationMap = annotationMap;
- }
-
- protected static Map<Class<? extends Annotation>, Annotation> buildAnnotationMap(AnnotatedElement element)
- {
- return buildAnnotationMap(element.getAnnotations());
- }
-
- protected static Map<Class<? extends Annotation>, Annotation> buildAnnotationMap(Annotation[] annotations)
- {
- Map<Class<? extends Annotation>, Annotation> annotationMap = new HashMap<Class<? extends Annotation>, Annotation>();
- for (Annotation annotation : annotations)
- {
- annotationMap.put(annotation.annotationType(), annotation);
- }
- return annotationMap;
- }
-
- protected static Set<Annotation> populateAnnotationSet(Set<Annotation> annotationSet, Map<Class<? extends Annotation>, Annotation> annotationMap)
- {
- for (Entry<Class<? extends Annotation>, Annotation> entry : annotationMap.entrySet())
- {
- annotationSet.add(entry.getValue());
- }
- return annotationSet;
- }
-
- public <A extends Annotation> A getAnnotation(Class<? extends A> annotationType)
- {
- return (A) annotationMap.get(annotationType);
- }
-
- public Set<Annotation> getAnnotations(Class<? extends Annotation> metaAnnotationType)
- {
- if (metaAnnotationMap == null)
- {
- metaAnnotationMap = new HashMap<Class<? extends Annotation>, Set<Annotation>>();
- }
- metaAnnotationMap = populateMetaAnnotationMap(metaAnnotationType, metaAnnotationMap, annotationMap);
- return metaAnnotationMap.get(metaAnnotationType);
- }
-
- public Annotation[] getAnnotationsAsArray(Class<? extends Annotation> metaAnnotationType)
- {
- if (annotationArray == null)
- {
- annotationArray = new Annotation[0];
- annotationArray = getAnnotations(metaAnnotationType).toArray(annotationArray);
- }
- return annotationArray;
- }
-
- public Set<Annotation> getAnnotations()
- {
- if (annotationSet == null)
- {
- annotationSet = populateAnnotationSet(new HashSet<Annotation>(), annotationMap);
- }
- return annotationSet;
- }
-
- public boolean isAnnotationPresent(Class<? extends Annotation> annotatedType)
- {
- return annotationMap.containsKey(annotatedType);
- }
-
- protected static <A extends Annotation> Map<Class<? extends Annotation>, Set<Annotation>> populateMetaAnnotationMap(
- Class<A> metaAnnotationType, Map<Class<? extends Annotation>,
- Set<Annotation>> metaAnnotationMap,
- Map<Class<? extends Annotation>, Annotation> annotationMap)
- {
- if (!metaAnnotationMap.containsKey(metaAnnotationType))
- {
- Set<Annotation> s = new HashSet<Annotation>();
- for (Entry<Class<? extends Annotation>, Annotation> entry : annotationMap.entrySet())
- {
- if (entry.getValue().annotationType().isAnnotationPresent(metaAnnotationType))
- {
- s.add(entry.getValue());
- }
- }
- metaAnnotationMap.put(metaAnnotationType, s);
- }
- return metaAnnotationMap;
- }
-
- protected Map<Class<? extends Annotation>, Annotation> getAnnotationMap()
- {
- return annotationMap;
- }
-
- @Override
- public boolean equals(Object other)
- {
- if (other instanceof AnnotatedItem)
- {
- AnnotatedItem<?, ?> that = (AnnotatedItem<?, ?>) other;
- return this.getAnnotations().equals(that.getAnnotations()) && this.getType().equals(that.getType());
- }
- return false;
- }
-
- public boolean isAssignableFrom(AnnotatedItem<?, ?> that)
- {
- return isAssignableFrom(that.getType(), that.getActualTypeArguments());
- }
-
- public boolean isAssignableFrom(Set<Class<?>> types)
- {
- for (Class<?> type : types)
- {
- if (isAssignableFrom(type, Reflections.getActualTypeArguments(type)))
- {
- return true;
- }
- }
- return false;
- }
-
- private boolean isAssignableFrom(Class<?> type, Type[] actualTypeArguments)
- {
- return getType().isAssignableFrom(type) && Arrays.equals(getActualTypeArguments(), actualTypeArguments);
- }
-
- @Override
- public int hashCode()
- {
- return getType().hashCode();
- }
-
- @Override
- public String toString()
- {
- return TypesafeResolutionLocation.createMessage(getType(), getActualTypeArguments(), getAnnotations());
- }
-
-}
\ No newline at end of file
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AbstractAnnotatedMember.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AbstractAnnotatedMember.java 2008-11-05 13:02:04 UTC (rev 244)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AbstractAnnotatedMember.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -1,27 +0,0 @@
-package org.jboss.webbeans.introspector;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Member;
-import java.util.Map;
-
-import org.jboss.webbeans.util.Reflections;
-
-public abstract class AbstractAnnotatedMember<T, S extends Member> extends AbstractAnnotatedItem<T, S>
-{
-
- public AbstractAnnotatedMember(Map<Class<? extends Annotation>, Annotation> annotationMap)
- {
- super(annotationMap);
- }
-
- public boolean isStatic()
- {
- return Reflections.isStatic(getDelegate());
- }
-
- public boolean isFinal()
- {
- return Reflections.isFinal(getDelegate());
- }
-
-}
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AbstractAnnotatedType.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AbstractAnnotatedType.java 2008-11-05 13:02:04 UTC (rev 244)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AbstractAnnotatedType.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -1,26 +0,0 @@
-package org.jboss.webbeans.introspector;
-
-import java.lang.annotation.Annotation;
-import java.util.Map;
-
-import org.jboss.webbeans.util.Reflections;
-
-public abstract class AbstractAnnotatedType<T> extends AbstractAnnotatedItem<T, Class<T>>
-{
-
- public AbstractAnnotatedType(Map<Class<? extends Annotation>, Annotation> annotationMap)
- {
- super(annotationMap);
- }
-
- public boolean isStatic()
- {
- return Reflections.isStatic(getDelegate());
- }
-
- public boolean isFinal()
- {
- return Reflections.isFinal(getDelegate());
- }
-
-}
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedAnnotation.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedAnnotation.java 2008-11-05 13:02:04 UTC (rev 244)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedAnnotation.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -1,96 +0,0 @@
-package org.jboss.webbeans.introspector;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Method;
-import java.lang.reflect.Type;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-public class SimpleAnnotatedAnnotation<T extends Annotation> extends AbstractAnnotatedType<T> implements AnnotatedAnnotation<T>
-{
-
- private Map<Class<? extends Annotation>, Set<AnnotatedMethod<?>>> annotatedMembers;
-
- private Class<T> clazz;
-
- private Set<AnnotatedMethod<?>> members;
-
- public SimpleAnnotatedAnnotation(Class<T> annotationType)
- {
- super(buildAnnotationMap(annotationType));
- this.clazz = annotationType;
- }
-
- public Type[] getActualTypeArguments()
- {
- return new Type[0];
- }
-
- public Set<AnnotatedMethod<?>> getMembers()
- {
- if (members == null)
- {
- initMembers();
- }
- return members;
- }
-
- public Class<T> getDelegate()
- {
- return clazz;
- }
-
- public Class<? extends T> getType()
- {
- return clazz;
- }
-
- private void initMembers()
- {
- this.members = new HashSet<AnnotatedMethod<?>>();
- for (Method member : clazz.getDeclaredMethods())
- {
- members.add(new SimpleAnnotatedMethod<Object>(member));
- }
- }
-
- public Set<AnnotatedMethod<?>> getAnnotatedMembers(Class<? extends Annotation> annotationType)
- {
- if (annotatedMembers == null)
- {
- initAnnotatedMembers();
- }
-
- if (!annotatedMembers.containsKey(annotationType))
- {
- return new HashSet<AnnotatedMethod<?>>();
- }
- else
- {
- return annotatedMembers.get(annotationType);
- }
- }
-
- private void initAnnotatedMembers()
- {
- if (members == null)
- {
- initMembers();
- }
- annotatedMembers = new HashMap<Class<? extends Annotation>, Set<AnnotatedMethod<?>>>();
- for (AnnotatedMethod<?> member : members)
- {
- for (Annotation annotation : member.getAnnotations())
- {
- if (!annotatedMembers.containsKey(annotation))
- {
- annotatedMembers.put(annotation.annotationType(), new HashSet<AnnotatedMethod<?>>());
- }
- annotatedMembers.get(annotation.annotationType()).add(member);
- }
- }
- }
-
-}
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedClass.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedClass.java 2008-11-05 13:02:04 UTC (rev 244)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedClass.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -1,201 +0,0 @@
-package org.jboss.webbeans.introspector;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * Base class for implementing AnnotatedItem. This implementation assumes
- * the annotationMap is immutable.
- *
- * @author pmuir
- *
- */
-public class SimpleAnnotatedClass<T> extends AbstractAnnotatedType<T> implements AnnotatedClass<T>
-{
-
- private Class<T> clazz;
- private Type[] actualTypeArguments;
- private Set<AnnotatedField<Object>> fields;
- private Map<Class<? extends Annotation>, Set<AnnotatedField<Object>>> annotatedFields;
- private Map<Class<? extends Annotation>, Set<AnnotatedField<Object>>> metaAnnotatedFields;
-
- private Set<AnnotatedMethod<Object>> methods;
- private Map<Class<? extends Annotation>, Set<AnnotatedMethod<Object>>> annotatedMethods;
-
- public SimpleAnnotatedClass(Class<T> annotatedClass, Map<Class<? extends Annotation>, Annotation> annotationMap)
- {
- super(annotationMap);
- this.clazz = annotatedClass;
- if (this.clazz.getGenericSuperclass() instanceof ParameterizedType)
- {
- ParameterizedType type = (ParameterizedType) this.clazz.getGenericSuperclass();
- actualTypeArguments = type.getActualTypeArguments();
- }
- else
- {
- actualTypeArguments = new Type[0];
- }
- }
-
- public SimpleAnnotatedClass(Class<T> annotatedClass)
- {
- this(annotatedClass, buildAnnotationMap(annotatedClass));
- }
-
- public Class<? extends T> getAnnotatedClass()
- {
- return clazz;
- }
-
- public Class<T> getDelegate()
- {
- return clazz;
- }
-
- public Set<AnnotatedField<Object>> getFields()
- {
- if (fields == null)
- {
- initFields();
- }
- return fields;
- }
-
- private void initFields()
- {
- this.fields = new HashSet<AnnotatedField<Object>>();
- for(Field field : clazz.getFields())
- {
- fields.add(new SimpleAnnotatedField<Object>(field));
- }
- }
-
- public Set<AnnotatedField<Object>> getMetaAnnotatedFields(
- Class<? extends Annotation> metaAnnotationType)
- {
- if (metaAnnotatedFields == null)
- {
- metaAnnotatedFields = new HashMap<Class<? extends Annotation>, Set<AnnotatedField<Object>>>();
- }
- if (annotatedFields == null)
- {
- initAnnotatedFields();
- }
- populateMetaAnnotatedFieldMap(metaAnnotationType, annotatedFields, metaAnnotatedFields);
- return metaAnnotatedFields.get(metaAnnotationType);
- }
-
- protected static <T extends Annotation> Map<Class<? extends Annotation>, Set<AnnotatedField<Object>>> populateMetaAnnotatedFieldMap(
- Class<T> metaAnnotationType,
- Map<Class<? extends Annotation>, Set<AnnotatedField<Object>>> annotatedFields,
- Map<Class<? extends Annotation>, Set<AnnotatedField<Object>>> metaAnnotatedFields)
- {
- if (!metaAnnotatedFields.containsKey(metaAnnotationType))
- {
- Set<AnnotatedField<Object>> s = new HashSet<AnnotatedField<Object>>();
- for (Class<? extends Annotation> annotationType: annotatedFields.keySet())
- {
- if (annotationType.isAnnotationPresent(metaAnnotationType))
- {
- s.addAll(annotatedFields.get(annotationType));
- }
- }
- metaAnnotatedFields.put(metaAnnotationType, s);
- }
- return metaAnnotatedFields;
- }
-
- public Set<AnnotatedField<Object>> getAnnotatedFields(
- Class<? extends Annotation> annotationType)
- {
- if (annotatedFields == null)
- {
- initAnnotatedFields();
- }
- return annotatedFields.get(annotationType);
- }
-
- private void initAnnotatedFields()
- {
- if (fields == null)
- {
- initFields();
- }
- annotatedFields = new HashMap<Class<? extends Annotation>, Set<AnnotatedField<Object>>>();
- for (AnnotatedField<Object> field : fields)
- {
- for (Annotation annotation : field.getAnnotations())
- {
- if (!annotatedFields.containsKey(annotation))
- {
- annotatedFields.put(annotation.annotationType(), new HashSet<AnnotatedField<Object>>());
- }
- annotatedFields.get(annotation.annotationType()).add(field);
- }
- }
- }
-
- public Class<T> getType()
- {
- return clazz;
- }
-
- public Type[] getActualTypeArguments()
- {
- return actualTypeArguments;
- }
-
- private void initMethods()
- {
- this.methods = new HashSet<AnnotatedMethod<Object>>();
- for (Method member : clazz.getDeclaredMethods())
- {
- methods.add(new SimpleAnnotatedMethod<Object>(member));
- }
- }
-
- public Set<AnnotatedMethod<Object>> getAnnotatedMethods(Class<? extends Annotation> annotationType)
- {
- if (annotatedMethods == null)
- {
- initAnnotatedMethods();
- }
-
- if (!annotatedMethods.containsKey(annotationType))
- {
- return new HashSet<AnnotatedMethod<Object>>();
- }
- else
- {
- return annotatedMethods.get(annotationType);
- }
- }
-
- private void initAnnotatedMethods()
- {
- if (methods == null)
- {
- initMethods();
- }
- annotatedMethods = new HashMap<Class<? extends Annotation>, Set<AnnotatedMethod<Object>>>();
- for (AnnotatedMethod<Object> member : methods)
- {
- for (Annotation annotation : member.getAnnotations())
- {
- if (!annotatedMethods.containsKey(annotation))
- {
- annotatedMethods.put(annotation.annotationType(), new HashSet<AnnotatedMethod<Object>>());
- }
- annotatedMethods.get(annotation.annotationType()).add(member);
- }
- }
- }
-
-}
\ No newline at end of file
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedConstructor.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedConstructor.java 2008-11-05 13:02:04 UTC (rev 244)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedConstructor.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -1,39 +0,0 @@
-package org.jboss.webbeans.introspector;
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Type;
-
-public class SimpleAnnotatedConstructor<T> extends AbstractAnnotatedMember<T, Constructor<T>> implements AnnotatedConstructor<T>
-{
-
- private static final Type[] actualTypeArguments = new Type[0];
-
- private Constructor<T> constructor;
-
- public SimpleAnnotatedConstructor(Constructor<T> constructor)
- {
- super(buildAnnotationMap(constructor));
- this.constructor = constructor;
- }
-
- public Constructor<T> getAnnotatedConstructor()
- {
- return constructor;
- }
-
- public Constructor<T> getDelegate()
- {
- return constructor;
- }
-
- public Class<T> getType()
- {
- return constructor.getDeclaringClass();
- }
-
- public Type[] getActualTypeArguments()
- {
- return actualTypeArguments;
- }
-
-}
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedField.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedField.java 2008-11-05 13:02:04 UTC (rev 244)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedField.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -1,45 +0,0 @@
-package org.jboss.webbeans.introspector;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-
-public class SimpleAnnotatedField<T> extends AbstractAnnotatedMember<T, Field> implements AnnotatedField<T>
-{
-
- private Type[] actualTypeArguments = new Type[0];
-
- private Field field;
-
- public SimpleAnnotatedField(Field field)
- {
- super(buildAnnotationMap(field));
- this.field = field;
- if (field.getGenericType() instanceof ParameterizedType)
- {
- ParameterizedType type = (ParameterizedType) field.getGenericType();
- actualTypeArguments = type.getActualTypeArguments();
- }
- }
-
- public Field getAnnotatedField()
- {
- return field;
- }
-
- public Field getDelegate()
- {
- return field;
- }
-
- public Class<T> getType()
- {
- return (Class<T>) field.getType();
- }
-
- public Type[] getActualTypeArguments()
- {
- return actualTypeArguments;
- }
-
-}
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedItem.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedItem.java 2008-11-05 13:02:04 UTC (rev 244)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedItem.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -1,98 +0,0 @@
-package org.jboss.webbeans.introspector;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-import java.util.Map;
-
-import javax.webbeans.TypeLiteral;
-
-public class SimpleAnnotatedItem<T, S> extends AbstractAnnotatedItem<T, S>
-{
-
- private Type[] actualTypeArguments = new Type[0];
- private Class<? extends T> type;
- private Annotation[] actualAnnotations;
-
- private SimpleAnnotatedItem(Map<Class<? extends Annotation>, Annotation> annotationMap)
- {
- super(annotationMap);
- }
-
- private SimpleAnnotatedItem(Map<Class<? extends Annotation>, Annotation> annotationMap, Class<? extends T> type)
- {
- super(annotationMap);
- this.type = type;
- }
-
- private SimpleAnnotatedItem(Map<Class<? extends Annotation>, Annotation> annotationMap, TypeLiteral<? extends T> apiType)
- {
- super(annotationMap);
- this.type = apiType.getRawType();
- if (apiType.getType() instanceof ParameterizedType)
- {
- actualTypeArguments = ((ParameterizedType) apiType.getType()).getActualTypeArguments();
- }
- }
-
- private SimpleAnnotatedItem(Map<Class<? extends Annotation>, Annotation> annotationMap, Class<? extends T> type, Type[] actualTypeArguments)
- {
- this(annotationMap, type);
- this.actualTypeArguments = actualTypeArguments;
- }
-
- public SimpleAnnotatedItem(Annotation[] annotations)
- {
- this(buildAnnotationMap(annotations));
- this.actualAnnotations = annotations;
- }
-
- public SimpleAnnotatedItem(Annotation[] annotations, Class<? extends T> type)
- {
- this(buildAnnotationMap(annotations), type);
- this.actualAnnotations = annotations;
- }
-
- public SimpleAnnotatedItem(Annotation[] annotations, TypeLiteral<? extends T> apiType)
- {
- this(buildAnnotationMap(annotations), apiType);
- this.actualAnnotations = annotations;
- }
-
- public SimpleAnnotatedItem(Annotation[] annotations, Class<? extends T> type, Type[] actualTypeArguments)
- {
- this(buildAnnotationMap(annotations), type, actualTypeArguments);
- this.actualAnnotations = annotations;
- }
-
- public S getDelegate()
- {
- return null;
- }
-
- public Class<? extends T> getType()
- {
- return type;
- }
-
- public Type[] getActualTypeArguments()
- {
- return actualTypeArguments;
- }
-
- public Annotation[] getActualAnnotations()
- {
- return actualAnnotations;
- }
-
- public boolean isStatic()
- {
- return false;
- }
-
- public boolean isFinal()
- {
- return false;
- }
-
-}
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedMethod.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedMethod.java 2008-11-05 13:02:04 UTC (rev 244)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedMethod.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -1,39 +0,0 @@
-package org.jboss.webbeans.introspector;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Type;
-
-public class SimpleAnnotatedMethod<T> extends AbstractAnnotatedMember<T, Method> implements AnnotatedMethod<T>
-{
-
- private static final Type[] actualTypeArgements = new Type[0];
-
- private Method method;
-
- public SimpleAnnotatedMethod(Method method)
- {
- super(buildAnnotationMap(method));
- this.method = method;
- }
-
- public Method getAnnotatedMethod()
- {
- return method;
- }
-
- public Method getDelegate()
- {
- return method;
- }
-
- public Class<T> getType()
- {
- return (Class<T>) method.getReturnType();
- }
-
- public Type[] getActualTypeArguments()
- {
- return actualTypeArgements;
- }
-
-}
Copied: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/AbstractAnnotatedItem.java (from rev 242, ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AbstractAnnotatedItem.java)
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/AbstractAnnotatedItem.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/AbstractAnnotatedItem.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -0,0 +1,167 @@
+package org.jboss.webbeans.introspector.impl;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.AnnotatedElement;
+import java.lang.reflect.Type;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+import java.util.Map.Entry;
+
+import org.jboss.webbeans.exceptions.TypesafeResolutionLocation;
+import org.jboss.webbeans.introspector.AnnotatedItem;
+import org.jboss.webbeans.util.Reflections;
+
+public abstract class AbstractAnnotatedItem<T, S> implements AnnotatedItem<T, S>
+{
+
+ private Map<Class<? extends Annotation>, Annotation> annotationMap;
+ private Map<Class<? extends Annotation>, Set<Annotation>> metaAnnotationMap;
+ private Set<Annotation> annotationSet;
+ private Annotation[] annotationArray;
+
+ public AbstractAnnotatedItem(Map<Class<? extends Annotation>, Annotation> annotationMap)
+ {
+ if (annotationMap == null)
+ {
+ throw new NullPointerException("annotationMap cannot be null");
+ }
+ this.annotationMap = annotationMap;
+ }
+
+ protected static Map<Class<? extends Annotation>, Annotation> buildAnnotationMap(AnnotatedElement element)
+ {
+ return buildAnnotationMap(element.getAnnotations());
+ }
+
+ protected static Map<Class<? extends Annotation>, Annotation> buildAnnotationMap(Annotation[] annotations)
+ {
+ Map<Class<? extends Annotation>, Annotation> annotationMap = new HashMap<Class<? extends Annotation>, Annotation>();
+ for (Annotation annotation : annotations)
+ {
+ annotationMap.put(annotation.annotationType(), annotation);
+ }
+ return annotationMap;
+ }
+
+ protected static Set<Annotation> populateAnnotationSet(Set<Annotation> annotationSet, Map<Class<? extends Annotation>, Annotation> annotationMap)
+ {
+ for (Entry<Class<? extends Annotation>, Annotation> entry : annotationMap.entrySet())
+ {
+ annotationSet.add(entry.getValue());
+ }
+ return annotationSet;
+ }
+
+ public <A extends Annotation> A getAnnotation(Class<? extends A> annotationType)
+ {
+ return (A) annotationMap.get(annotationType);
+ }
+
+ public Set<Annotation> getAnnotations(Class<? extends Annotation> metaAnnotationType)
+ {
+ if (metaAnnotationMap == null)
+ {
+ metaAnnotationMap = new HashMap<Class<? extends Annotation>, Set<Annotation>>();
+ }
+ metaAnnotationMap = populateMetaAnnotationMap(metaAnnotationType, metaAnnotationMap, annotationMap);
+ return metaAnnotationMap.get(metaAnnotationType);
+ }
+
+ public Annotation[] getAnnotationsAsArray(Class<? extends Annotation> metaAnnotationType)
+ {
+ if (annotationArray == null)
+ {
+ annotationArray = new Annotation[0];
+ annotationArray = getAnnotations(metaAnnotationType).toArray(annotationArray);
+ }
+ return annotationArray;
+ }
+
+ public Set<Annotation> getAnnotations()
+ {
+ if (annotationSet == null)
+ {
+ annotationSet = populateAnnotationSet(new HashSet<Annotation>(), annotationMap);
+ }
+ return annotationSet;
+ }
+
+ public boolean isAnnotationPresent(Class<? extends Annotation> annotatedType)
+ {
+ return annotationMap.containsKey(annotatedType);
+ }
+
+ protected static <A extends Annotation> Map<Class<? extends Annotation>, Set<Annotation>> populateMetaAnnotationMap(
+ Class<A> metaAnnotationType, Map<Class<? extends Annotation>,
+ Set<Annotation>> metaAnnotationMap,
+ Map<Class<? extends Annotation>, Annotation> annotationMap)
+ {
+ if (!metaAnnotationMap.containsKey(metaAnnotationType))
+ {
+ Set<Annotation> s = new HashSet<Annotation>();
+ for (Entry<Class<? extends Annotation>, Annotation> entry : annotationMap.entrySet())
+ {
+ if (entry.getValue().annotationType().isAnnotationPresent(metaAnnotationType))
+ {
+ s.add(entry.getValue());
+ }
+ }
+ metaAnnotationMap.put(metaAnnotationType, s);
+ }
+ return metaAnnotationMap;
+ }
+
+ protected Map<Class<? extends Annotation>, Annotation> getAnnotationMap()
+ {
+ return annotationMap;
+ }
+
+ @Override
+ public boolean equals(Object other)
+ {
+ if (other instanceof AnnotatedItem)
+ {
+ AnnotatedItem<?, ?> that = (AnnotatedItem<?, ?>) other;
+ return this.getAnnotations().equals(that.getAnnotations()) && this.getType().equals(that.getType());
+ }
+ return false;
+ }
+
+ public boolean isAssignableFrom(AnnotatedItem<?, ?> that)
+ {
+ return isAssignableFrom(that.getType(), that.getActualTypeArguments());
+ }
+
+ public boolean isAssignableFrom(Set<Class<?>> types)
+ {
+ for (Class<?> type : types)
+ {
+ if (isAssignableFrom(type, Reflections.getActualTypeArguments(type)))
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ private boolean isAssignableFrom(Class<?> type, Type[] actualTypeArguments)
+ {
+ return getType().isAssignableFrom(type) && Arrays.equals(getActualTypeArguments(), actualTypeArguments);
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return getType().hashCode();
+ }
+
+ @Override
+ public String toString()
+ {
+ return TypesafeResolutionLocation.createMessage(getType(), getActualTypeArguments(), getAnnotations());
+ }
+
+}
\ No newline at end of file
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/AbstractAnnotatedItem.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/AbstractAnnotatedMember.java (from rev 244, ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AbstractAnnotatedMember.java)
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/AbstractAnnotatedMember.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/AbstractAnnotatedMember.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -0,0 +1,27 @@
+package org.jboss.webbeans.introspector.impl;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Member;
+import java.util.Map;
+
+import org.jboss.webbeans.util.Reflections;
+
+public abstract class AbstractAnnotatedMember<T, S extends Member> extends AbstractAnnotatedItem<T, S>
+{
+
+ public AbstractAnnotatedMember(Map<Class<? extends Annotation>, Annotation> annotationMap)
+ {
+ super(annotationMap);
+ }
+
+ public boolean isStatic()
+ {
+ return Reflections.isStatic(getDelegate());
+ }
+
+ public boolean isFinal()
+ {
+ return Reflections.isFinal(getDelegate());
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/AbstractAnnotatedMember.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/AbstractAnnotatedType.java (from rev 244, ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AbstractAnnotatedType.java)
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/AbstractAnnotatedType.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/AbstractAnnotatedType.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -0,0 +1,26 @@
+package org.jboss.webbeans.introspector.impl;
+
+import java.lang.annotation.Annotation;
+import java.util.Map;
+
+import org.jboss.webbeans.util.Reflections;
+
+public abstract class AbstractAnnotatedType<T> extends AbstractAnnotatedItem<T, Class<T>>
+{
+
+ public AbstractAnnotatedType(Map<Class<? extends Annotation>, Annotation> annotationMap)
+ {
+ super(annotationMap);
+ }
+
+ public boolean isStatic()
+ {
+ return Reflections.isStatic(getDelegate());
+ }
+
+ public boolean isFinal()
+ {
+ return Reflections.isFinal(getDelegate());
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/AbstractAnnotatedType.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedAnnotation.java (from rev 244, ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedAnnotation.java)
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedAnnotation.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedAnnotation.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -0,0 +1,99 @@
+package org.jboss.webbeans.introspector.impl;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Method;
+import java.lang.reflect.Type;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.jboss.webbeans.introspector.AnnotatedAnnotation;
+import org.jboss.webbeans.introspector.AnnotatedMethod;
+
+public class SimpleAnnotatedAnnotation<T extends Annotation> extends AbstractAnnotatedType<T> implements AnnotatedAnnotation<T>
+{
+
+ private Map<Class<? extends Annotation>, Set<AnnotatedMethod<?>>> annotatedMembers;
+
+ private Class<T> clazz;
+
+ private Set<AnnotatedMethod<?>> members;
+
+ public SimpleAnnotatedAnnotation(Class<T> annotationType)
+ {
+ super(buildAnnotationMap(annotationType));
+ this.clazz = annotationType;
+ }
+
+ public Type[] getActualTypeArguments()
+ {
+ return new Type[0];
+ }
+
+ public Set<AnnotatedMethod<?>> getMembers()
+ {
+ if (members == null)
+ {
+ initMembers();
+ }
+ return members;
+ }
+
+ public Class<T> getDelegate()
+ {
+ return clazz;
+ }
+
+ public Class<? extends T> getType()
+ {
+ return clazz;
+ }
+
+ private void initMembers()
+ {
+ this.members = new HashSet<AnnotatedMethod<?>>();
+ for (Method member : clazz.getDeclaredMethods())
+ {
+ members.add(new SimpleAnnotatedMethod<Object>(member));
+ }
+ }
+
+ public Set<AnnotatedMethod<?>> getAnnotatedMembers(Class<? extends Annotation> annotationType)
+ {
+ if (annotatedMembers == null)
+ {
+ initAnnotatedMembers();
+ }
+
+ if (!annotatedMembers.containsKey(annotationType))
+ {
+ return new HashSet<AnnotatedMethod<?>>();
+ }
+ else
+ {
+ return annotatedMembers.get(annotationType);
+ }
+ }
+
+ private void initAnnotatedMembers()
+ {
+ if (members == null)
+ {
+ initMembers();
+ }
+ annotatedMembers = new HashMap<Class<? extends Annotation>, Set<AnnotatedMethod<?>>>();
+ for (AnnotatedMethod<?> member : members)
+ {
+ for (Annotation annotation : member.getAnnotations())
+ {
+ if (!annotatedMembers.containsKey(annotation))
+ {
+ annotatedMembers.put(annotation.annotationType(), new HashSet<AnnotatedMethod<?>>());
+ }
+ annotatedMembers.get(annotation.annotationType()).add(member);
+ }
+ }
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedAnnotation.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedClass.java (from rev 244, ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedClass.java)
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedClass.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedClass.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -0,0 +1,205 @@
+package org.jboss.webbeans.introspector.impl;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.jboss.webbeans.introspector.AnnotatedClass;
+import org.jboss.webbeans.introspector.AnnotatedField;
+import org.jboss.webbeans.introspector.AnnotatedMethod;
+
+/**
+ * Base class for implementing AnnotatedItem. This implementation assumes
+ * the annotationMap is immutable.
+ *
+ * @author pmuir
+ *
+ */
+public class SimpleAnnotatedClass<T> extends AbstractAnnotatedType<T> implements AnnotatedClass<T>
+{
+
+ private Class<T> clazz;
+ private Type[] actualTypeArguments;
+ private Set<AnnotatedField<Object>> fields;
+ private Map<Class<? extends Annotation>, Set<AnnotatedField<Object>>> annotatedFields;
+ private Map<Class<? extends Annotation>, Set<AnnotatedField<Object>>> metaAnnotatedFields;
+
+ private Set<AnnotatedMethod<Object>> methods;
+ private Map<Class<? extends Annotation>, Set<AnnotatedMethod<Object>>> annotatedMethods;
+
+ public SimpleAnnotatedClass(Class<T> annotatedClass, Map<Class<? extends Annotation>, Annotation> annotationMap)
+ {
+ super(annotationMap);
+ this.clazz = annotatedClass;
+ if (this.clazz.getGenericSuperclass() instanceof ParameterizedType)
+ {
+ ParameterizedType type = (ParameterizedType) this.clazz.getGenericSuperclass();
+ actualTypeArguments = type.getActualTypeArguments();
+ }
+ else
+ {
+ actualTypeArguments = new Type[0];
+ }
+ }
+
+ public SimpleAnnotatedClass(Class<T> annotatedClass)
+ {
+ this(annotatedClass, buildAnnotationMap(annotatedClass));
+ }
+
+ public Class<? extends T> getAnnotatedClass()
+ {
+ return clazz;
+ }
+
+ public Class<T> getDelegate()
+ {
+ return clazz;
+ }
+
+ public Set<AnnotatedField<Object>> getFields()
+ {
+ if (fields == null)
+ {
+ initFields();
+ }
+ return fields;
+ }
+
+ private void initFields()
+ {
+ this.fields = new HashSet<AnnotatedField<Object>>();
+ for(Field field : clazz.getFields())
+ {
+ fields.add(new SimpleAnnotatedField<Object>(field));
+ }
+ }
+
+ public Set<AnnotatedField<Object>> getMetaAnnotatedFields(
+ Class<? extends Annotation> metaAnnotationType)
+ {
+ if (metaAnnotatedFields == null)
+ {
+ metaAnnotatedFields = new HashMap<Class<? extends Annotation>, Set<AnnotatedField<Object>>>();
+ }
+ if (annotatedFields == null)
+ {
+ initAnnotatedFields();
+ }
+ populateMetaAnnotatedFieldMap(metaAnnotationType, annotatedFields, metaAnnotatedFields);
+ return metaAnnotatedFields.get(metaAnnotationType);
+ }
+
+ protected static <T extends Annotation> Map<Class<? extends Annotation>, Set<AnnotatedField<Object>>> populateMetaAnnotatedFieldMap(
+ Class<T> metaAnnotationType,
+ Map<Class<? extends Annotation>, Set<AnnotatedField<Object>>> annotatedFields,
+ Map<Class<? extends Annotation>, Set<AnnotatedField<Object>>> metaAnnotatedFields)
+ {
+ if (!metaAnnotatedFields.containsKey(metaAnnotationType))
+ {
+ Set<AnnotatedField<Object>> s = new HashSet<AnnotatedField<Object>>();
+ for (Class<? extends Annotation> annotationType: annotatedFields.keySet())
+ {
+ if (annotationType.isAnnotationPresent(metaAnnotationType))
+ {
+ s.addAll(annotatedFields.get(annotationType));
+ }
+ }
+ metaAnnotatedFields.put(metaAnnotationType, s);
+ }
+ return metaAnnotatedFields;
+ }
+
+ public Set<AnnotatedField<Object>> getAnnotatedFields(
+ Class<? extends Annotation> annotationType)
+ {
+ if (annotatedFields == null)
+ {
+ initAnnotatedFields();
+ }
+ return annotatedFields.get(annotationType);
+ }
+
+ private void initAnnotatedFields()
+ {
+ if (fields == null)
+ {
+ initFields();
+ }
+ annotatedFields = new HashMap<Class<? extends Annotation>, Set<AnnotatedField<Object>>>();
+ for (AnnotatedField<Object> field : fields)
+ {
+ for (Annotation annotation : field.getAnnotations())
+ {
+ if (!annotatedFields.containsKey(annotation))
+ {
+ annotatedFields.put(annotation.annotationType(), new HashSet<AnnotatedField<Object>>());
+ }
+ annotatedFields.get(annotation.annotationType()).add(field);
+ }
+ }
+ }
+
+ public Class<T> getType()
+ {
+ return clazz;
+ }
+
+ public Type[] getActualTypeArguments()
+ {
+ return actualTypeArguments;
+ }
+
+ private void initMethods()
+ {
+ this.methods = new HashSet<AnnotatedMethod<Object>>();
+ for (Method member : clazz.getDeclaredMethods())
+ {
+ methods.add(new SimpleAnnotatedMethod<Object>(member));
+ }
+ }
+
+ public Set<AnnotatedMethod<Object>> getAnnotatedMethods(Class<? extends Annotation> annotationType)
+ {
+ if (annotatedMethods == null)
+ {
+ initAnnotatedMethods();
+ }
+
+ if (!annotatedMethods.containsKey(annotationType))
+ {
+ return new HashSet<AnnotatedMethod<Object>>();
+ }
+ else
+ {
+ return annotatedMethods.get(annotationType);
+ }
+ }
+
+ private void initAnnotatedMethods()
+ {
+ if (methods == null)
+ {
+ initMethods();
+ }
+ annotatedMethods = new HashMap<Class<? extends Annotation>, Set<AnnotatedMethod<Object>>>();
+ for (AnnotatedMethod<Object> member : methods)
+ {
+ for (Annotation annotation : member.getAnnotations())
+ {
+ if (!annotatedMethods.containsKey(annotation))
+ {
+ annotatedMethods.put(annotation.annotationType(), new HashSet<AnnotatedMethod<Object>>());
+ }
+ annotatedMethods.get(annotation.annotationType()).add(member);
+ }
+ }
+ }
+
+}
\ No newline at end of file
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedClass.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedConstructor.java (from rev 244, ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedConstructor.java)
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedConstructor.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedConstructor.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -0,0 +1,41 @@
+package org.jboss.webbeans.introspector.impl;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Type;
+
+import org.jboss.webbeans.introspector.AnnotatedConstructor;
+
+public class SimpleAnnotatedConstructor<T> extends AbstractAnnotatedMember<T, Constructor<T>> implements AnnotatedConstructor<T>
+{
+
+ private static final Type[] actualTypeArguments = new Type[0];
+
+ private Constructor<T> constructor;
+
+ public SimpleAnnotatedConstructor(Constructor<T> constructor)
+ {
+ super(buildAnnotationMap(constructor));
+ this.constructor = constructor;
+ }
+
+ public Constructor<T> getAnnotatedConstructor()
+ {
+ return constructor;
+ }
+
+ public Constructor<T> getDelegate()
+ {
+ return constructor;
+ }
+
+ public Class<T> getType()
+ {
+ return constructor.getDeclaringClass();
+ }
+
+ public Type[] getActualTypeArguments()
+ {
+ return actualTypeArguments;
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedConstructor.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedField.java (from rev 244, ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedField.java)
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedField.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedField.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -0,0 +1,47 @@
+package org.jboss.webbeans.introspector.impl;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
+
+import org.jboss.webbeans.introspector.AnnotatedField;
+
+public class SimpleAnnotatedField<T> extends AbstractAnnotatedMember<T, Field> implements AnnotatedField<T>
+{
+
+ private Type[] actualTypeArguments = new Type[0];
+
+ private Field field;
+
+ public SimpleAnnotatedField(Field field)
+ {
+ super(buildAnnotationMap(field));
+ this.field = field;
+ if (field.getGenericType() instanceof ParameterizedType)
+ {
+ ParameterizedType type = (ParameterizedType) field.getGenericType();
+ actualTypeArguments = type.getActualTypeArguments();
+ }
+ }
+
+ public Field getAnnotatedField()
+ {
+ return field;
+ }
+
+ public Field getDelegate()
+ {
+ return field;
+ }
+
+ public Class<T> getType()
+ {
+ return (Class<T>) field.getType();
+ }
+
+ public Type[] getActualTypeArguments()
+ {
+ return actualTypeArguments;
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedField.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedItem.java (from rev 244, ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedItem.java)
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedItem.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedItem.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -0,0 +1,98 @@
+package org.jboss.webbeans.introspector.impl;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
+import java.util.Map;
+
+import javax.webbeans.TypeLiteral;
+
+public class SimpleAnnotatedItem<T, S> extends AbstractAnnotatedItem<T, S>
+{
+
+ private Type[] actualTypeArguments = new Type[0];
+ private Class<? extends T> type;
+ private Annotation[] actualAnnotations;
+
+ private SimpleAnnotatedItem(Map<Class<? extends Annotation>, Annotation> annotationMap)
+ {
+ super(annotationMap);
+ }
+
+ private SimpleAnnotatedItem(Map<Class<? extends Annotation>, Annotation> annotationMap, Class<? extends T> type)
+ {
+ super(annotationMap);
+ this.type = type;
+ }
+
+ private SimpleAnnotatedItem(Map<Class<? extends Annotation>, Annotation> annotationMap, TypeLiteral<? extends T> apiType)
+ {
+ super(annotationMap);
+ this.type = apiType.getRawType();
+ if (apiType.getType() instanceof ParameterizedType)
+ {
+ actualTypeArguments = ((ParameterizedType) apiType.getType()).getActualTypeArguments();
+ }
+ }
+
+ private SimpleAnnotatedItem(Map<Class<? extends Annotation>, Annotation> annotationMap, Class<? extends T> type, Type[] actualTypeArguments)
+ {
+ this(annotationMap, type);
+ this.actualTypeArguments = actualTypeArguments;
+ }
+
+ public SimpleAnnotatedItem(Annotation[] annotations)
+ {
+ this(buildAnnotationMap(annotations));
+ this.actualAnnotations = annotations;
+ }
+
+ public SimpleAnnotatedItem(Annotation[] annotations, Class<? extends T> type)
+ {
+ this(buildAnnotationMap(annotations), type);
+ this.actualAnnotations = annotations;
+ }
+
+ public SimpleAnnotatedItem(Annotation[] annotations, TypeLiteral<? extends T> apiType)
+ {
+ this(buildAnnotationMap(annotations), apiType);
+ this.actualAnnotations = annotations;
+ }
+
+ public SimpleAnnotatedItem(Annotation[] annotations, Class<? extends T> type, Type[] actualTypeArguments)
+ {
+ this(buildAnnotationMap(annotations), type, actualTypeArguments);
+ this.actualAnnotations = annotations;
+ }
+
+ public S getDelegate()
+ {
+ return null;
+ }
+
+ public Class<? extends T> getType()
+ {
+ return type;
+ }
+
+ public Type[] getActualTypeArguments()
+ {
+ return actualTypeArguments;
+ }
+
+ public Annotation[] getActualAnnotations()
+ {
+ return actualAnnotations;
+ }
+
+ public boolean isStatic()
+ {
+ return false;
+ }
+
+ public boolean isFinal()
+ {
+ return false;
+ }
+
+}
Copied: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedMethod.java (from rev 244, ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedMethod.java)
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedMethod.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedMethod.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -0,0 +1,41 @@
+package org.jboss.webbeans.introspector.impl;
+
+import java.lang.reflect.Method;
+import java.lang.reflect.Type;
+
+import org.jboss.webbeans.introspector.AnnotatedMethod;
+
+public class SimpleAnnotatedMethod<T> extends AbstractAnnotatedMember<T, Method> implements AnnotatedMethod<T>
+{
+
+ private static final Type[] actualTypeArgements = new Type[0];
+
+ private Method method;
+
+ public SimpleAnnotatedMethod(Method method)
+ {
+ super(buildAnnotationMap(method));
+ this.method = method;
+ }
+
+ public Method getAnnotatedMethod()
+ {
+ return method;
+ }
+
+ public Method getDelegate()
+ {
+ return method;
+ }
+
+ public Class<T> getType()
+ {
+ return (Class<T>) method.getReturnType();
+ }
+
+ public Type[] getActualTypeArguments()
+ {
+ return actualTypeArgements;
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/impl/SimpleAnnotatedMethod.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/AnnotationModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/AnnotationModel.java 2008-11-05 13:02:04 UTC (rev 244)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/AnnotationModel.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -5,7 +5,7 @@
import javax.webbeans.DefinitionException;
import org.jboss.webbeans.introspector.AnnotatedAnnotation;
-import org.jboss.webbeans.introspector.SimpleAnnotatedAnnotation;
+import org.jboss.webbeans.introspector.impl.SimpleAnnotatedAnnotation;
public abstract class AnnotationModel<T extends Annotation>
{
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractBeanModel.java 2008-11-05 13:02:04 UTC (rev 244)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractBeanModel.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -24,7 +24,7 @@
import org.jboss.webbeans.injectable.InjectableMethod;
import org.jboss.webbeans.injectable.InjectableParameter;
import org.jboss.webbeans.introspector.AnnotatedItem;
-import org.jboss.webbeans.introspector.SimpleAnnotatedClass;
+import org.jboss.webbeans.introspector.impl.SimpleAnnotatedClass;
import org.jboss.webbeans.model.MergedStereotypesModel;
import org.jboss.webbeans.util.LoggerUtil;
import org.jboss.webbeans.util.Reflections;
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EnterpriseBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EnterpriseBeanModel.java 2008-11-05 13:02:04 UTC (rev 244)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EnterpriseBeanModel.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -22,7 +22,7 @@
import org.jboss.webbeans.injectable.InjectableMethod;
import org.jboss.webbeans.injectable.InjectableParameter;
import org.jboss.webbeans.introspector.AnnotatedClass;
-import org.jboss.webbeans.introspector.SimpleAnnotatedClass;
+import org.jboss.webbeans.introspector.impl.SimpleAnnotatedClass;
import org.jboss.webbeans.util.Reflections;
public class EnterpriseBeanModel<T> extends AbstractEnterpriseBeanModel<T>
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EventBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EventBeanModel.java 2008-11-05 13:02:04 UTC (rev 244)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EventBeanModel.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -13,7 +13,7 @@
import org.jboss.webbeans.injectable.BeanConstructor;
import org.jboss.webbeans.injectable.SimpleConstructor;
import org.jboss.webbeans.introspector.AnnotatedItem;
-import org.jboss.webbeans.introspector.SimpleAnnotatedField;
+import org.jboss.webbeans.introspector.impl.SimpleAnnotatedField;
import org.jboss.webbeans.util.LoggerUtil;
/**
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/SimpleBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/SimpleBeanModel.java 2008-11-05 13:02:04 UTC (rev 244)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/SimpleBeanModel.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -11,7 +11,7 @@
import org.jboss.webbeans.injectable.InjectableParameter;
import org.jboss.webbeans.injectable.SimpleConstructor;
import org.jboss.webbeans.introspector.AnnotatedClass;
-import org.jboss.webbeans.introspector.SimpleAnnotatedClass;
+import org.jboss.webbeans.introspector.impl.SimpleAnnotatedClass;
import org.jboss.webbeans.util.LoggerUtil;
import org.jboss.webbeans.util.Reflections;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BindingTypeTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BindingTypeTest.java 2008-11-05 13:02:04 UTC (rev 244)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BindingTypeTest.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -12,7 +12,7 @@
import org.jboss.webbeans.bindings.CurrentAnnotationLiteral;
import org.jboss.webbeans.introspector.AnnotatedClass;
-import org.jboss.webbeans.introspector.SimpleAnnotatedClass;
+import org.jboss.webbeans.introspector.impl.SimpleAnnotatedClass;
import org.jboss.webbeans.model.bean.BeanModel;
import org.jboss.webbeans.model.bean.SimpleBeanModel;
import org.jboss.webbeans.test.annotations.Asynchronous;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ClassAnnotatedItemTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ClassAnnotatedItemTest.java 2008-11-05 13:02:04 UTC (rev 244)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ClassAnnotatedItemTest.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -9,7 +9,7 @@
import javax.webbeans.Stereotype;
import org.jboss.webbeans.introspector.AnnotatedClass;
-import org.jboss.webbeans.introspector.SimpleAnnotatedClass;
+import org.jboss.webbeans.introspector.impl.SimpleAnnotatedClass;
import org.jboss.webbeans.test.beans.Antelope;
import org.jboss.webbeans.test.beans.Order;
import org.testng.annotations.Test;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeferredEventNotificationTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeferredEventNotificationTest.java 2008-11-05 13:02:04 UTC (rev 244)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeferredEventNotificationTest.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -13,7 +13,7 @@
import org.jboss.webbeans.event.DeferredEventNotification;
import org.jboss.webbeans.injectable.InjectableMethod;
import org.jboss.webbeans.introspector.AnnotatedClass;
-import org.jboss.webbeans.introspector.SimpleAnnotatedClass;
+import org.jboss.webbeans.introspector.impl.SimpleAnnotatedClass;
import org.jboss.webbeans.model.bean.SimpleBeanModel;
import org.jboss.webbeans.test.annotations.AnotherDeploymentType;
import org.jboss.webbeans.test.annotations.Asynchronous;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeploymentTypeTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeploymentTypeTest.java 2008-11-05 13:02:04 UTC (rev 244)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeploymentTypeTest.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -18,7 +18,7 @@
import javax.webbeans.manager.Bean;
import org.jboss.webbeans.introspector.AnnotatedClass;
-import org.jboss.webbeans.introspector.SimpleAnnotatedClass;
+import org.jboss.webbeans.introspector.impl.SimpleAnnotatedClass;
import org.jboss.webbeans.model.bean.SimpleBeanModel;
import org.jboss.webbeans.test.annotations.AnotherDeploymentType;
import org.jboss.webbeans.test.annotations.FishStereotype;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventBeanModelTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventBeanModelTest.java 2008-11-05 13:02:04 UTC (rev 244)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventBeanModelTest.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -12,7 +12,7 @@
import org.jboss.webbeans.event.EventImpl;
import org.jboss.webbeans.injectable.BeanConstructor;
-import org.jboss.webbeans.introspector.SimpleAnnotatedField;
+import org.jboss.webbeans.introspector.impl.SimpleAnnotatedField;
import org.jboss.webbeans.model.bean.EventBeanModel;
import org.jboss.webbeans.test.annotations.AnotherDeploymentType;
import org.jboss.webbeans.test.beans.DangerCall;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NameTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NameTest.java 2008-11-05 13:02:04 UTC (rev 244)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NameTest.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -12,7 +12,7 @@
import org.jboss.webbeans.bindings.NamedAnnotationLiteral;
import org.jboss.webbeans.introspector.AnnotatedClass;
-import org.jboss.webbeans.introspector.SimpleAnnotatedClass;
+import org.jboss.webbeans.introspector.impl.SimpleAnnotatedClass;
import org.jboss.webbeans.model.bean.BeanModel;
import org.jboss.webbeans.model.bean.SimpleBeanModel;
import org.jboss.webbeans.test.annotations.RiverFishStereotype;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NormalContextTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NormalContextTest.java 2008-11-05 13:02:04 UTC (rev 244)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NormalContextTest.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -10,8 +10,8 @@
import org.jboss.webbeans.contexts.AbstractContext;
import org.jboss.webbeans.contexts.RequestContext;
-import org.jboss.webbeans.introspector.SimpleAnnotatedMethod;
-import org.jboss.webbeans.introspector.SimpleAnnotatedClass;
+import org.jboss.webbeans.introspector.impl.SimpleAnnotatedClass;
+import org.jboss.webbeans.introspector.impl.SimpleAnnotatedMethod;
import org.jboss.webbeans.model.bean.ProducerMethodBeanModel;
import org.jboss.webbeans.model.bean.SimpleBeanModel;
import org.jboss.webbeans.test.beans.SpiderProducer;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ObserverTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ObserverTest.java 2008-11-05 13:02:04 UTC (rev 244)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ObserverTest.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -12,7 +12,7 @@
import org.jboss.webbeans.injectable.InjectableMethod;
import org.jboss.webbeans.introspector.AnnotatedClass;
-import org.jboss.webbeans.introspector.SimpleAnnotatedClass;
+import org.jboss.webbeans.introspector.impl.SimpleAnnotatedClass;
import org.jboss.webbeans.model.bean.SimpleBeanModel;
import org.jboss.webbeans.test.annotations.AnotherDeploymentType;
import org.jboss.webbeans.test.annotations.Asynchronous;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanModelTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanModelTest.java 2008-11-05 13:02:04 UTC (rev 244)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanModelTest.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -7,8 +7,8 @@
import javax.webbeans.Current;
import javax.webbeans.Dependent;
-import org.jboss.webbeans.introspector.SimpleAnnotatedMethod;
-import org.jboss.webbeans.introspector.SimpleAnnotatedClass;
+import org.jboss.webbeans.introspector.impl.SimpleAnnotatedClass;
+import org.jboss.webbeans.introspector.impl.SimpleAnnotatedMethod;
import org.jboss.webbeans.model.bean.ProducerMethodBeanModel;
import org.jboss.webbeans.model.bean.SimpleBeanModel;
import org.jboss.webbeans.test.annotations.AnotherDeploymentType;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ScopeTypeTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ScopeTypeTest.java 2008-11-05 13:02:04 UTC (rev 244)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ScopeTypeTest.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -17,7 +17,7 @@
import org.jboss.webbeans.bindings.ConversationScopedAnnotationLiteral;
import org.jboss.webbeans.bindings.RequestScopedAnnotationLiteral;
import org.jboss.webbeans.introspector.AnnotatedClass;
-import org.jboss.webbeans.introspector.SimpleAnnotatedClass;
+import org.jboss.webbeans.introspector.impl.SimpleAnnotatedClass;
import org.jboss.webbeans.model.bean.SimpleBeanModel;
import org.jboss.webbeans.test.annotations.AnimalStereotype;
import org.jboss.webbeans.test.annotations.AnotherScopeType;
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 2008-11-05 13:02:04 UTC (rev 244)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanModelTest.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -13,7 +13,7 @@
import org.jboss.webbeans.bindings.CurrentAnnotationLiteral;
import org.jboss.webbeans.injectable.InjectableParameter;
import org.jboss.webbeans.injectable.SimpleConstructor;
-import org.jboss.webbeans.introspector.SimpleAnnotatedClass;
+import org.jboss.webbeans.introspector.impl.SimpleAnnotatedClass;
import org.jboss.webbeans.model.bean.SimpleBeanModel;
import org.jboss.webbeans.test.annotations.HeavyDuty;
import org.jboss.webbeans.test.annotations.Motorized;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/StereotypesTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/StereotypesTest.java 2008-11-05 13:02:04 UTC (rev 244)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/StereotypesTest.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -12,7 +12,7 @@
import javax.webbeans.RequestScoped;
import org.jboss.webbeans.introspector.AnnotatedClass;
-import org.jboss.webbeans.introspector.SimpleAnnotatedClass;
+import org.jboss.webbeans.introspector.impl.SimpleAnnotatedClass;
import org.jboss.webbeans.model.StereotypeModel;
import org.jboss.webbeans.model.bean.SimpleBeanModel;
import org.jboss.webbeans.test.annotations.AnimalOrderStereotype;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/TypeTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/TypeTest.java 2008-11-05 13:02:04 UTC (rev 244)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/TypeTest.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -2,7 +2,7 @@
import static org.jboss.webbeans.test.util.Util.getEmptyAnnotatedType;
-import org.jboss.webbeans.introspector.SimpleAnnotatedClass;
+import org.jboss.webbeans.introspector.impl.SimpleAnnotatedClass;
import org.jboss.webbeans.model.bean.SimpleBeanModel;
import org.jboss.webbeans.test.beans.Haddock;
import org.testng.annotations.Test;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java 2008-11-05 13:02:04 UTC (rev 244)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java 2008-11-05 13:07:06 UTC (rev 245)
@@ -6,7 +6,7 @@
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.SimpleBeanImpl;
import org.jboss.webbeans.introspector.AnnotatedClass;
-import org.jboss.webbeans.introspector.SimpleAnnotatedClass;
+import org.jboss.webbeans.introspector.impl.SimpleAnnotatedClass;
import org.jboss.webbeans.model.bean.EnterpriseBeanModel;
import org.jboss.webbeans.model.bean.SimpleBeanModel;
15 years, 5 months
[webbeans-commits] Webbeans SVN: r244 - in ri/trunk/webbeans-ri/src: main/java/org/jboss/webbeans/model/bean and 3 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-11-05 08:02:04 -0500 (Wed, 05 Nov 2008)
New Revision: 244
Added:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AbstractAnnotatedMember.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AbstractAnnotatedType.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedClass.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedItem.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedType.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedClass.java
Removed:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedItem.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedType.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedType.java
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedAnnotation.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedAnnotation.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedConstructor.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedField.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedItem.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedMethod.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractBeanModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractClassBeanModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractEnterpriseBeanModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EnterpriseBeanModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EventBeanModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerMethodBeanModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/SimpleBeanModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/Reflections.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BindingTypeTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ClassAnnotatedItemTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeferredEventNotificationTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeploymentTypeTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NameTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NormalContextTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ObserverTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanModelTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ScopeTypeTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanModelTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/StereotypesTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/TypeTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java
Log:
Refactor to allow isStatic/isFinal etc. on annotateditem
Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AbstractAnnotatedMember.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AbstractAnnotatedMember.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AbstractAnnotatedMember.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -0,0 +1,27 @@
+package org.jboss.webbeans.introspector;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Member;
+import java.util.Map;
+
+import org.jboss.webbeans.util.Reflections;
+
+public abstract class AbstractAnnotatedMember<T, S extends Member> extends AbstractAnnotatedItem<T, S>
+{
+
+ public AbstractAnnotatedMember(Map<Class<? extends Annotation>, Annotation> annotationMap)
+ {
+ super(annotationMap);
+ }
+
+ public boolean isStatic()
+ {
+ return Reflections.isStatic(getDelegate());
+ }
+
+ public boolean isFinal()
+ {
+ return Reflections.isFinal(getDelegate());
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AbstractAnnotatedMember.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AbstractAnnotatedType.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AbstractAnnotatedType.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AbstractAnnotatedType.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -0,0 +1,26 @@
+package org.jboss.webbeans.introspector;
+
+import java.lang.annotation.Annotation;
+import java.util.Map;
+
+import org.jboss.webbeans.util.Reflections;
+
+public abstract class AbstractAnnotatedType<T> extends AbstractAnnotatedItem<T, Class<T>>
+{
+
+ public AbstractAnnotatedType(Map<Class<? extends Annotation>, Annotation> annotationMap)
+ {
+ super(annotationMap);
+ }
+
+ public boolean isStatic()
+ {
+ return Reflections.isStatic(getDelegate());
+ }
+
+ public boolean isFinal()
+ {
+ return Reflections.isFinal(getDelegate());
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AbstractAnnotatedType.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedAnnotation.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedAnnotation.java 2008-11-05 12:27:30 UTC (rev 243)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedAnnotation.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -3,7 +3,7 @@
import java.lang.annotation.Annotation;
import java.util.Set;
-public interface AnnotatedAnnotation<T extends Annotation> extends AnnotatedItem<T, Class<T>>
+public interface AnnotatedAnnotation<T extends Annotation> extends AnnotatedType<T>
{
/**
Copied: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedClass.java (from rev 243, ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedType.java)
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedClass.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedClass.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -0,0 +1,58 @@
+package org.jboss.webbeans.introspector;
+
+import java.lang.annotation.Annotation;
+import java.util.Set;
+
+
+/**
+ * AnnotatedType provides a uniform access to the annotations on an annotated
+ * class defined either in Java or XML
+ *
+ * @author Pete Muir
+ *
+ */
+public interface AnnotatedClass<T> extends AnnotatedType<T>
+{
+
+ /**
+ * Return the class of the annotated item. If this annotatedItem isn't in use
+ * then this method should return null
+ */
+ public Class<? extends T> getAnnotatedClass();
+
+ /**
+ * Get all fields on the type
+ * @return
+ */
+ public Set<AnnotatedField<Object>> getFields();
+
+ /**
+ * Get all annotations which are annotated with the given annotation
+ * type
+ *
+ * If no annotations are present which are annotated with the given
+ * annotation an empty set is returned
+ */
+ public Set<AnnotatedField<Object>> getAnnotatedFields(Class<? extends Annotation> annotationType);
+
+ /**
+ * Get all fields which are annotated with the given meta annotation
+ * type
+ *
+ * If no annotations are present which are annotated with the given meta
+ * annotation an empty set is returned
+ */
+ public Set<AnnotatedField<Object>> getMetaAnnotatedFields(
+ Class<? extends Annotation> metaAnnotationType);
+
+ /**
+ * Get all fields which are annotated with the given meta annotation
+ * type
+ *
+ * If no annotations are present which are annotated with the given meta
+ * annotation an empty set is returned
+ */
+ public Set<AnnotatedMethod<Object>> getAnnotatedMethods(
+ Class<? extends Annotation> annotationType);
+
+}
\ No newline at end of file
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedClass.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedItem.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedItem.java 2008-11-05 12:27:30 UTC (rev 243)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedItem.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -1,62 +0,0 @@
-package org.jboss.webbeans.introspector;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Type;
-import java.util.Set;
-
-
-/**
- * AnnotatedItem provides a uniform access to the annotations on an annotated
- * item defined either in Java or XML
- *
- * @author Pete Muir
- *
- */
-public interface AnnotatedItem<T, S>
-{
-
- /**
- * Get all annotations on the item
- *
- * An empty set is returned if no annotations are present
- */
- public <A extends Annotation> Set<A> getAnnotations();
-
- /**
- * Get all annotations which are annotated with the given meta annotation
- * type
- *
- * If no annotations are present which are annotated with the given meta
- * annotation an empty set is returned
- */
- public Set<Annotation> getAnnotations(
- Class<? extends Annotation> metaAnnotationType);
-
- public Annotation[] getAnnotationsAsArray(
- Class<? extends Annotation> metaAnnotationType);
-
- /**
- * Get an annotation for the annotation type specified.
- *
- * If the annotation isn't present, null is returned
- */
- public <A extends Annotation> A getAnnotation(
- Class<? extends A> annotationType);
-
- /**
- * Return true if the annotation type specified is present
- */
- public boolean isAnnotationPresent(
- Class<? extends Annotation> annotationType);
-
- public S getDelegate();
-
- public Class<? extends T> getType();
-
- public boolean isAssignableFrom(AnnotatedItem<?, ?> that);
-
- public boolean isAssignableFrom(Set<Class<?>> types);
-
- public Type[] getActualTypeArguments();
-
-}
\ No newline at end of file
Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedItem.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedItem.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedItem.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -0,0 +1,66 @@
+package org.jboss.webbeans.introspector;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
+import java.util.Set;
+
+
+/**
+ * AnnotatedItem provides a uniform access to the annotations on an annotated
+ * item defined either in Java or XML
+ *
+ * @author Pete Muir
+ *
+ */
+public interface AnnotatedItem<T, S>
+{
+
+ /**
+ * Get all annotations on the item
+ *
+ * An empty set is returned if no annotations are present
+ */
+ public <A extends Annotation> Set<A> getAnnotations();
+
+ /**
+ * Get all annotations which are annotated with the given meta annotation
+ * type
+ *
+ * If no annotations are present which are annotated with the given meta
+ * annotation an empty set is returned
+ */
+ public Set<Annotation> getAnnotations(
+ Class<? extends Annotation> metaAnnotationType);
+
+ public Annotation[] getAnnotationsAsArray(
+ Class<? extends Annotation> metaAnnotationType);
+
+ /**
+ * Get an annotation for the annotation type specified.
+ *
+ * If the annotation isn't present, null is returned
+ */
+ public <A extends Annotation> A getAnnotation(
+ Class<? extends A> annotationType);
+
+ /**
+ * Return true if the annotation type specified is present
+ */
+ public boolean isAnnotationPresent(
+ Class<? extends Annotation> annotationType);
+
+ public S getDelegate();
+
+ public Class<? extends T> getType();
+
+ public boolean isAssignableFrom(AnnotatedItem<?, ?> that);
+
+ public boolean isAssignableFrom(Set<Class<?>> types);
+
+ public Type[] getActualTypeArguments();
+
+ public boolean isStatic();
+
+ public boolean isFinal();
+
+}
\ No newline at end of file
Deleted: 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 2008-11-05 12:27:30 UTC (rev 243)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedType.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -1,58 +0,0 @@
-package org.jboss.webbeans.introspector;
-
-import java.lang.annotation.Annotation;
-import java.util.Set;
-
-
-/**
- * AnnotatedType provides a uniform access to the annotations on an annotated
- * class defined either in Java or XML
- *
- * @author Pete Muir
- *
- */
-public interface AnnotatedType<T> extends AnnotatedItem<T, Class<T>>
-{
-
- /**
- * Return the class of the annotated item. If this annotatedItem isn't in use
- * then this method should return null
- */
- public Class<? extends T> getAnnotatedClass();
-
- /**
- * Get all fields on the type
- * @return
- */
- public Set<AnnotatedField<Object>> getFields();
-
- /**
- * Get all annotations which are annotated with the given annotation
- * type
- *
- * If no annotations are present which are annotated with the given
- * annotation an empty set is returned
- */
- public Set<AnnotatedField<Object>> getAnnotatedFields(Class<? extends Annotation> annotationType);
-
- /**
- * Get all fields which are annotated with the given meta annotation
- * type
- *
- * If no annotations are present which are annotated with the given meta
- * annotation an empty set is returned
- */
- public Set<AnnotatedField<Object>> getMetaAnnotatedFields(
- Class<? extends Annotation> metaAnnotationType);
-
- /**
- * Get all fields which are annotated with the given meta annotation
- * type
- *
- * If no annotations are present which are annotated with the given meta
- * annotation an empty set is returned
- */
- public Set<AnnotatedMethod<Object>> getAnnotatedMethods(
- Class<? extends Annotation> annotationType);
-
-}
\ No newline at end of file
Added: 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 (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedType.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.introspector;
+
+public interface AnnotatedType<T> extends AnnotatedItem<T, Class<T>>
+{
+
+}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedAnnotation.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedAnnotation.java 2008-11-05 12:27:30 UTC (rev 243)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedAnnotation.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -8,7 +8,7 @@
import java.util.Map;
import java.util.Set;
-public class SimpleAnnotatedAnnotation<T extends Annotation> extends AbstractAnnotatedItem<T, Class<T>> implements AnnotatedAnnotation<T>
+public class SimpleAnnotatedAnnotation<T extends Annotation> extends AbstractAnnotatedType<T> implements AnnotatedAnnotation<T>
{
private Map<Class<? extends Annotation>, Set<AnnotatedMethod<?>>> annotatedMembers;
Copied: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedClass.java (from rev 243, ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedType.java)
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedClass.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedClass.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -0,0 +1,201 @@
+package org.jboss.webbeans.introspector;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * Base class for implementing AnnotatedItem. This implementation assumes
+ * the annotationMap is immutable.
+ *
+ * @author pmuir
+ *
+ */
+public class SimpleAnnotatedClass<T> extends AbstractAnnotatedType<T> implements AnnotatedClass<T>
+{
+
+ private Class<T> clazz;
+ private Type[] actualTypeArguments;
+ private Set<AnnotatedField<Object>> fields;
+ private Map<Class<? extends Annotation>, Set<AnnotatedField<Object>>> annotatedFields;
+ private Map<Class<? extends Annotation>, Set<AnnotatedField<Object>>> metaAnnotatedFields;
+
+ private Set<AnnotatedMethod<Object>> methods;
+ private Map<Class<? extends Annotation>, Set<AnnotatedMethod<Object>>> annotatedMethods;
+
+ public SimpleAnnotatedClass(Class<T> annotatedClass, Map<Class<? extends Annotation>, Annotation> annotationMap)
+ {
+ super(annotationMap);
+ this.clazz = annotatedClass;
+ if (this.clazz.getGenericSuperclass() instanceof ParameterizedType)
+ {
+ ParameterizedType type = (ParameterizedType) this.clazz.getGenericSuperclass();
+ actualTypeArguments = type.getActualTypeArguments();
+ }
+ else
+ {
+ actualTypeArguments = new Type[0];
+ }
+ }
+
+ public SimpleAnnotatedClass(Class<T> annotatedClass)
+ {
+ this(annotatedClass, buildAnnotationMap(annotatedClass));
+ }
+
+ public Class<? extends T> getAnnotatedClass()
+ {
+ return clazz;
+ }
+
+ public Class<T> getDelegate()
+ {
+ return clazz;
+ }
+
+ public Set<AnnotatedField<Object>> getFields()
+ {
+ if (fields == null)
+ {
+ initFields();
+ }
+ return fields;
+ }
+
+ private void initFields()
+ {
+ this.fields = new HashSet<AnnotatedField<Object>>();
+ for(Field field : clazz.getFields())
+ {
+ fields.add(new SimpleAnnotatedField<Object>(field));
+ }
+ }
+
+ public Set<AnnotatedField<Object>> getMetaAnnotatedFields(
+ Class<? extends Annotation> metaAnnotationType)
+ {
+ if (metaAnnotatedFields == null)
+ {
+ metaAnnotatedFields = new HashMap<Class<? extends Annotation>, Set<AnnotatedField<Object>>>();
+ }
+ if (annotatedFields == null)
+ {
+ initAnnotatedFields();
+ }
+ populateMetaAnnotatedFieldMap(metaAnnotationType, annotatedFields, metaAnnotatedFields);
+ return metaAnnotatedFields.get(metaAnnotationType);
+ }
+
+ protected static <T extends Annotation> Map<Class<? extends Annotation>, Set<AnnotatedField<Object>>> populateMetaAnnotatedFieldMap(
+ Class<T> metaAnnotationType,
+ Map<Class<? extends Annotation>, Set<AnnotatedField<Object>>> annotatedFields,
+ Map<Class<? extends Annotation>, Set<AnnotatedField<Object>>> metaAnnotatedFields)
+ {
+ if (!metaAnnotatedFields.containsKey(metaAnnotationType))
+ {
+ Set<AnnotatedField<Object>> s = new HashSet<AnnotatedField<Object>>();
+ for (Class<? extends Annotation> annotationType: annotatedFields.keySet())
+ {
+ if (annotationType.isAnnotationPresent(metaAnnotationType))
+ {
+ s.addAll(annotatedFields.get(annotationType));
+ }
+ }
+ metaAnnotatedFields.put(metaAnnotationType, s);
+ }
+ return metaAnnotatedFields;
+ }
+
+ public Set<AnnotatedField<Object>> getAnnotatedFields(
+ Class<? extends Annotation> annotationType)
+ {
+ if (annotatedFields == null)
+ {
+ initAnnotatedFields();
+ }
+ return annotatedFields.get(annotationType);
+ }
+
+ private void initAnnotatedFields()
+ {
+ if (fields == null)
+ {
+ initFields();
+ }
+ annotatedFields = new HashMap<Class<? extends Annotation>, Set<AnnotatedField<Object>>>();
+ for (AnnotatedField<Object> field : fields)
+ {
+ for (Annotation annotation : field.getAnnotations())
+ {
+ if (!annotatedFields.containsKey(annotation))
+ {
+ annotatedFields.put(annotation.annotationType(), new HashSet<AnnotatedField<Object>>());
+ }
+ annotatedFields.get(annotation.annotationType()).add(field);
+ }
+ }
+ }
+
+ public Class<T> getType()
+ {
+ return clazz;
+ }
+
+ public Type[] getActualTypeArguments()
+ {
+ return actualTypeArguments;
+ }
+
+ private void initMethods()
+ {
+ this.methods = new HashSet<AnnotatedMethod<Object>>();
+ for (Method member : clazz.getDeclaredMethods())
+ {
+ methods.add(new SimpleAnnotatedMethod<Object>(member));
+ }
+ }
+
+ public Set<AnnotatedMethod<Object>> getAnnotatedMethods(Class<? extends Annotation> annotationType)
+ {
+ if (annotatedMethods == null)
+ {
+ initAnnotatedMethods();
+ }
+
+ if (!annotatedMethods.containsKey(annotationType))
+ {
+ return new HashSet<AnnotatedMethod<Object>>();
+ }
+ else
+ {
+ return annotatedMethods.get(annotationType);
+ }
+ }
+
+ private void initAnnotatedMethods()
+ {
+ if (methods == null)
+ {
+ initMethods();
+ }
+ annotatedMethods = new HashMap<Class<? extends Annotation>, Set<AnnotatedMethod<Object>>>();
+ for (AnnotatedMethod<Object> member : methods)
+ {
+ for (Annotation annotation : member.getAnnotations())
+ {
+ if (!annotatedMethods.containsKey(annotation))
+ {
+ annotatedMethods.put(annotation.annotationType(), new HashSet<AnnotatedMethod<Object>>());
+ }
+ annotatedMethods.get(annotation.annotationType()).add(member);
+ }
+ }
+ }
+
+}
\ No newline at end of file
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedClass.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedConstructor.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedConstructor.java 2008-11-05 12:27:30 UTC (rev 243)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedConstructor.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -3,7 +3,7 @@
import java.lang.reflect.Constructor;
import java.lang.reflect.Type;
-public class SimpleAnnotatedConstructor<T> extends AbstractAnnotatedItem<T, Constructor<T>> implements AnnotatedConstructor<T>
+public class SimpleAnnotatedConstructor<T> extends AbstractAnnotatedMember<T, Constructor<T>> implements AnnotatedConstructor<T>
{
private static final Type[] actualTypeArguments = new Type[0];
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedField.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedField.java 2008-11-05 12:27:30 UTC (rev 243)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedField.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -4,7 +4,7 @@
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
-public class SimpleAnnotatedField<T> extends AbstractAnnotatedItem<T, Field> implements AnnotatedField<T>
+public class SimpleAnnotatedField<T> extends AbstractAnnotatedMember<T, Field> implements AnnotatedField<T>
{
private Type[] actualTypeArguments = new Type[0];
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedItem.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedItem.java 2008-11-05 12:27:30 UTC (rev 243)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedItem.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -85,4 +85,14 @@
return actualAnnotations;
}
+ public boolean isStatic()
+ {
+ return false;
+ }
+
+ public boolean isFinal()
+ {
+ return false;
+ }
+
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedMethod.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedMethod.java 2008-11-05 12:27:30 UTC (rev 243)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedMethod.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -3,7 +3,7 @@
import java.lang.reflect.Method;
import java.lang.reflect.Type;
-public class SimpleAnnotatedMethod<T> extends AbstractAnnotatedItem<T, Method> implements AnnotatedMethod<T>
+public class SimpleAnnotatedMethod<T> extends AbstractAnnotatedMember<T, Method> implements AnnotatedMethod<T>
{
private static final Type[] actualTypeArgements = new Type[0];
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedType.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedType.java 2008-11-05 12:27:30 UTC (rev 243)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedType.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -1,201 +0,0 @@
-package org.jboss.webbeans.introspector;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * Base class for implementing AnnotatedItem. This implementation assumes
- * the annotationMap is immutable.
- *
- * @author pmuir
- *
- */
-public class SimpleAnnotatedType<T> extends AbstractAnnotatedItem<T, Class<T>> implements AnnotatedType<T>
-{
-
- private Class<T> clazz;
- private Type[] actualTypeArguments;
- private Set<AnnotatedField<Object>> fields;
- private Map<Class<? extends Annotation>, Set<AnnotatedField<Object>>> annotatedFields;
- private Map<Class<? extends Annotation>, Set<AnnotatedField<Object>>> metaAnnotatedFields;
-
- private Set<AnnotatedMethod<Object>> methods;
- private Map<Class<? extends Annotation>, Set<AnnotatedMethod<Object>>> annotatedMethods;
-
- public SimpleAnnotatedType(Class<T> annotatedClass, Map<Class<? extends Annotation>, Annotation> annotationMap)
- {
- super(annotationMap);
- this.clazz = annotatedClass;
- if (this.clazz.getGenericSuperclass() instanceof ParameterizedType)
- {
- ParameterizedType type = (ParameterizedType) this.clazz.getGenericSuperclass();
- actualTypeArguments = type.getActualTypeArguments();
- }
- else
- {
- actualTypeArguments = new Type[0];
- }
- }
-
- public SimpleAnnotatedType(Class<T> annotatedClass)
- {
- this(annotatedClass, buildAnnotationMap(annotatedClass));
- }
-
- public Class<? extends T> getAnnotatedClass()
- {
- return clazz;
- }
-
- public Class<T> getDelegate()
- {
- return clazz;
- }
-
- public Set<AnnotatedField<Object>> getFields()
- {
- if (fields == null)
- {
- initFields();
- }
- return fields;
- }
-
- private void initFields()
- {
- this.fields = new HashSet<AnnotatedField<Object>>();
- for(Field field : clazz.getFields())
- {
- fields.add(new SimpleAnnotatedField<Object>(field));
- }
- }
-
- public Set<AnnotatedField<Object>> getMetaAnnotatedFields(
- Class<? extends Annotation> metaAnnotationType)
- {
- if (metaAnnotatedFields == null)
- {
- metaAnnotatedFields = new HashMap<Class<? extends Annotation>, Set<AnnotatedField<Object>>>();
- }
- if (annotatedFields == null)
- {
- initAnnotatedFields();
- }
- populateMetaAnnotatedFieldMap(metaAnnotationType, annotatedFields, metaAnnotatedFields);
- return metaAnnotatedFields.get(metaAnnotationType);
- }
-
- protected static <T extends Annotation> Map<Class<? extends Annotation>, Set<AnnotatedField<Object>>> populateMetaAnnotatedFieldMap(
- Class<T> metaAnnotationType,
- Map<Class<? extends Annotation>, Set<AnnotatedField<Object>>> annotatedFields,
- Map<Class<? extends Annotation>, Set<AnnotatedField<Object>>> metaAnnotatedFields)
- {
- if (!metaAnnotatedFields.containsKey(metaAnnotationType))
- {
- Set<AnnotatedField<Object>> s = new HashSet<AnnotatedField<Object>>();
- for (Class<? extends Annotation> annotationType: annotatedFields.keySet())
- {
- if (annotationType.isAnnotationPresent(metaAnnotationType))
- {
- s.addAll(annotatedFields.get(annotationType));
- }
- }
- metaAnnotatedFields.put(metaAnnotationType, s);
- }
- return metaAnnotatedFields;
- }
-
- public Set<AnnotatedField<Object>> getAnnotatedFields(
- Class<? extends Annotation> annotationType)
- {
- if (annotatedFields == null)
- {
- initAnnotatedFields();
- }
- return annotatedFields.get(annotationType);
- }
-
- private void initAnnotatedFields()
- {
- if (fields == null)
- {
- initFields();
- }
- annotatedFields = new HashMap<Class<? extends Annotation>, Set<AnnotatedField<Object>>>();
- for (AnnotatedField<Object> field : fields)
- {
- for (Annotation annotation : field.getAnnotations())
- {
- if (!annotatedFields.containsKey(annotation))
- {
- annotatedFields.put(annotation.annotationType(), new HashSet<AnnotatedField<Object>>());
- }
- annotatedFields.get(annotation.annotationType()).add(field);
- }
- }
- }
-
- public Class<T> getType()
- {
- return clazz;
- }
-
- public Type[] getActualTypeArguments()
- {
- return actualTypeArguments;
- }
-
- private void initMethods()
- {
- this.methods = new HashSet<AnnotatedMethod<Object>>();
- for (Method member : clazz.getDeclaredMethods())
- {
- methods.add(new SimpleAnnotatedMethod<Object>(member));
- }
- }
-
- public Set<AnnotatedMethod<Object>> getAnnotatedMethods(Class<? extends Annotation> annotationType)
- {
- if (annotatedMethods == null)
- {
- initAnnotatedMethods();
- }
-
- if (!annotatedMethods.containsKey(annotationType))
- {
- return new HashSet<AnnotatedMethod<Object>>();
- }
- else
- {
- return annotatedMethods.get(annotationType);
- }
- }
-
- private void initAnnotatedMethods()
- {
- if (methods == null)
- {
- initMethods();
- }
- annotatedMethods = new HashMap<Class<? extends Annotation>, Set<AnnotatedMethod<Object>>>();
- for (AnnotatedMethod<Object> member : methods)
- {
- for (Annotation annotation : member.getAnnotations())
- {
- if (!annotatedMethods.containsKey(annotation))
- {
- annotatedMethods.put(annotation.annotationType(), new HashSet<AnnotatedMethod<Object>>());
- }
- annotatedMethods.get(annotation.annotationType()).add(member);
- }
- }
- }
-
-}
\ No newline at end of file
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractBeanModel.java 2008-11-05 12:27:30 UTC (rev 243)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractBeanModel.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -24,7 +24,7 @@
import org.jboss.webbeans.injectable.InjectableMethod;
import org.jboss.webbeans.injectable.InjectableParameter;
import org.jboss.webbeans.introspector.AnnotatedItem;
-import org.jboss.webbeans.introspector.SimpleAnnotatedType;
+import org.jboss.webbeans.introspector.SimpleAnnotatedClass;
import org.jboss.webbeans.model.MergedStereotypesModel;
import org.jboss.webbeans.util.LoggerUtil;
import org.jboss.webbeans.util.Reflections;
@@ -67,8 +67,8 @@
throw new UnsupportedOperationException();
}
- protected static <T> SimpleAnnotatedType getEmptyAnnotatedType(Class<T> type) {
- return new SimpleAnnotatedType<T>(type, new HashMap<Class<? extends Annotation>, Annotation>());
+ protected static <T> SimpleAnnotatedClass getEmptyAnnotatedType(Class<T> type) {
+ return new SimpleAnnotatedClass<T>(type, new HashMap<Class<? extends Annotation>, Annotation>());
}
protected void initInjectionPoints()
@@ -294,6 +294,7 @@
return;
}
+ // TODO This isn't the right way to check if XML isn't in use
if (getXmlAnnotatedItem().getDelegate() != null)
{
this.deploymentType = Production.class;
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractClassBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractClassBeanModel.java 2008-11-05 12:27:30 UTC (rev 243)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractClassBeanModel.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -13,9 +13,9 @@
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.injectable.InjectableField;
import org.jboss.webbeans.injectable.InjectableMethod;
+import org.jboss.webbeans.introspector.AnnotatedClass;
import org.jboss.webbeans.introspector.AnnotatedField;
import org.jboss.webbeans.introspector.AnnotatedMethod;
-import org.jboss.webbeans.introspector.AnnotatedType;
import org.jboss.webbeans.util.LoggerUtil;
import org.jboss.webbeans.util.Reflections;
import org.jboss.webbeans.util.Strings;
@@ -33,8 +33,8 @@
private static Logger log = LoggerUtil.getLogger(LOGGER_NAME);
- private AnnotatedType<T> annotatedItem;
- private AnnotatedType<T> xmlAnnotatedItem;
+ private AnnotatedClass<T> annotatedItem;
+ private AnnotatedClass<T> xmlAnnotatedItem;
private Set<InjectableField<?>> injectableFields;
private Set<InjectableMethod<Object>> initializerMethods;
@@ -44,7 +44,7 @@
* @param xmlAnnotatedItem Annotations read from XML
* @param manager
*/
- public AbstractClassBeanModel(AnnotatedType<T> annotatedItem, AnnotatedType<T> xmlAnnotatedItem)
+ public AbstractClassBeanModel(AnnotatedClass<T> annotatedItem, AnnotatedClass<T> xmlAnnotatedItem)
{
if (annotatedItem == null)
{
@@ -72,19 +72,20 @@
}
@Override
- protected AnnotatedType<T> getAnnotatedItem()
+ protected AnnotatedClass<T> getAnnotatedItem()
{
return annotatedItem;
}
@Override
- protected AnnotatedType<T> getXmlAnnotatedItem()
+ protected AnnotatedClass<T> getXmlAnnotatedItem()
{
return xmlAnnotatedItem;
}
protected void initType()
{
+ // TODO This is not the right way to check XML definition
if (getAnnotatedItem().getDelegate() != null && getXmlAnnotatedItem().getDelegate() != null && !getAnnotatedItem().getDelegate().equals(getXmlAnnotatedItem().getDelegate()))
{
throw new IllegalArgumentException("Cannot build a bean which specifies different classes in XML and Java");
@@ -112,11 +113,11 @@
injectableFields = new HashSet<InjectableField<?>>();
for (AnnotatedField<Object> annotatedField : annotatedItem.getMetaAnnotatedFields(BindingType.class))
{
- if (Reflections.isStatic(annotatedField.getDelegate()))
+ if (annotatedField.isStatic())
{
throw new DefinitionException("Don't place binding annotations on static fields " + annotatedField);
}
- if (Reflections.isFinal(annotatedField.getDelegate()))
+ if (annotatedField.isFinal())
{
throw new DefinitionException("Don't place binding annotations on final fields " + annotatedField);
}
@@ -132,7 +133,7 @@
initializerMethods = new HashSet<InjectableMethod<Object>>();
for (AnnotatedMethod<Object> annotatedMethod : annotatedItem.getAnnotatedMethods(Initializer.class))
{
- if (Reflections.isStatic(annotatedMethod.getDelegate()))
+ if (annotatedMethod.isStatic())
{
throw new DefinitionException("Initializer method " + annotatedMethod.toString() + " cannot be static");
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractEnterpriseBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractEnterpriseBeanModel.java 2008-11-05 12:27:30 UTC (rev 243)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractEnterpriseBeanModel.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -8,7 +8,7 @@
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.ejb.EjbMetaData;
-import org.jboss.webbeans.introspector.AnnotatedType;
+import org.jboss.webbeans.introspector.AnnotatedClass;
public abstract class AbstractEnterpriseBeanModel<T> extends
AbstractClassBeanModel<T>
@@ -16,8 +16,8 @@
private EjbMetaData<T> ejbMetaData;
- public AbstractEnterpriseBeanModel(AnnotatedType<T> annotatedItem,
- AnnotatedType<T> xmlAnnotatedItem)
+ public AbstractEnterpriseBeanModel(AnnotatedClass<T> annotatedItem,
+ AnnotatedClass<T> xmlAnnotatedItem)
{
super(annotatedItem, xmlAnnotatedItem);
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EnterpriseBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EnterpriseBeanModel.java 2008-11-05 12:27:30 UTC (rev 243)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EnterpriseBeanModel.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -21,8 +21,8 @@
import org.jboss.webbeans.injectable.EnterpriseConstructor;
import org.jboss.webbeans.injectable.InjectableMethod;
import org.jboss.webbeans.injectable.InjectableParameter;
-import org.jboss.webbeans.introspector.AnnotatedType;
-import org.jboss.webbeans.introspector.SimpleAnnotatedType;
+import org.jboss.webbeans.introspector.AnnotatedClass;
+import org.jboss.webbeans.introspector.SimpleAnnotatedClass;
import org.jboss.webbeans.util.Reflections;
public class EnterpriseBeanModel<T> extends AbstractEnterpriseBeanModel<T>
@@ -32,8 +32,8 @@
private String location;
- public EnterpriseBeanModel(AnnotatedType<T> annotatedItem,
- AnnotatedType<T> xmlAnnotatedItem, ManagerImpl container)
+ public EnterpriseBeanModel(AnnotatedClass<T> annotatedItem,
+ AnnotatedClass<T> xmlAnnotatedItem, ManagerImpl container)
{
super(annotatedItem, xmlAnnotatedItem);
init(container);
@@ -172,7 +172,7 @@
Class<?> superclass = getAnnotatedItem().getType().getSuperclass();
if ( superclass!=null )
{
- return new EnterpriseBeanModel(new SimpleAnnotatedType(superclass), getEmptyAnnotatedType(superclass), container);
+ return new EnterpriseBeanModel(new SimpleAnnotatedClass(superclass), getEmptyAnnotatedType(superclass), container);
}
else {
throw new RuntimeException();
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EventBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EventBeanModel.java 2008-11-05 12:27:30 UTC (rev 243)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EventBeanModel.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -79,11 +79,13 @@
@Override
protected void initType()
{
+ // TODO This is not the right way to check XML definition
if (getXmlAnnotatedItem().getDelegate() != null)
{
log.finest("Bean type specified in XML");
this.type = xmlAnnotatedItem.getType();
- } else if (getAnnotatedItem().getDelegate() != null)
+ }
+ else if (getAnnotatedItem().getDelegate() != null)
{
log.finest("Bean type specified in Java");
this.type = annotatedItem.getType();
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerMethodBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerMethodBeanModel.java 2008-11-05 12:27:30 UTC (rev 243)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/ProducerMethodBeanModel.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -2,7 +2,6 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.Set;
@@ -81,6 +80,7 @@
protected void initDeclaringBean(ManagerImpl container)
{
+ // TODO replace
declaringBean = container.getModelManager().getBeanModel(getAnnotatedItem().getDelegate().getDeclaringClass());
}
@@ -91,12 +91,12 @@
protected void checkProducerMethod()
{
- if (Modifier.isStatic(getAnnotatedItem().getDelegate().getModifiers()))
+ if (getAnnotatedItem().isStatic())
{
throw new RuntimeException("Producer method cannot be static " + annotatedMethod);
}
// TODO Check if declaring class is a WB bean
- if (!getScopeType().equals(Dependent.class) && Modifier.isFinal(getAnnotatedItem().getDelegate().getModifiers()))
+ if (!getScopeType().equals(Dependent.class) && getAnnotatedItem().isFinal())
{
throw new RuntimeException("Final producer method must have @Dependent scope " + annotatedMethod);
}
@@ -131,6 +131,7 @@
@Override
protected String getDefaultName()
{
+ // TODO Don't use delegate here
String propertyName = Reflections.getPropertyName(getAnnotatedItem().getDelegate());
if (propertyName != null)
{
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/SimpleBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/SimpleBeanModel.java 2008-11-05 12:27:30 UTC (rev 243)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/SimpleBeanModel.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -10,8 +10,8 @@
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.injectable.InjectableParameter;
import org.jboss.webbeans.injectable.SimpleConstructor;
-import org.jboss.webbeans.introspector.AnnotatedType;
-import org.jboss.webbeans.introspector.SimpleAnnotatedType;
+import org.jboss.webbeans.introspector.AnnotatedClass;
+import org.jboss.webbeans.introspector.SimpleAnnotatedClass;
import org.jboss.webbeans.util.LoggerUtil;
import org.jboss.webbeans.util.Reflections;
@@ -30,7 +30,7 @@
* @param xmlAnnotatedItem Annotations read from XML
* @param container
*/
- public SimpleBeanModel(AnnotatedType<T> annotatedItem, AnnotatedType<T> xmlAnnotatedItem, ManagerImpl container)
+ public SimpleBeanModel(AnnotatedClass<T> annotatedItem, AnnotatedClass<T> xmlAnnotatedItem, ManagerImpl container)
{
super(annotatedItem, xmlAnnotatedItem);
init(container);
@@ -127,7 +127,7 @@
Class<?> superclass = getAnnotatedItem().getType().getSuperclass();
if ( superclass!=null )
{
- return new SimpleBeanModel(new SimpleAnnotatedType(superclass), getEmptyAnnotatedType(superclass), container);
+ return new SimpleBeanModel(new SimpleAnnotatedClass(superclass), getEmptyAnnotatedType(superclass), container);
}
else {
throw new RuntimeException();
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/Reflections.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/Reflections.java 2008-11-05 12:27:30 UTC (rev 243)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/Reflections.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -5,6 +5,7 @@
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Member;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.lang.reflect.ParameterizedType;
@@ -55,16 +56,11 @@
return Modifier.isFinal(clazz.getModifiers());
}
- public static boolean isFinal(Method method)
+ public static boolean isFinal(Member member)
{
- return Modifier.isFinal(method.getModifiers());
+ return Modifier.isFinal(member.getModifiers());
}
- public static boolean isFinal(Field field)
- {
- return Modifier.isFinal(field.getModifiers());
- }
-
public static boolean isTypeOrAnyMethodFinal(Class<?> type)
{
if (isFinal(type))
@@ -91,16 +87,11 @@
return Modifier.isStatic(type.getModifiers());
}
- public static boolean isStatic(Field field)
+ public static boolean isStatic(Member member)
{
- return Modifier.isStatic(field.getModifiers());
+ return Modifier.isStatic(member.getModifiers());
}
- public static boolean isStatic(Method method)
- {
- return Modifier.isStatic(method.getModifiers());
- }
-
public static boolean isAbstract(Class<?> clazz)
{
return Modifier.isAbstract(clazz.getModifiers());
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BindingTypeTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BindingTypeTest.java 2008-11-05 12:27:30 UTC (rev 243)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BindingTypeTest.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -11,8 +11,8 @@
import javax.webbeans.Current;
import org.jboss.webbeans.bindings.CurrentAnnotationLiteral;
-import org.jboss.webbeans.introspector.AnnotatedType;
-import org.jboss.webbeans.introspector.SimpleAnnotatedType;
+import org.jboss.webbeans.introspector.AnnotatedClass;
+import org.jboss.webbeans.introspector.SimpleAnnotatedClass;
import org.jboss.webbeans.model.bean.BeanModel;
import org.jboss.webbeans.model.bean.SimpleBeanModel;
import org.jboss.webbeans.test.annotations.Asynchronous;
@@ -85,7 +85,7 @@
{
Map<Class<? extends Annotation>, Annotation> annotations = new HashMap<Class<? extends Annotation>, Annotation>();
annotations.put(Asynchronous.class, new AsynchronousAnnotationLiteral());
- AnnotatedType annotatedItem = new SimpleAnnotatedType(Antelope.class, annotations);
+ AnnotatedClass annotatedItem = new SimpleAnnotatedClass(Antelope.class, annotations);
SimpleBeanModel<Antelope> antelope = new SimpleBeanModel<Antelope>(getEmptyAnnotatedType(Antelope.class), annotatedItem, manager);
assert Reflections.annotationSetMatches(antelope.getBindingTypes(), Asynchronous.class);
@@ -96,7 +96,7 @@
{
Map<Class<? extends Annotation>, Annotation> annotations = new HashMap<Class<? extends Annotation>, Annotation>();
annotations.put(Asynchronous.class, new AsynchronousAnnotationLiteral());
- AnnotatedType<Cat> annotatedItem = new SimpleAnnotatedType<Cat>(Cat.class, annotations);
+ AnnotatedClass<Cat> annotatedItem = new SimpleAnnotatedClass<Cat>(Cat.class, annotations);
SimpleBeanModel<Cat> cat = createSimpleModel(Cat.class, annotatedItem, manager);
assert cat.getBindingTypes().size() == 1;
@@ -107,7 +107,7 @@
public void testNoBindingTypesDeclaredInXml()
{
Map<Class<? extends Annotation>, Annotation> annotations = new HashMap<Class<? extends Annotation>, Annotation>();
- AnnotatedType<Cat> annotatedItem = new SimpleAnnotatedType<Cat>(Cat.class, annotations);
+ AnnotatedClass<Cat> annotatedItem = new SimpleAnnotatedClass<Cat>(Cat.class, annotations);
SimpleBeanModel<Cat> cat = createSimpleModel(Cat.class, annotatedItem, manager);
assert cat.getBindingTypes().size() == 1;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ClassAnnotatedItemTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ClassAnnotatedItemTest.java 2008-11-05 12:27:30 UTC (rev 243)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ClassAnnotatedItemTest.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -8,8 +8,8 @@
import javax.webbeans.Production;
import javax.webbeans.Stereotype;
-import org.jboss.webbeans.introspector.AnnotatedType;
-import org.jboss.webbeans.introspector.SimpleAnnotatedType;
+import org.jboss.webbeans.introspector.AnnotatedClass;
+import org.jboss.webbeans.introspector.SimpleAnnotatedClass;
import org.jboss.webbeans.test.beans.Antelope;
import org.jboss.webbeans.test.beans.Order;
import org.testng.annotations.Test;
@@ -20,7 +20,7 @@
@Test
public void testDeclaredAnnotations()
{
- AnnotatedType<Order> annotatedElement = new SimpleAnnotatedType<Order>(Order.class);
+ AnnotatedClass<Order> annotatedElement = new SimpleAnnotatedClass<Order>(Order.class);
assert annotatedElement.getAnnotations().size() == 1;
assert annotatedElement.getAnnotation(Production.class) != null;
assert annotatedElement.getAnnotatedClass().equals(Order.class);
@@ -29,7 +29,7 @@
@Test
public void testMetaAnnotations()
{
- AnnotatedType<Order> annotatedElement = new SimpleAnnotatedType<Order>(Order.class);
+ AnnotatedClass<Order> annotatedElement = new SimpleAnnotatedClass<Order>(Order.class);
Set<Annotation> annotations = annotatedElement.getAnnotations(DeploymentType.class);
assert annotations.size() == 1;
Iterator<Annotation> it = annotations.iterator();
@@ -40,10 +40,10 @@
@Test
public void testEmpty()
{
- AnnotatedType<Order> annotatedElement = new SimpleAnnotatedType<Order>(Order.class);
+ AnnotatedClass<Order> annotatedElement = new SimpleAnnotatedClass<Order>(Order.class);
assert annotatedElement.getAnnotation(Stereotype.class) == null;
assert annotatedElement.getAnnotations(Stereotype.class).size() == 0;
- AnnotatedType<Antelope> classWithNoAnnotations = new SimpleAnnotatedType<Antelope>(Antelope.class);
+ AnnotatedClass<Antelope> classWithNoAnnotations = new SimpleAnnotatedClass<Antelope>(Antelope.class);
assert classWithNoAnnotations.getAnnotations().size() == 0;
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeferredEventNotificationTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeferredEventNotificationTest.java 2008-11-05 12:27:30 UTC (rev 243)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeferredEventNotificationTest.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -12,8 +12,8 @@
import org.jboss.webbeans.event.DeferredEventNotification;
import org.jboss.webbeans.injectable.InjectableMethod;
-import org.jboss.webbeans.introspector.AnnotatedType;
-import org.jboss.webbeans.introspector.SimpleAnnotatedType;
+import org.jboss.webbeans.introspector.AnnotatedClass;
+import org.jboss.webbeans.introspector.SimpleAnnotatedClass;
import org.jboss.webbeans.model.bean.SimpleBeanModel;
import org.jboss.webbeans.test.annotations.AnotherDeploymentType;
import org.jboss.webbeans.test.annotations.Asynchronous;
@@ -75,8 +75,8 @@
// Create an observer with known binding types
Map<Class<? extends Annotation>, Annotation> annotations = new HashMap<Class<? extends Annotation>, Annotation>();
annotations.put(Asynchronous.class, new AsynchronousAnnotationLiteral());
- AnnotatedType<Tuna> annotatedItem = new SimpleAnnotatedType<Tuna>(Tuna.class, annotations);
- tuna = new SimpleBeanModel<Tuna>(new SimpleAnnotatedType<Tuna>(Tuna.class), annotatedItem, manager);
+ AnnotatedClass<Tuna> annotatedItem = new SimpleAnnotatedClass<Tuna>(Tuna.class, annotations);
+ tuna = new SimpleBeanModel<Tuna>(new SimpleAnnotatedClass<Tuna>(Tuna.class), annotatedItem, manager);
om = new InjectableMethod<Object>(AnObserver.class.getMethod("observe", new Class[] { Event.class }));
AnObserver observerInstance = new AnObserver();
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeploymentTypeTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeploymentTypeTest.java 2008-11-05 12:27:30 UTC (rev 243)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeploymentTypeTest.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -17,8 +17,8 @@
import javax.webbeans.UnsatisfiedDependencyException;
import javax.webbeans.manager.Bean;
-import org.jboss.webbeans.introspector.AnnotatedType;
-import org.jboss.webbeans.introspector.SimpleAnnotatedType;
+import org.jboss.webbeans.introspector.AnnotatedClass;
+import org.jboss.webbeans.introspector.SimpleAnnotatedClass;
import org.jboss.webbeans.model.bean.SimpleBeanModel;
import org.jboss.webbeans.test.annotations.AnotherDeploymentType;
import org.jboss.webbeans.test.annotations.FishStereotype;
@@ -66,7 +66,7 @@
@Test(expectedExceptions=DefinitionException.class) @SpecAssertion(section="2.5.3")
public void testTooManyDeploymentTypes()
{
- new SimpleBeanModel<BeanWithTooManyDeploymentTypes>(new SimpleAnnotatedType<BeanWithTooManyDeploymentTypes>(BeanWithTooManyDeploymentTypes.class), getEmptyAnnotatedType(BeanWithTooManyDeploymentTypes.class), manager);
+ new SimpleBeanModel<BeanWithTooManyDeploymentTypes>(new SimpleAnnotatedClass<BeanWithTooManyDeploymentTypes>(BeanWithTooManyDeploymentTypes.class), getEmptyAnnotatedType(BeanWithTooManyDeploymentTypes.class), manager);
}
@Test @SpecAssertion(section="2.5.4")
@@ -74,9 +74,9 @@
{
Map<Class<? extends Annotation>, Annotation> xmlDefinedDeploymentTypeAnnotations = new HashMap<Class<? extends Annotation>, Annotation>();
xmlDefinedDeploymentTypeAnnotations.put(AnotherDeploymentType.class, new AnotherDeploymentTypeAnnotationLiteral());
- AnnotatedType<BeanWithTooManyDeploymentTypes> xmlDefinedDeploymentTypeAnnotatedItem = new SimpleAnnotatedType<BeanWithTooManyDeploymentTypes>(BeanWithTooManyDeploymentTypes.class, xmlDefinedDeploymentTypeAnnotations);
+ AnnotatedClass<BeanWithTooManyDeploymentTypes> xmlDefinedDeploymentTypeAnnotatedItem = new SimpleAnnotatedClass<BeanWithTooManyDeploymentTypes>(BeanWithTooManyDeploymentTypes.class, xmlDefinedDeploymentTypeAnnotations);
- SimpleBeanModel<BeanWithTooManyDeploymentTypes> model = new SimpleBeanModel<BeanWithTooManyDeploymentTypes>(new SimpleAnnotatedType<BeanWithTooManyDeploymentTypes>(BeanWithTooManyDeploymentTypes.class), xmlDefinedDeploymentTypeAnnotatedItem, manager);
+ SimpleBeanModel<BeanWithTooManyDeploymentTypes> model = new SimpleBeanModel<BeanWithTooManyDeploymentTypes>(new SimpleAnnotatedClass<BeanWithTooManyDeploymentTypes>(BeanWithTooManyDeploymentTypes.class), xmlDefinedDeploymentTypeAnnotatedItem, manager);
assert model.getDeploymentType().equals(AnotherDeploymentType.class);
}
@@ -85,15 +85,15 @@
@Test @SpecAssertion(section="2.5.4")
public void testXmlRespectsJavaDeploymentType()
{
- AnnotatedType<Tuna> annotatedItem = new SimpleAnnotatedType<Tuna>(Tuna.class, new HashMap<Class<? extends Annotation>, Annotation>());
- SimpleBeanModel<Tuna> tuna = new SimpleBeanModel<Tuna>(new SimpleAnnotatedType<Tuna>(Tuna.class), annotatedItem, manager);
+ AnnotatedClass<Tuna> annotatedItem = new SimpleAnnotatedClass<Tuna>(Tuna.class, new HashMap<Class<? extends Annotation>, Annotation>());
+ SimpleBeanModel<Tuna> tuna = new SimpleBeanModel<Tuna>(new SimpleAnnotatedClass<Tuna>(Tuna.class), annotatedItem, manager);
assert tuna.getDeploymentType().equals(AnotherDeploymentType.class);
}
@Test @SpecAssertion(section="2.5.5")
public void testXmlDefaultDeploymentType()
{
- AnnotatedType<Antelope> antelopeAnnotatedItem = new SimpleAnnotatedType<Antelope>(Antelope.class, new HashMap<Class<? extends Annotation>, Annotation>());
+ AnnotatedClass<Antelope> antelopeAnnotatedItem = new SimpleAnnotatedClass<Antelope>(Antelope.class, new HashMap<Class<? extends Annotation>, Annotation>());
SimpleBeanModel<Antelope> antelope = new SimpleBeanModel<Antelope>(getEmptyAnnotatedType(Antelope.class), antelopeAnnotatedItem, manager);
assert antelope.getDeploymentType().equals(Production.class);
}
@@ -110,8 +110,8 @@
{
Map<Class<? extends Annotation>, Annotation> annotations = new HashMap<Class<? extends Annotation>, Annotation>();
annotations.put(FishStereotype.class, new FishStereotypeAnnotationLiteral());
- AnnotatedType<SeaBass> annotatedItem = new SimpleAnnotatedType<SeaBass>(SeaBass.class, annotations);
- SimpleBeanModel<SeaBass> trout = new SimpleBeanModel<SeaBass>(new SimpleAnnotatedType<SeaBass>(SeaBass.class), annotatedItem, manager);
+ AnnotatedClass<SeaBass> annotatedItem = new SimpleAnnotatedClass<SeaBass>(SeaBass.class, annotations);
+ SimpleBeanModel<SeaBass> trout = new SimpleBeanModel<SeaBass>(new SimpleAnnotatedClass<SeaBass>(SeaBass.class), annotatedItem, manager);
assert trout.getScopeType().equals(RequestScoped.class);
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NameTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NameTest.java 2008-11-05 12:27:30 UTC (rev 243)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NameTest.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -11,8 +11,8 @@
import javax.webbeans.Named;
import org.jboss.webbeans.bindings.NamedAnnotationLiteral;
-import org.jboss.webbeans.introspector.AnnotatedType;
-import org.jboss.webbeans.introspector.SimpleAnnotatedType;
+import org.jboss.webbeans.introspector.AnnotatedClass;
+import org.jboss.webbeans.introspector.SimpleAnnotatedClass;
import org.jboss.webbeans.model.bean.BeanModel;
import org.jboss.webbeans.model.bean.SimpleBeanModel;
import org.jboss.webbeans.test.annotations.RiverFishStereotype;
@@ -37,7 +37,7 @@
@Test @SpecAssertion(section="2.6.1")
public void testNonDefaultNamed()
{
- SimpleBeanModel<Moose> moose = new SimpleBeanModel<Moose>(new SimpleAnnotatedType<Moose>(Moose.class), getEmptyAnnotatedType(Moose.class), manager);
+ SimpleBeanModel<Moose> moose = new SimpleBeanModel<Moose>(new SimpleAnnotatedClass<Moose>(Moose.class), getEmptyAnnotatedType(Moose.class), manager);
assert moose.getName().equals("aMoose");
}
@@ -53,8 +53,8 @@
}
});
- AnnotatedType<SeaBass> annotatedItem = new SimpleAnnotatedType<SeaBass>(SeaBass.class, annotations);
- SimpleBeanModel<SeaBass> trout = new SimpleBeanModel<SeaBass>(new SimpleAnnotatedType<SeaBass>(SeaBass.class), annotatedItem, manager);
+ AnnotatedClass<SeaBass> annotatedItem = new SimpleAnnotatedClass<SeaBass>(SeaBass.class, annotations);
+ SimpleBeanModel<SeaBass> trout = new SimpleBeanModel<SeaBass>(new SimpleAnnotatedClass<SeaBass>(SeaBass.class), annotatedItem, manager);
assert trout.getName().equals("aTrout");
}
@@ -71,8 +71,8 @@
}
});
- AnnotatedType<Cod> annotatedItem = new SimpleAnnotatedType<Cod>(Cod.class, annotations);
- SimpleBeanModel<Cod> cod = new SimpleBeanModel<Cod>(new SimpleAnnotatedType<Cod>(Cod.class), annotatedItem, manager);
+ AnnotatedClass<Cod> annotatedItem = new SimpleAnnotatedClass<Cod>(Cod.class, annotations);
+ SimpleBeanModel<Cod> cod = new SimpleBeanModel<Cod>(new SimpleAnnotatedClass<Cod>(Cod.class), annotatedItem, manager);
assert cod.getName().equals("aTrout");
}
@@ -81,8 +81,8 @@
public void testJavaNamedUsedWhenNoXmlSpecified()
{
Map<Class<? extends Annotation>, Annotation> annotations = new HashMap<Class<? extends Annotation>, Annotation>();
- AnnotatedType<Cod> annotatedItem = new SimpleAnnotatedType<Cod>(Cod.class, annotations);
- SimpleBeanModel<Cod> cod = new SimpleBeanModel<Cod>(new SimpleAnnotatedType<Cod>(Cod.class), annotatedItem, manager);
+ AnnotatedClass<Cod> annotatedItem = new SimpleAnnotatedClass<Cod>(Cod.class, annotations);
+ SimpleBeanModel<Cod> cod = new SimpleBeanModel<Cod>(new SimpleAnnotatedClass<Cod>(Cod.class), annotatedItem, manager);
assert cod.getName().equals("whitefish");
}
@@ -90,7 +90,7 @@
@Test @SpecAssertion(section={"2.6.3", "3.2.7"})
public void testDefaultNamed()
{
- SimpleBeanModel<Haddock> haddock = new SimpleBeanModel<Haddock>(new SimpleAnnotatedType<Haddock>(Haddock.class), getEmptyAnnotatedType(Haddock.class), manager);
+ SimpleBeanModel<Haddock> haddock = new SimpleBeanModel<Haddock>(new SimpleAnnotatedClass<Haddock>(Haddock.class), getEmptyAnnotatedType(Haddock.class), manager);
assert haddock.getName() != null;
assert haddock.getName().equals("haddock");
}
@@ -107,8 +107,8 @@
}
});
- AnnotatedType<SeaBass> annotatedItem = new SimpleAnnotatedType<SeaBass>(SeaBass.class, annotations);
- SimpleBeanModel<SeaBass> trout = new SimpleBeanModel<SeaBass>(new SimpleAnnotatedType<SeaBass>(SeaBass.class), annotatedItem, manager);
+ AnnotatedClass<SeaBass> annotatedItem = new SimpleAnnotatedClass<SeaBass>(SeaBass.class, annotations);
+ SimpleBeanModel<SeaBass> trout = new SimpleBeanModel<SeaBass>(new SimpleAnnotatedClass<SeaBass>(SeaBass.class), annotatedItem, manager);
assert trout.getName() != null;
assert trout.getName().equals("seaBass");
@@ -125,14 +125,14 @@
@Test @SpecAssertion(section="2.6.4")
public void testNotNamedInJava()
{
- SimpleBeanModel<SeaBass> model = new SimpleBeanModel<SeaBass>(new SimpleAnnotatedType<SeaBass>(SeaBass.class), getEmptyAnnotatedType(SeaBass.class), manager);
+ SimpleBeanModel<SeaBass> model = new SimpleBeanModel<SeaBass>(new SimpleAnnotatedClass<SeaBass>(SeaBass.class), getEmptyAnnotatedType(SeaBass.class), manager);
assert model.getName() == null;
}
@Test @SpecAssertion(section="2.6.4")
public void testNotNamedInXml()
{
- SimpleBeanModel<SeaBass> model = new SimpleBeanModel<SeaBass>(new SimpleAnnotatedType<SeaBass>(SeaBass.class), getEmptyAnnotatedType(SeaBass.class), manager);
+ SimpleBeanModel<SeaBass> model = new SimpleBeanModel<SeaBass>(new SimpleAnnotatedClass<SeaBass>(SeaBass.class), getEmptyAnnotatedType(SeaBass.class), manager);
assert model.getName() == null;
}
@@ -141,8 +141,8 @@
{
Map<Class<? extends Annotation>, Annotation> annotations = new HashMap<Class<? extends Annotation>, Annotation>();
annotations.put(RiverFishStereotype.class, new RiverFishStereotypeAnnotationLiteral());
- AnnotatedType<SeaBass> annotatedItem = new SimpleAnnotatedType<SeaBass>(SeaBass.class, annotations);
- SimpleBeanModel<SeaBass> model = new SimpleBeanModel<SeaBass>(new SimpleAnnotatedType<SeaBass>(SeaBass.class), annotatedItem, manager);
+ AnnotatedClass<SeaBass> annotatedItem = new SimpleAnnotatedClass<SeaBass>(SeaBass.class, annotations);
+ SimpleBeanModel<SeaBass> model = new SimpleBeanModel<SeaBass>(new SimpleAnnotatedClass<SeaBass>(SeaBass.class), annotatedItem, manager);
assert model.getName() == null;
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NormalContextTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NormalContextTest.java 2008-11-05 12:27:30 UTC (rev 243)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NormalContextTest.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -11,7 +11,7 @@
import org.jboss.webbeans.contexts.AbstractContext;
import org.jboss.webbeans.contexts.RequestContext;
import org.jboss.webbeans.introspector.SimpleAnnotatedMethod;
-import org.jboss.webbeans.introspector.SimpleAnnotatedType;
+import org.jboss.webbeans.introspector.SimpleAnnotatedClass;
import org.jboss.webbeans.model.bean.ProducerMethodBeanModel;
import org.jboss.webbeans.model.bean.SimpleBeanModel;
import org.jboss.webbeans.test.beans.SpiderProducer;
@@ -68,7 +68,7 @@
@Test(groups={"contexts", "producerMethod"}) @SpecAssertion(section="8.1")
public void testProducerMethodReturningNullOK() throws SecurityException, NoSuchMethodException {
- SimpleBeanModel<SpiderProducer> producer = new SimpleBeanModel<SpiderProducer>(new SimpleAnnotatedType<SpiderProducer>(SpiderProducer.class), getEmptyAnnotatedType(SpiderProducer.class), manager);
+ SimpleBeanModel<SpiderProducer> producer = new SimpleBeanModel<SpiderProducer>(new SimpleAnnotatedClass<SpiderProducer>(SpiderProducer.class), getEmptyAnnotatedType(SpiderProducer.class), manager);
manager.getModelManager().addBeanModel(producer);
Method nullProducer = SpiderProducer.class.getMethod("produceShelob");
ProducerMethodBeanModel<Tarantula> producerModel = new ProducerMethodBeanModel<Tarantula>(new SimpleAnnotatedMethod<Tarantula>(nullProducer), manager);
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ObserverTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ObserverTest.java 2008-11-05 12:27:30 UTC (rev 243)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ObserverTest.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -11,8 +11,8 @@
import javax.webbeans.Standard;
import org.jboss.webbeans.injectable.InjectableMethod;
-import org.jboss.webbeans.introspector.AnnotatedType;
-import org.jboss.webbeans.introspector.SimpleAnnotatedType;
+import org.jboss.webbeans.introspector.AnnotatedClass;
+import org.jboss.webbeans.introspector.SimpleAnnotatedClass;
import org.jboss.webbeans.model.bean.SimpleBeanModel;
import org.jboss.webbeans.test.annotations.AnotherDeploymentType;
import org.jboss.webbeans.test.annotations.Asynchronous;
@@ -64,8 +64,8 @@
// Create an observer with known binding types
Map<Class<? extends Annotation>, Annotation> annotations = new HashMap<Class<? extends Annotation>, Annotation>();
annotations.put(Asynchronous.class, new AsynchronousAnnotationLiteral());
- AnnotatedType<Tuna> annotatedItem = new SimpleAnnotatedType<Tuna>(Tuna.class, annotations);
- tuna = new SimpleBeanModel<Tuna>(new SimpleAnnotatedType<Tuna>(Tuna.class), annotatedItem, manager);
+ AnnotatedClass<Tuna> annotatedItem = new SimpleAnnotatedClass<Tuna>(Tuna.class, annotations);
+ tuna = new SimpleBeanModel<Tuna>(new SimpleAnnotatedClass<Tuna>(Tuna.class), annotatedItem, manager);
om = new InjectableMethod<Object>(AnObserver.class.getMethod("observe", new Class[] { SampleEvent.class }));
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanModelTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanModelTest.java 2008-11-05 12:27:30 UTC (rev 243)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanModelTest.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -8,7 +8,7 @@
import javax.webbeans.Dependent;
import org.jboss.webbeans.introspector.SimpleAnnotatedMethod;
-import org.jboss.webbeans.introspector.SimpleAnnotatedType;
+import org.jboss.webbeans.introspector.SimpleAnnotatedClass;
import org.jboss.webbeans.model.bean.ProducerMethodBeanModel;
import org.jboss.webbeans.model.bean.SimpleBeanModel;
import org.jboss.webbeans.test.annotations.AnotherDeploymentType;
@@ -33,7 +33,7 @@
@Test(groups="producerMethod") @SpecAssertion(section="2.5.3")
public void testProducerMethodInheritsDeploymentTypeOfDeclaringWebBean() throws Exception
{
- SimpleBeanModel<SpiderProducer> model = new SimpleBeanModel<SpiderProducer>(new SimpleAnnotatedType<SpiderProducer>(SpiderProducer.class), getEmptyAnnotatedType(SpiderProducer.class), manager);
+ SimpleBeanModel<SpiderProducer> model = new SimpleBeanModel<SpiderProducer>(new SimpleAnnotatedClass<SpiderProducer>(SpiderProducer.class), getEmptyAnnotatedType(SpiderProducer.class), manager);
manager.getModelManager().addBeanModel(model);
Method method = SpiderProducer.class.getMethod("produceTameTarantula");
ProducerMethodBeanModel<Tarantula> tarantulaModel = new ProducerMethodBeanModel<Tarantula>(new SimpleAnnotatedMethod<Tarantula>(method), manager);
@@ -43,7 +43,7 @@
@Test(groups="producerMethod") @SpecAssertion(section="3.3")
public void testStaticMethod() throws SecurityException, NoSuchMethodException
{
- SimpleBeanModel<BeanWithStaticProducerMethod> model = new SimpleBeanModel<BeanWithStaticProducerMethod>(new SimpleAnnotatedType<BeanWithStaticProducerMethod>(BeanWithStaticProducerMethod.class), getEmptyAnnotatedType(BeanWithStaticProducerMethod.class), manager);
+ SimpleBeanModel<BeanWithStaticProducerMethod> model = new SimpleBeanModel<BeanWithStaticProducerMethod>(new SimpleAnnotatedClass<BeanWithStaticProducerMethod>(BeanWithStaticProducerMethod.class), getEmptyAnnotatedType(BeanWithStaticProducerMethod.class), manager);
manager.getModelManager().addBeanModel(model);
Method method = BeanWithStaticProducerMethod.class.getMethod("getString");
boolean exception = false;
@@ -61,7 +61,7 @@
@Test(groups="producerMethod") @SpecAssertion(section="3.3")
public void testApiTypes() throws SecurityException, NoSuchMethodException
{
- SimpleBeanModel<SpiderProducer> model = new SimpleBeanModel<SpiderProducer>(new SimpleAnnotatedType<SpiderProducer>(SpiderProducer.class), getEmptyAnnotatedType(SpiderProducer.class), manager);
+ SimpleBeanModel<SpiderProducer> model = new SimpleBeanModel<SpiderProducer>(new SimpleAnnotatedClass<SpiderProducer>(SpiderProducer.class), getEmptyAnnotatedType(SpiderProducer.class), manager);
manager.getModelManager().addBeanModel(model);
Method method = SpiderProducer.class.getMethod("produceTarantula");
ProducerMethodBeanModel<Tarantula> tarantulaModel = new ProducerMethodBeanModel<Tarantula>(new SimpleAnnotatedMethod<Tarantula>(method), manager);
@@ -76,7 +76,7 @@
@Test(groups="producerMethod") @SpecAssertion(section="3.3.1")
public void testDefaultBindingType() throws SecurityException, NoSuchMethodException
{
- SimpleBeanModel<SpiderProducer> model = new SimpleBeanModel<SpiderProducer>(new SimpleAnnotatedType<SpiderProducer>(SpiderProducer.class), getEmptyAnnotatedType(SpiderProducer.class), manager);
+ SimpleBeanModel<SpiderProducer> model = new SimpleBeanModel<SpiderProducer>(new SimpleAnnotatedClass<SpiderProducer>(SpiderProducer.class), getEmptyAnnotatedType(SpiderProducer.class), manager);
manager.getModelManager().addBeanModel(model);
Method method = SpiderProducer.class.getMethod("produceTarantula");
ProducerMethodBeanModel<Tarantula> tarantulaModel = new ProducerMethodBeanModel<Tarantula>(new SimpleAnnotatedMethod<Tarantula>(method), manager);
@@ -87,7 +87,7 @@
@Test(groups="producerMethod")
public void testBindingType() throws SecurityException, NoSuchMethodException
{
- SimpleBeanModel<SpiderProducer> model = new SimpleBeanModel<SpiderProducer>(new SimpleAnnotatedType<SpiderProducer>(SpiderProducer.class), getEmptyAnnotatedType(SpiderProducer.class), manager);
+ SimpleBeanModel<SpiderProducer> model = new SimpleBeanModel<SpiderProducer>(new SimpleAnnotatedClass<SpiderProducer>(SpiderProducer.class), getEmptyAnnotatedType(SpiderProducer.class), manager);
manager.getModelManager().addBeanModel(model);
Method method = SpiderProducer.class.getMethod("produceTameTarantula");
ProducerMethodBeanModel<Tarantula> tarantulaModel = new ProducerMethodBeanModel<Tarantula>(new SimpleAnnotatedMethod<Tarantula>(method), manager);
@@ -98,7 +98,7 @@
@Test(groups="producerMethod") @SpecAssertion(section="3.3")
public void testFinalMethod() throws SecurityException, NoSuchMethodException
{
- SimpleBeanModel<BeanWithFinalProducerMethod> model = new SimpleBeanModel<BeanWithFinalProducerMethod>(new SimpleAnnotatedType<BeanWithFinalProducerMethod>(BeanWithFinalProducerMethod.class), getEmptyAnnotatedType(BeanWithFinalProducerMethod.class), manager);
+ SimpleBeanModel<BeanWithFinalProducerMethod> model = new SimpleBeanModel<BeanWithFinalProducerMethod>(new SimpleAnnotatedClass<BeanWithFinalProducerMethod>(BeanWithFinalProducerMethod.class), getEmptyAnnotatedType(BeanWithFinalProducerMethod.class), manager);
manager.getModelManager().addBeanModel(model);
Method method = BeanWithFinalProducerMethod.class.getMethod("getString");
boolean exception = false;
@@ -116,7 +116,7 @@
@Test(groups="producerMethod") @SpecAssertion(section="3.3")
public void testFinalMethodWithDependentScope() throws SecurityException, NoSuchMethodException
{
- SimpleBeanModel<SpiderProducer> model = new SimpleBeanModel<SpiderProducer>(new SimpleAnnotatedType<SpiderProducer>(SpiderProducer.class), getEmptyAnnotatedType(SpiderProducer.class), manager);
+ SimpleBeanModel<SpiderProducer> model = new SimpleBeanModel<SpiderProducer>(new SimpleAnnotatedClass<SpiderProducer>(SpiderProducer.class), getEmptyAnnotatedType(SpiderProducer.class), manager);
manager.getModelManager().addBeanModel(model);
Method method = SpiderProducer.class.getMethod("produceTrapdoorSpider");
ProducerMethodBeanModel<TrapdoorSpider> trapdoorSpiderModel = new ProducerMethodBeanModel<TrapdoorSpider>(new SimpleAnnotatedMethod<TrapdoorSpider>(method), manager);
@@ -126,7 +126,7 @@
@Test(groups="producerMethod") @SpecAssertion(section="3.3.6")
public void testNamedMethod() throws SecurityException, NoSuchMethodException
{
- SimpleBeanModel<SpiderProducer> model = new SimpleBeanModel<SpiderProducer>(new SimpleAnnotatedType<SpiderProducer>(SpiderProducer.class), getEmptyAnnotatedType(SpiderProducer.class), manager);
+ SimpleBeanModel<SpiderProducer> model = new SimpleBeanModel<SpiderProducer>(new SimpleAnnotatedClass<SpiderProducer>(SpiderProducer.class), getEmptyAnnotatedType(SpiderProducer.class), manager);
manager.getModelManager().addBeanModel(model);
Method method = SpiderProducer.class.getMethod("produceBlackWidow");
ProducerMethodBeanModel<BlackWidow> blackWidowSpiderModel = new ProducerMethodBeanModel<BlackWidow>(new SimpleAnnotatedMethod<BlackWidow>(method), manager);
@@ -136,7 +136,7 @@
@Test(groups="producerMethod") @SpecAssertion(section="3.3.6")
public void testDefaultNamedMethod() throws SecurityException, NoSuchMethodException
{
- SimpleBeanModel<SpiderProducer> model = new SimpleBeanModel<SpiderProducer>(new SimpleAnnotatedType<SpiderProducer>(SpiderProducer.class), getEmptyAnnotatedType(SpiderProducer.class), manager);
+ SimpleBeanModel<SpiderProducer> model = new SimpleBeanModel<SpiderProducer>(new SimpleAnnotatedClass<SpiderProducer>(SpiderProducer.class), getEmptyAnnotatedType(SpiderProducer.class), manager);
manager.getModelManager().addBeanModel(model);
Method method = SpiderProducer.class.getMethod("produceDaddyLongLegs");
ProducerMethodBeanModel<DaddyLongLegs> daddyLongLegsSpiderModel = new ProducerMethodBeanModel<DaddyLongLegs>(new SimpleAnnotatedMethod<DaddyLongLegs>(method), manager);
@@ -146,7 +146,7 @@
@Test(groups="producerMethod") @SpecAssertion(section="3.3.6")
public void testDefaultNamedJavaBeanMethod() throws SecurityException, NoSuchMethodException
{
- SimpleBeanModel<SpiderProducer> model = new SimpleBeanModel<SpiderProducer>(new SimpleAnnotatedType<SpiderProducer>(SpiderProducer.class), getEmptyAnnotatedType(SpiderProducer.class), manager);
+ SimpleBeanModel<SpiderProducer> model = new SimpleBeanModel<SpiderProducer>(new SimpleAnnotatedClass<SpiderProducer>(SpiderProducer.class), getEmptyAnnotatedType(SpiderProducer.class), manager);
manager.getModelManager().addBeanModel(model);
Method method = SpiderProducer.class.getMethod("getLadybirdSpider");
ProducerMethodBeanModel<LadybirdSpider> ladybirdSpiderModel = new ProducerMethodBeanModel<LadybirdSpider>(new SimpleAnnotatedMethod<LadybirdSpider>(method), manager);
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ScopeTypeTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ScopeTypeTest.java 2008-11-05 12:27:30 UTC (rev 243)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ScopeTypeTest.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -16,8 +16,8 @@
import org.jboss.webbeans.bindings.ConversationScopedAnnotationLiteral;
import org.jboss.webbeans.bindings.RequestScopedAnnotationLiteral;
-import org.jboss.webbeans.introspector.AnnotatedType;
-import org.jboss.webbeans.introspector.SimpleAnnotatedType;
+import org.jboss.webbeans.introspector.AnnotatedClass;
+import org.jboss.webbeans.introspector.SimpleAnnotatedClass;
import org.jboss.webbeans.model.bean.SimpleBeanModel;
import org.jboss.webbeans.test.annotations.AnimalStereotype;
import org.jboss.webbeans.test.annotations.AnotherScopeType;
@@ -67,14 +67,14 @@
@Test @SpecAssertion(section="2.4.3")
public void testScopeDeclaredInJava()
{
- SimpleBeanModel<SeaBass> trout = new SimpleBeanModel<SeaBass>(new SimpleAnnotatedType<SeaBass>(SeaBass.class), getEmptyAnnotatedType(SeaBass.class), manager);
+ SimpleBeanModel<SeaBass> trout = new SimpleBeanModel<SeaBass>(new SimpleAnnotatedClass<SeaBass>(SeaBass.class), getEmptyAnnotatedType(SeaBass.class), manager);
assert trout.getScopeType().equals(RequestScoped.class);
}
@Test(expectedExceptions=DefinitionException.class) @SpecAssertion(section="2.4.3")
public void testTooManyScopesSpecifiedInJava()
{
- new SimpleBeanModel<BeanWithTooManyScopeTypes>(new SimpleAnnotatedType<BeanWithTooManyScopeTypes>(BeanWithTooManyScopeTypes.class), getEmptyAnnotatedType(BeanWithTooManyScopeTypes.class), manager);
+ new SimpleBeanModel<BeanWithTooManyScopeTypes>(new SimpleAnnotatedClass<BeanWithTooManyScopeTypes>(BeanWithTooManyScopeTypes.class), getEmptyAnnotatedType(BeanWithTooManyScopeTypes.class), manager);
}
@Test(expectedExceptions=DefinitionException.class)
@@ -83,7 +83,7 @@
Map<Class<? extends Annotation>, Annotation> annotations = new HashMap<Class<? extends Annotation>, Annotation>();
annotations.put(RequestScoped.class, new RequestScopedAnnotationLiteral());
annotations.put(ConversationScoped.class, new ConversationScopedAnnotationLiteral());
- AnnotatedType<Antelope> antelopeAnnotatedItem = new SimpleAnnotatedType<Antelope>(Antelope.class, annotations);
+ AnnotatedClass<Antelope> antelopeAnnotatedItem = new SimpleAnnotatedClass<Antelope>(Antelope.class, annotations);
new SimpleBeanModel<Antelope>(getEmptyAnnotatedType(Antelope.class), antelopeAnnotatedItem, manager);
}
@@ -92,9 +92,9 @@
{
Map<Class<? extends Annotation>, Annotation> annotations = new HashMap<Class<? extends Annotation>, Annotation>();
annotations.put(RequestScoped.class, new RequestScopedAnnotationLiteral());
- AnnotatedType<Order> annotatedItem = new SimpleAnnotatedType<Order>(Order.class, annotations);
+ AnnotatedClass<Order> annotatedItem = new SimpleAnnotatedClass<Order>(Order.class, annotations);
- SimpleBeanModel<Order> order = new SimpleBeanModel<Order>(new SimpleAnnotatedType<Order>(Order.class), annotatedItem, manager);
+ SimpleBeanModel<Order> order = new SimpleBeanModel<Order>(new SimpleAnnotatedClass<Order>(Order.class), annotatedItem, manager);
assert order.getScopeType().equals(RequestScoped.class);
}
@@ -102,9 +102,9 @@
public void testScopeMissingInXml()
{
Map<Class<? extends Annotation>, Annotation> annotations = new HashMap<Class<? extends Annotation>, Annotation>();
- AnnotatedType<SeaBass> annotatedItem = new SimpleAnnotatedType<SeaBass>(SeaBass.class, annotations);
+ AnnotatedClass<SeaBass> annotatedItem = new SimpleAnnotatedClass<SeaBass>(SeaBass.class, annotations);
- SimpleBeanModel<SeaBass> trout = new SimpleBeanModel<SeaBass>(new SimpleAnnotatedType<SeaBass>(SeaBass.class), annotatedItem, manager);
+ SimpleBeanModel<SeaBass> trout = new SimpleBeanModel<SeaBass>(new SimpleAnnotatedClass<SeaBass>(SeaBass.class), annotatedItem, manager);
assert trout.getScopeType().equals(RequestScoped.class);
}
@@ -113,15 +113,15 @@
{
Map<Class<? extends Annotation>, Annotation> annotations = new HashMap<Class<? extends Annotation>, Annotation>();
annotations.put(ConversationScoped.class, new ConversationScopedAnnotationLiteral());
- AnnotatedType<SeaBass> annotatedItem = new SimpleAnnotatedType<SeaBass>(SeaBass.class, annotations);
- SimpleBeanModel<SeaBass> trout = new SimpleBeanModel<SeaBass>(new SimpleAnnotatedType<SeaBass>(SeaBass.class), annotatedItem, manager);
+ AnnotatedClass<SeaBass> annotatedItem = new SimpleAnnotatedClass<SeaBass>(SeaBass.class, annotations);
+ SimpleBeanModel<SeaBass> trout = new SimpleBeanModel<SeaBass>(new SimpleAnnotatedClass<SeaBass>(SeaBass.class), annotatedItem, manager);
assert trout.getScopeType().equals(ConversationScoped.class);
}
@Test @SpecAssertion(section="2.4.5")
public void testDefaultScope()
{
- SimpleBeanModel<Order> order = new SimpleBeanModel<Order>(new SimpleAnnotatedType<Order>(Order.class), getEmptyAnnotatedType(Order.class), manager);
+ SimpleBeanModel<Order> order = new SimpleBeanModel<Order>(new SimpleAnnotatedClass<Order>(Order.class), getEmptyAnnotatedType(Order.class), manager);
assert order.getScopeType().equals(Dependent.class);
}
@@ -130,8 +130,8 @@
{
Map<Class<? extends Annotation>, Annotation> annotations = new HashMap<Class<? extends Annotation>, Annotation>();
annotations.put(FishStereotype.class, new FishStereotypeAnnotationLiteral());
- AnnotatedType<SeaBass> annotatedItem = new SimpleAnnotatedType<SeaBass>(SeaBass.class, annotations);
- SimpleBeanModel<SeaBass> trout = new SimpleBeanModel<SeaBass>(new SimpleAnnotatedType<SeaBass>(SeaBass.class), annotatedItem, manager);
+ AnnotatedClass<SeaBass> annotatedItem = new SimpleAnnotatedClass<SeaBass>(SeaBass.class, annotations);
+ SimpleBeanModel<SeaBass> trout = new SimpleBeanModel<SeaBass>(new SimpleAnnotatedClass<SeaBass>(SeaBass.class), annotatedItem, manager);
assert trout.getScopeType().equals(RequestScoped.class);
}
@@ -141,12 +141,12 @@
Map<Class<? extends Annotation>, Annotation> annotations = new HashMap<Class<? extends Annotation>, Annotation>();
annotations.put(FishStereotype.class, new FishStereotypeAnnotationLiteral());
annotations.put(AnimalStereotype.class, new AnimalStereotypeAnnotationLiteral());
- AnnotatedType<Haddock> annotatedItem = new SimpleAnnotatedType<Haddock>(Haddock.class, annotations);
+ AnnotatedClass<Haddock> annotatedItem = new SimpleAnnotatedClass<Haddock>(Haddock.class, annotations);
boolean exception = false;
try
{
- new SimpleBeanModel<Haddock>(new SimpleAnnotatedType<Haddock>(Haddock.class), annotatedItem, manager);
+ new SimpleBeanModel<Haddock>(new SimpleAnnotatedClass<Haddock>(Haddock.class), annotatedItem, manager);
}
catch (Exception e)
{
@@ -161,9 +161,9 @@
Map<Class<? extends Annotation>, Annotation> annotations = new HashMap<Class<? extends Annotation>, Annotation>();
annotations.put(FishStereotype.class, new FishStereotypeAnnotationLiteral());
annotations.put(AnimalStereotype.class, new AnimalStereotypeAnnotationLiteral());
- AnnotatedType<SeaBass> annotatedItem = new SimpleAnnotatedType<SeaBass>(SeaBass.class, annotations);
+ AnnotatedClass<SeaBass> annotatedItem = new SimpleAnnotatedClass<SeaBass>(SeaBass.class, annotations);
- SimpleBeanModel<SeaBass> trout = new SimpleBeanModel<SeaBass>(new SimpleAnnotatedType<SeaBass>(SeaBass.class), annotatedItem, manager);
+ SimpleBeanModel<SeaBass> trout = new SimpleBeanModel<SeaBass>(new SimpleAnnotatedClass<SeaBass>(SeaBass.class), annotatedItem, manager);
assert trout.getScopeType().equals(RequestScoped.class);
}
@@ -173,9 +173,9 @@
Map<Class<? extends Annotation>, Annotation> annotations = new HashMap<Class<? extends Annotation>, Annotation>();
annotations.put(FishStereotype.class, new FishStereotypeAnnotationLiteral());
annotations.put(RiverFishStereotype.class, new RiverFishStereotypeAnnotationLiteral());
- AnnotatedType<Haddock> annotatedItem = new SimpleAnnotatedType<Haddock>(Haddock.class, annotations);
+ AnnotatedClass<Haddock> annotatedItem = new SimpleAnnotatedClass<Haddock>(Haddock.class, annotations);
- SimpleBeanModel<Haddock> haddock = new SimpleBeanModel<Haddock>(new SimpleAnnotatedType<Haddock>(Haddock.class), annotatedItem, manager);
+ SimpleBeanModel<Haddock> haddock = new SimpleBeanModel<Haddock>(new SimpleAnnotatedClass<Haddock>(Haddock.class), annotatedItem, manager);
assert haddock.getScopeType().equals(ApplicationScoped.class);
}
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 2008-11-05 12:27:30 UTC (rev 243)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanModelTest.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -13,7 +13,7 @@
import org.jboss.webbeans.bindings.CurrentAnnotationLiteral;
import org.jboss.webbeans.injectable.InjectableParameter;
import org.jboss.webbeans.injectable.SimpleConstructor;
-import org.jboss.webbeans.introspector.SimpleAnnotatedType;
+import org.jboss.webbeans.introspector.SimpleAnnotatedClass;
import org.jboss.webbeans.model.bean.SimpleBeanModel;
import org.jboss.webbeans.test.annotations.HeavyDuty;
import org.jboss.webbeans.test.annotations.Motorized;
@@ -45,26 +45,26 @@
@Test(expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.2")
public void testAbstractClassDeclaredInJavaIsNotAllowed()
{
- new SimpleBeanModel<Cow>(new SimpleAnnotatedType<Cow>(Cow.class), getEmptyAnnotatedType(Cow.class), manager);
+ new SimpleBeanModel<Cow>(new SimpleAnnotatedClass<Cow>(Cow.class), getEmptyAnnotatedType(Cow.class), manager);
}
@Test(groups="innerClass") @SpecAssertion(section="3.2")
public void testStaticInnerClassDeclaredInJavaAllowed()
{
- new SimpleBeanModel<StaticInnerBean>(new SimpleAnnotatedType<StaticInnerBean>(StaticInnerBean.class), getEmptyAnnotatedType(StaticInnerBean.class), manager);
+ new SimpleBeanModel<StaticInnerBean>(new SimpleAnnotatedClass<StaticInnerBean>(StaticInnerBean.class), getEmptyAnnotatedType(StaticInnerBean.class), manager);
}
@Test(expectedExceptions=DefinitionException.class, groups="innerClass") @SpecAssertion(section="3.2")
public void testNonStaticInnerClassDeclaredInJavaNotAllowed()
{
- new SimpleBeanModel<InnerBean>(new SimpleAnnotatedType<InnerBean>(InnerBean.class), getEmptyAnnotatedType(InnerBean.class), manager);
+ new SimpleBeanModel<InnerBean>(new SimpleAnnotatedClass<InnerBean>(InnerBean.class), getEmptyAnnotatedType(InnerBean.class), manager);
}
@SuppressWarnings("unchecked")
@Test(expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.2")
public void testParameterizedClassDeclaredInJavaIsNotAllowed()
{
- new SimpleBeanModel<ParameterizedBean>(new SimpleAnnotatedType<ParameterizedBean>(ParameterizedBean.class), getEmptyAnnotatedType(ParameterizedBean.class), manager);
+ new SimpleBeanModel<ParameterizedBean>(new SimpleAnnotatedClass<ParameterizedBean>(ParameterizedBean.class), getEmptyAnnotatedType(ParameterizedBean.class), manager);
}
@Test(expectedExceptions=DefinitionException.class, groups={"interceptors", "decorators"}) @SpecAssertion(section="3.2")
@@ -113,19 +113,19 @@
@Test(expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.2.4")
public void testAbstractClassDeclaredInXmlIsNotAllowed()
{
- new SimpleBeanModel<Cow>(new SimpleAnnotatedType<Cow>(Cow.class), getEmptyAnnotatedType(Cow.class), manager);
+ new SimpleBeanModel<Cow>(new SimpleAnnotatedClass<Cow>(Cow.class), getEmptyAnnotatedType(Cow.class), manager);
}
@Test(groups="innerClass") @SpecAssertion(section="3.2.4")
public void testStaticInnerClassDeclaredInXmlAllowed()
{
- new SimpleBeanModel<StaticInnerBean>(new SimpleAnnotatedType<StaticInnerBean>(StaticInnerBean.class), getEmptyAnnotatedType(StaticInnerBean.class), manager);
+ new SimpleBeanModel<StaticInnerBean>(new SimpleAnnotatedClass<StaticInnerBean>(StaticInnerBean.class), getEmptyAnnotatedType(StaticInnerBean.class), manager);
}
@Test(expectedExceptions=DefinitionException.class, groups="innerClass") @SpecAssertion(section="3.2.4")
public void testNonStaticInnerClassDeclaredInXmlNotAllowed()
{
- new SimpleBeanModel<InnerBean>(new SimpleAnnotatedType<InnerBean>(InnerBean.class), getEmptyAnnotatedType(InnerBean.class), manager);
+ new SimpleBeanModel<InnerBean>(new SimpleAnnotatedClass<InnerBean>(InnerBean.class), getEmptyAnnotatedType(InnerBean.class), manager);
}
@Test(expectedExceptions=DefinitionException.class, groups="webbeansxml") @SpecAssertion(section="3.2.4")
@@ -149,7 +149,7 @@
@Test @SpecAssertion(section="3.2.5.1")
public void testInitializerAnnotatedConstructor()
{
- SimpleConstructor<Sheep> constructor = new SimpleBeanModel<Sheep>(new SimpleAnnotatedType<Sheep>(Sheep.class), getEmptyAnnotatedType(Sheep.class), manager).getConstructor();
+ SimpleConstructor<Sheep> constructor = new SimpleBeanModel<Sheep>(new SimpleAnnotatedClass<Sheep>(Sheep.class), getEmptyAnnotatedType(Sheep.class), manager).getConstructor();
assert constructor.getAnnotatedItem().getDelegate().getDeclaringClass().equals(Sheep.class);
assert constructor.getAnnotatedItem().getDelegate().getParameterTypes().length == 2;
assert constructor.getAnnotatedItem().getDelegate().getParameterTypes()[0].equals(String.class);
@@ -166,7 +166,7 @@
@Test @SpecAssertion(section="3.2.5.1")
public void testImplicitConstructorUsed()
{
- SimpleConstructor<Order> constructor = new SimpleBeanModel<Order>(new SimpleAnnotatedType<Order>(Order.class), getEmptyAnnotatedType(Order.class), manager).getConstructor();
+ SimpleConstructor<Order> constructor = new SimpleBeanModel<Order>(new SimpleAnnotatedClass<Order>(Order.class), getEmptyAnnotatedType(Order.class), manager).getConstructor();
assert constructor.getAnnotatedItem().getDelegate().getDeclaringClass().equals(Order.class);
assert constructor.getAnnotatedItem().getDelegate().getParameterTypes().length == 0;
assert constructor.getParameters().size() == 0;
@@ -175,7 +175,7 @@
@Test @SpecAssertion(section="3.2.5.1")
public void testEmptyConstructorUsed()
{
- SimpleConstructor<Donkey> constructor = new SimpleBeanModel<Donkey>(new SimpleAnnotatedType<Donkey>(Donkey.class), getEmptyAnnotatedType(Donkey.class), manager).getConstructor();
+ SimpleConstructor<Donkey> constructor = new SimpleBeanModel<Donkey>(new SimpleAnnotatedClass<Donkey>(Donkey.class), getEmptyAnnotatedType(Donkey.class), manager).getConstructor();
assert constructor.getAnnotatedItem().getDelegate().getDeclaringClass().equals(Donkey.class);
assert constructor.getAnnotatedItem().getDelegate().getParameterTypes().length == 0;
assert constructor.getParameters().size() == 0;
@@ -184,7 +184,7 @@
@Test @SpecAssertion(section="3.2.5.1")
public void testInitializerAnnotatedConstructorUsedOverEmptyConstuctor()
{
- SimpleConstructor<Turkey> constructor = new SimpleBeanModel<Turkey>(new SimpleAnnotatedType<Turkey>(Turkey.class), getEmptyAnnotatedType(Turkey.class), manager).getConstructor();
+ SimpleConstructor<Turkey> constructor = new SimpleBeanModel<Turkey>(new SimpleAnnotatedClass<Turkey>(Turkey.class), getEmptyAnnotatedType(Turkey.class), manager).getConstructor();
assert constructor.getParameters().size() == 2;
Iterator<InjectableParameter<?>> it = constructor.getParameters().iterator();
assert it.next().getType().equals(String.class);
@@ -194,25 +194,25 @@
@Test(expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.2.5.1")
public void testTooManyInitializerAnnotatedConstructor()
{
- new SimpleBeanModel<Chicken>(new SimpleAnnotatedType<Chicken>(Chicken.class), getEmptyAnnotatedType(Chicken.class), manager);
+ new SimpleBeanModel<Chicken>(new SimpleAnnotatedClass<Chicken>(Chicken.class), getEmptyAnnotatedType(Chicken.class), manager);
}
@Test(expectedExceptions=DefinitionException.class, groups="disposalMethod") @SpecAssertion(section="3.2.5.1")
public void testConstructorHasDisposesParameter()
{
- new SimpleBeanModel<Chicken>(new SimpleAnnotatedType<Chicken>(Chicken.class), getEmptyAnnotatedType(Chicken.class), manager);
+ new SimpleBeanModel<Chicken>(new SimpleAnnotatedClass<Chicken>(Chicken.class), getEmptyAnnotatedType(Chicken.class), manager);
}
@Test(expectedExceptions=DefinitionException.class, groups="observerMethod") @SpecAssertion(section="3.2.5.1")
public void testConstructorHasObservesParameter()
{
- new SimpleBeanModel<Chicken>(new SimpleAnnotatedType<Chicken>(Chicken.class), getEmptyAnnotatedType(Chicken.class), manager);
+ new SimpleBeanModel<Chicken>(new SimpleAnnotatedClass<Chicken>(Chicken.class), getEmptyAnnotatedType(Chicken.class), manager);
}
@Test(groups="webbeansxml") @SpecAssertion(section="3.2.5.2")
public void testImplicitConstructorDeclaredInXmlUsed()
{
- SimpleConstructor<Order> constructor = new SimpleBeanModel<Order>(new SimpleAnnotatedType<Order>(Order.class), getEmptyAnnotatedType(Order.class), manager).getConstructor();
+ SimpleConstructor<Order> constructor = new SimpleBeanModel<Order>(new SimpleAnnotatedClass<Order>(Order.class), getEmptyAnnotatedType(Order.class), manager).getConstructor();
assert constructor.getAnnotatedItem().getDelegate().getDeclaringClass().equals(Order.class);
assert constructor.getAnnotatedItem().getDelegate().getParameterTypes().length == 0;
assert constructor.getParameters().size() == 0;
@@ -222,7 +222,7 @@
@Test(groups="webbeansxml") @SpecAssertion(section="3.2.5.2")
public void testEmptyConstructorDeclaredInXmlUsed()
{
- SimpleConstructor<Donkey> constructor = new SimpleBeanModel<Donkey>(new SimpleAnnotatedType<Donkey>(Donkey.class), getEmptyAnnotatedType(Donkey.class), manager).getConstructor(); assert constructor.getAnnotatedItem().getDelegate().getDeclaringClass().equals(Order.class);
+ SimpleConstructor<Donkey> constructor = new SimpleBeanModel<Donkey>(new SimpleAnnotatedClass<Donkey>(Donkey.class), getEmptyAnnotatedType(Donkey.class), manager).getConstructor(); assert constructor.getAnnotatedItem().getDelegate().getDeclaringClass().equals(Order.class);
assert constructor.getAnnotatedItem().getDelegate().getParameterTypes().length == 0;
assert constructor.getParameters().size() == 0;
assert false;
@@ -243,7 +243,7 @@
@Test @SpecAssertion(section="3.2.5.3")
public void testBindingTypeAnnotatedConstructor()
{
- SimpleConstructor<Duck> constructor = new SimpleBeanModel<Duck>(new SimpleAnnotatedType<Duck>(Duck.class), getEmptyAnnotatedType(Duck.class), manager).getConstructor();
+ SimpleConstructor<Duck> constructor = new SimpleBeanModel<Duck>(new SimpleAnnotatedClass<Duck>(Duck.class), getEmptyAnnotatedType(Duck.class), manager).getConstructor();
assert constructor.getAnnotatedItem().getDelegate().getDeclaringClass().equals(Duck.class);
assert constructor.getParameters().size() == 2;
Iterator<InjectableParameter<?>> it = constructor.getParameters().iterator();
@@ -261,7 +261,7 @@
@Test(groups="specialization") @SpecAssertion(section="3.2.6")
public void testSpecializedClassInheritsBindingTypes()
{
- SimpleBeanModel<Tractor> bean = new SimpleBeanModel<Tractor>(new SimpleAnnotatedType<Tractor>(Tractor.class), getEmptyAnnotatedType(Tractor.class), manager);
+ SimpleBeanModel<Tractor> bean = new SimpleBeanModel<Tractor>(new SimpleAnnotatedClass<Tractor>(Tractor.class), getEmptyAnnotatedType(Tractor.class), manager);
assert bean.getBindingTypes().size()==2;
assert bean.getBindingTypes().contains( new AnnotationLiteral<Motorized>() {} );
assert bean.getBindingTypes().contains( new AnnotationLiteral<HeavyDuty>() {} );
@@ -270,7 +270,7 @@
@Test(groups="specialization") @SpecAssertion(section="3.2.6")
public void testSpecializedClassInheritsName()
{
- SimpleBeanModel<Tractor> bean = new SimpleBeanModel<Tractor>(new SimpleAnnotatedType<Tractor>(Tractor.class), getEmptyAnnotatedType(Tractor.class), manager);
+ SimpleBeanModel<Tractor> bean = new SimpleBeanModel<Tractor>(new SimpleAnnotatedClass<Tractor>(Tractor.class), getEmptyAnnotatedType(Tractor.class), manager);
assert bean.getName()!=null;
assert bean.getName().equals("plough");
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/StereotypesTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/StereotypesTest.java 2008-11-05 12:27:30 UTC (rev 243)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/StereotypesTest.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -11,8 +11,8 @@
import javax.webbeans.DefinitionException;
import javax.webbeans.RequestScoped;
-import org.jboss.webbeans.introspector.AnnotatedType;
-import org.jboss.webbeans.introspector.SimpleAnnotatedType;
+import org.jboss.webbeans.introspector.AnnotatedClass;
+import org.jboss.webbeans.introspector.SimpleAnnotatedClass;
import org.jboss.webbeans.model.StereotypeModel;
import org.jboss.webbeans.model.bean.SimpleBeanModel;
import org.jboss.webbeans.test.annotations.AnimalOrderStereotype;
@@ -153,7 +153,7 @@
@Test @SpecAssertion(section={"2.7.2", "2.7.4"})
public void testMultipleStereotypes()
{
- SimpleBeanModel<HighlandCow> highlandCow = new SimpleBeanModel<HighlandCow>(new SimpleAnnotatedType<HighlandCow>(HighlandCow.class), getEmptyAnnotatedType(HighlandCow.class), manager);
+ SimpleBeanModel<HighlandCow> highlandCow = new SimpleBeanModel<HighlandCow>(new SimpleAnnotatedClass<HighlandCow>(HighlandCow.class), getEmptyAnnotatedType(HighlandCow.class), manager);
assert highlandCow.getName() == null;
assert highlandCow.getBindingTypes().iterator().next().annotationType().equals(Tame.class);
assert highlandCow.getScopeType().equals(RequestScoped.class);
@@ -169,7 +169,7 @@
{
Map<Class<? extends Annotation>, Annotation> cooXmlAnnotations = new HashMap<Class<? extends Annotation>, Annotation>();
cooXmlAnnotations.put(HornedMammalStereotype.class, new HornedMamalStereotypeAnnotationLiteral());
- AnnotatedType<HighlandCow> cooXmlAnnotatedItem = new SimpleAnnotatedType<HighlandCow>(HighlandCow.class, cooXmlAnnotations);
+ AnnotatedClass<HighlandCow> cooXmlAnnotatedItem = new SimpleAnnotatedClass<HighlandCow>(HighlandCow.class, cooXmlAnnotations);
SimpleBeanModel<HighlandCow> coo = createSimpleModel(HighlandCow.class, cooXmlAnnotatedItem, manager);
assert coo.getDeploymentType().equals(HornedAnimalDeploymentType.class);
@@ -185,7 +185,7 @@
Map<Class<? extends Annotation>, Annotation> cooXmlAnnotations = new HashMap<Class<? extends Annotation>, Annotation>();
cooXmlAnnotations.put(HornedMammalStereotype.class, new HornedMamalStereotypeAnnotationLiteral());
cooXmlAnnotations.put(Synchronous.class, new SynchronousAnnotationLiteral());
- AnnotatedType<HighlandCow> cooXmlAnnotatedItem = new SimpleAnnotatedType<HighlandCow>(HighlandCow.class, cooXmlAnnotations);
+ AnnotatedClass<HighlandCow> cooXmlAnnotatedItem = new SimpleAnnotatedClass<HighlandCow>(HighlandCow.class, cooXmlAnnotations);
SimpleBeanModel<HighlandCow> coo = createSimpleModel(HighlandCow.class, cooXmlAnnotatedItem, manager);
assert coo.getBindingTypes().size() == 1;
@@ -196,25 +196,25 @@
@Test@SpecAssertion(section="2.7.4")
public void testRequiredTypeIsImplemented()
{
- new SimpleBeanModel<HighlandCow>(new SimpleAnnotatedType<HighlandCow>(HighlandCow.class), getEmptyAnnotatedType(HighlandCow.class), manager);
+ new SimpleBeanModel<HighlandCow>(new SimpleAnnotatedClass<HighlandCow>(HighlandCow.class), getEmptyAnnotatedType(HighlandCow.class), manager);
}
@Test(expectedExceptions=DefinitionException.class) @SpecAssertion(section="2.7.4")
public void testRequiredTypeIsNotImplemented()
{
- new SimpleBeanModel<Chair>(new SimpleAnnotatedType<Chair>(Chair.class), getEmptyAnnotatedType(Chair.class), manager);
+ new SimpleBeanModel<Chair>(new SimpleAnnotatedClass<Chair>(Chair.class), getEmptyAnnotatedType(Chair.class), manager);
}
@Test @SpecAssertion(section="2.7.4")
public void testScopeIsSupported()
{
- new SimpleBeanModel<Goldfish>(new SimpleAnnotatedType<Goldfish>(Goldfish.class), getEmptyAnnotatedType(Goldfish.class), manager);
+ new SimpleBeanModel<Goldfish>(new SimpleAnnotatedClass<Goldfish>(Goldfish.class), getEmptyAnnotatedType(Goldfish.class), manager);
}
@Test(expectedExceptions=DefinitionException.class) @SpecAssertion(section="2.7.4")
public void testScopeIsNotSupported()
{
- new SimpleBeanModel<Carp>(new SimpleAnnotatedType<Carp>(Carp.class), getEmptyAnnotatedType(Carp.class), manager);
+ new SimpleBeanModel<Carp>(new SimpleAnnotatedClass<Carp>(Carp.class), getEmptyAnnotatedType(Carp.class), manager);
}
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/TypeTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/TypeTest.java 2008-11-05 12:27:30 UTC (rev 243)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/TypeTest.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -2,7 +2,7 @@
import static org.jboss.webbeans.test.util.Util.getEmptyAnnotatedType;
-import org.jboss.webbeans.introspector.SimpleAnnotatedType;
+import org.jboss.webbeans.introspector.SimpleAnnotatedClass;
import org.jboss.webbeans.model.bean.SimpleBeanModel;
import org.jboss.webbeans.test.beans.Haddock;
import org.testng.annotations.Test;
@@ -13,7 +13,7 @@
@Test @SpecAssertion(section="2.6.3")
public void testDefaultNamed()
{
- SimpleBeanModel<Haddock> haddock = new SimpleBeanModel<Haddock>(new SimpleAnnotatedType<Haddock>(Haddock.class), getEmptyAnnotatedType(Haddock.class), manager);
+ SimpleBeanModel<Haddock> haddock = new SimpleBeanModel<Haddock>(new SimpleAnnotatedClass<Haddock>(Haddock.class), getEmptyAnnotatedType(Haddock.class), manager);
assert haddock.getName() != null;
assert haddock.getName().equals("haddock");
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java 2008-11-05 12:27:30 UTC (rev 243)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java 2008-11-05 13:02:04 UTC (rev 244)
@@ -5,8 +5,8 @@
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.SimpleBeanImpl;
-import org.jboss.webbeans.introspector.AnnotatedType;
-import org.jboss.webbeans.introspector.SimpleAnnotatedType;
+import org.jboss.webbeans.introspector.AnnotatedClass;
+import org.jboss.webbeans.introspector.SimpleAnnotatedClass;
import org.jboss.webbeans.model.bean.EnterpriseBeanModel;
import org.jboss.webbeans.model.bean.SimpleBeanModel;
@@ -19,27 +19,27 @@
public static <T> SimpleBeanModel<T> createSimpleModel(Class<T> clazz, ManagerImpl manager)
{
- return new SimpleBeanModel<T>(new SimpleAnnotatedType<T>(clazz), getEmptyAnnotatedType(clazz), manager);
+ return new SimpleBeanModel<T>(new SimpleAnnotatedClass<T>(clazz), getEmptyAnnotatedType(clazz), manager);
}
- public static <T> SimpleBeanModel<T> createSimpleModel(Class<T> clazz, AnnotatedType<T> xmlAnnotatedType, ManagerImpl manager)
+ public static <T> SimpleBeanModel<T> createSimpleModel(Class<T> clazz, AnnotatedClass<T> xmlAnnotatedType, ManagerImpl manager)
{
- return new SimpleBeanModel<T>(new SimpleAnnotatedType<T>(clazz), xmlAnnotatedType, manager);
+ return new SimpleBeanModel<T>(new SimpleAnnotatedClass<T>(clazz), xmlAnnotatedType, manager);
}
public static <T> EnterpriseBeanModel<T> createEnterpriseBeanModel(Class<T> clazz, ManagerImpl manager)
{
- return new EnterpriseBeanModel<T>(new SimpleAnnotatedType<T>(clazz), getEmptyAnnotatedType(clazz), manager);
+ return new EnterpriseBeanModel<T>(new SimpleAnnotatedClass<T>(clazz), getEmptyAnnotatedType(clazz), manager);
}
- public static <T> EnterpriseBeanModel<T> createEnterpriseBeanModel(Class<T> clazz, AnnotatedType<T> xmlAnnotatedType, ManagerImpl manager)
+ public static <T> EnterpriseBeanModel<T> createEnterpriseBeanModel(Class<T> clazz, AnnotatedClass<T> xmlAnnotatedType, ManagerImpl manager)
{
- return new EnterpriseBeanModel<T>(new SimpleAnnotatedType<T>(clazz), xmlAnnotatedType, manager);
+ return new EnterpriseBeanModel<T>(new SimpleAnnotatedClass<T>(clazz), xmlAnnotatedType, manager);
}
- public static <T> AnnotatedType<T> getEmptyAnnotatedType(Class<T> type)
+ public static <T> AnnotatedClass<T> getEmptyAnnotatedType(Class<T> type)
{
- return new SimpleAnnotatedType<T>(type, new HashMap<Class<? extends Annotation>, Annotation>());
+ return new SimpleAnnotatedClass<T>(type, new HashMap<Class<? extends Annotation>, Annotation>());
}
15 years, 5 months
[webbeans-commits] Webbeans SVN: r243 - in ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans: model/bean and 1 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-11-05 07:27:30 -0500 (Wed, 05 Nov 2008)
New Revision: 243
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/SimpleAnnotatedType.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractBeanModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractClassBeanModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/Reflections.java
Log:
Start to check init methods
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 2008-11-04 19:00:48 UTC (rev 242)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedType.java 2008-11-05 12:27:30 UTC (rev 243)
@@ -33,7 +33,7 @@
* If no annotations are present which are annotated with the given
* annotation an empty set is returned
*/
- public Set<AnnotatedField<Object>> getAnnotatedField(Class<? extends Annotation> annotationType);
+ public Set<AnnotatedField<Object>> getAnnotatedFields(Class<? extends Annotation> annotationType);
/**
* Get all fields which are annotated with the given meta annotation
@@ -45,4 +45,14 @@
public Set<AnnotatedField<Object>> getMetaAnnotatedFields(
Class<? extends Annotation> metaAnnotationType);
+ /**
+ * Get all fields which are annotated with the given meta annotation
+ * type
+ *
+ * If no annotations are present which are annotated with the given meta
+ * annotation an empty set is returned
+ */
+ public Set<AnnotatedMethod<Object>> getAnnotatedMethods(
+ Class<? extends Annotation> annotationType);
+
}
\ No newline at end of file
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedType.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedType.java 2008-11-04 19:00:48 UTC (rev 242)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedType.java 2008-11-05 12:27:30 UTC (rev 243)
@@ -2,6 +2,7 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
+import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.HashMap;
@@ -25,6 +26,9 @@
private Map<Class<? extends Annotation>, Set<AnnotatedField<Object>>> annotatedFields;
private Map<Class<? extends Annotation>, Set<AnnotatedField<Object>>> metaAnnotatedFields;
+ private Set<AnnotatedMethod<Object>> methods;
+ private Map<Class<? extends Annotation>, Set<AnnotatedMethod<Object>>> annotatedMethods;
+
public SimpleAnnotatedType(Class<T> annotatedClass, Map<Class<? extends Annotation>, Annotation> annotationMap)
{
super(annotationMap);
@@ -108,7 +112,7 @@
return metaAnnotatedFields;
}
- public Set<AnnotatedField<Object>> getAnnotatedField(
+ public Set<AnnotatedField<Object>> getAnnotatedFields(
Class<? extends Annotation> annotationType)
{
if (annotatedFields == null)
@@ -147,5 +151,51 @@
{
return actualTypeArguments;
}
+
+ private void initMethods()
+ {
+ this.methods = new HashSet<AnnotatedMethod<Object>>();
+ for (Method member : clazz.getDeclaredMethods())
+ {
+ methods.add(new SimpleAnnotatedMethod<Object>(member));
+ }
+ }
+
+ public Set<AnnotatedMethod<Object>> getAnnotatedMethods(Class<? extends Annotation> annotationType)
+ {
+ if (annotatedMethods == null)
+ {
+ initAnnotatedMethods();
+ }
+
+ if (!annotatedMethods.containsKey(annotationType))
+ {
+ return new HashSet<AnnotatedMethod<Object>>();
+ }
+ else
+ {
+ return annotatedMethods.get(annotationType);
+ }
+ }
+ private void initAnnotatedMethods()
+ {
+ if (methods == null)
+ {
+ initMethods();
+ }
+ annotatedMethods = new HashMap<Class<? extends Annotation>, Set<AnnotatedMethod<Object>>>();
+ for (AnnotatedMethod<Object> member : methods)
+ {
+ for (Annotation annotation : member.getAnnotations())
+ {
+ if (!annotatedMethods.containsKey(annotation))
+ {
+ annotatedMethods.put(annotation.annotationType(), new HashSet<AnnotatedMethod<Object>>());
+ }
+ annotatedMethods.get(annotation.annotationType()).add(member);
+ }
+ }
+ }
+
}
\ No newline at end of file
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractBeanModel.java 2008-11-04 19:00:48 UTC (rev 242)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractBeanModel.java 2008-11-05 12:27:30 UTC (rev 243)
@@ -278,7 +278,7 @@
if (deploymentTypes.size() > 1)
{
- throw new DefinitionException("At most one deployment type may be specified (" + deploymentTypes + " are specified) on " + getAnnotatedItem().getDelegate());
+ throw new DefinitionException("At most one deployment type may be specified (" + deploymentTypes + " are specified) on " + getAnnotatedItem().toString());
}
if (deploymentTypes.size() == 1)
{
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractClassBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractClassBeanModel.java 2008-11-04 19:00:48 UTC (rev 242)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractClassBeanModel.java 2008-11-05 12:27:30 UTC (rev 243)
@@ -6,10 +6,15 @@
import javax.webbeans.BindingType;
import javax.webbeans.DefinitionException;
+import javax.webbeans.Destructor;
+import javax.webbeans.Initializer;
+import javax.webbeans.Produces;
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.injectable.InjectableField;
+import org.jboss.webbeans.injectable.InjectableMethod;
import org.jboss.webbeans.introspector.AnnotatedField;
+import org.jboss.webbeans.introspector.AnnotatedMethod;
import org.jboss.webbeans.introspector.AnnotatedType;
import org.jboss.webbeans.util.LoggerUtil;
import org.jboss.webbeans.util.Reflections;
@@ -31,6 +36,7 @@
private AnnotatedType<T> annotatedItem;
private AnnotatedType<T> xmlAnnotatedItem;
private Set<InjectableField<?>> injectableFields;
+ private Set<InjectableMethod<Object>> initializerMethods;
/**
*
@@ -62,6 +68,7 @@
// TODO This is too high
checkBeanImplementation();
// TODO Interceptors
+ initInitializerMethods();
}
@Override
@@ -119,6 +126,27 @@
}
}
+ protected void initInitializerMethods()
+ {
+ // TODO Support XML
+ initializerMethods = new HashSet<InjectableMethod<Object>>();
+ for (AnnotatedMethod<Object> annotatedMethod : annotatedItem.getAnnotatedMethods(Initializer.class))
+ {
+ if (Reflections.isStatic(annotatedMethod.getDelegate()))
+ {
+ throw new DefinitionException("Initializer method " + annotatedMethod.toString() + " cannot be static");
+ }
+ if (annotatedMethod.getAnnotation(Produces.class) != null)
+ {
+ throw new DefinitionException("Initializer method " + annotatedMethod.toString() + " cannot be annotated @Produces");
+ }
+ if (annotatedMethod.getAnnotation(Destructor.class) != null)
+ {
+ throw new DefinitionException("Initializer method " + annotatedMethod.toString() + " cannot be annotated @Destructor");
+ }
+ }
+ }
+
@Override
protected String getDefaultName()
{
@@ -170,5 +198,10 @@
{
return injectableFields;
}
+
+ public Set<InjectableMethod<Object>> getInitializerMethods()
+ {
+ return initializerMethods;
+ }
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/Reflections.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/Reflections.java 2008-11-04 19:00:48 UTC (rev 242)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/Reflections.java 2008-11-05 12:27:30 UTC (rev 243)
@@ -96,6 +96,11 @@
return Modifier.isStatic(field.getModifiers());
}
+ public static boolean isStatic(Method method)
+ {
+ return Modifier.isStatic(method.getModifiers());
+ }
+
public static boolean isAbstract(Class<?> clazz)
{
return Modifier.isAbstract(clazz.getModifiers());
15 years, 5 months
[webbeans-commits] Webbeans SVN: r242 - in ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test: beans and 1 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-11-04 14:00:48 -0500 (Tue, 04 Nov 2008)
New Revision: 242
Added:
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/ChickenHutch.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Capercaillie.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Dottrel.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Grouse.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Pheasant.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Shrike.java
Modified:
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InitializerMethodTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanLifecycleTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Chicken.java
Log:
Implement initializer tests
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InitializerMethodTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InitializerMethodTest.java 2008-11-04 18:36:46 UTC (rev 241)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InitializerMethodTest.java 2008-11-04 19:00:48 UTC (rev 242)
@@ -1,17 +1,29 @@
package org.jboss.webbeans.test;
+import static org.jboss.webbeans.test.util.Util.createSimpleWebBean;
+
import javax.webbeans.DefinitionException;
import javax.webbeans.NonexistentMethodException;
+import javax.webbeans.manager.Bean;
+import org.jboss.webbeans.test.beans.Chicken;
+import org.jboss.webbeans.test.beans.ChickenHutch;
+import org.jboss.webbeans.test.beans.Fox;
+import org.jboss.webbeans.test.beans.broken.Capercaillie;
+import org.jboss.webbeans.test.beans.broken.Dottrel;
+import org.jboss.webbeans.test.beans.broken.Grouse;
+import org.jboss.webbeans.test.beans.broken.Pheasant;
+import org.jboss.webbeans.test.beans.broken.Shrike;
import org.testng.annotations.Test;
-public class InitializerMethodTest
+@SpecVersion("PDR")
+public class InitializerMethodTest extends AbstractTest
{
@Test(expectedExceptions=DefinitionException.class, groups="initializerMethod") @SpecAssertion(section="3.7")
public void testStaticInitializerMethodNotAllowed()
{
- assert false;
+ createSimpleWebBean(Dottrel.class, manager);
}
@Test(groups={"initializerMethod", "servlet"}) @SpecAssertion(section="3.7")
@@ -50,34 +62,40 @@
assert false;
}
- @Test(groups={"initializerMethod"}) @SpecAssertion(section="3.7")
+ @Test(groups={"initializerMethod"}) @SpecAssertion(section={"3.7", "5.3", "3.7.2", "3.7.3"})
public void testMultipleInitializerMethodsAreCalled()
{
- assert false;
+ manager.addBean(createSimpleWebBean(Fox.class, manager));
+ manager.addBean(createSimpleWebBean(Chicken.class, manager));
+
+ Bean<ChickenHutch> chickenHutchBean = createSimpleWebBean(ChickenHutch.class, manager);
+ ChickenHutch chickenHutch = chickenHutchBean.create();
+ assert chickenHutch.chicken != null;
+ assert chickenHutch.fox != null;
}
@Test(groups="initializerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.7.1")
public void testInitializerMethodAnnotatedProduces()
{
- assert false;
+ createSimpleWebBean(Pheasant.class, manager);
}
@Test(groups="initializerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.7.1")
public void testInitializerMethodAnnotatedDestructor()
{
- assert false;
+ createSimpleWebBean(Shrike.class, manager);
}
@Test(groups="initializerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.7.1")
public void testInitializerMethodHasParameterAnnotatedDisposes()
{
- assert false;
+ createSimpleWebBean(Capercaillie.class, manager);
}
@Test(groups="initializerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.7.1")
public void testInitializerMethodHasParameterAnnotatedObserves()
{
- assert false;
+ createSimpleWebBean(Grouse.class, manager);
}
@Test(groups={"initializerMethod", "webbeansxml"}) @SpecAssertion(section="3.7.2")
@@ -98,24 +116,12 @@
assert false;
}
- @Test(groups={"initializerMethod"}) @SpecAssertion(section="3.7.2")
- public void testBeanHasAllInitializerMethodsDeclaredInJava()
- {
- assert false;
- }
-
@Test(groups={"initializerMethod", "webbeansxml"}) @SpecAssertion(section="3.7.2")
public void testBeanHasAllInitializerMethodsDeclaredInJavaAndXml()
{
assert false;
}
- @Test(groups={"initializerMethod"}) @SpecAssertion(section="3.7.3")
- public void testInitializerMethodParametersAreInjected()
- {
- assert false;
- }
-
/*
@Test(groups="initializerMethod") @SpecAssertion(section="3.7")
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanLifecycleTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanLifecycleTest.java 2008-11-04 18:36:46 UTC (rev 241)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanLifecycleTest.java 2008-11-04 19:00:48 UTC (rev 242)
@@ -81,12 +81,6 @@
assert tunaFarm.tuna != null;
}
- @Test(groups="initializerMethod") @SpecAssertion(section="5.3")
- public void testInitializerMethodsCalled()
- {
- assert false;
- }
-
@Test(groups={"beanConstruction", "commonAnnotations"}) @SpecAssertion(section="5.3")
public void testPostConstructMethodCalled()
{
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Chicken.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Chicken.java 2008-11-04 18:36:46 UTC (rev 241)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Chicken.java 2008-11-04 19:00:48 UTC (rev 242)
@@ -1,21 +1,10 @@
package org.jboss.webbeans.test.beans;
-import javax.webbeans.Initializer;
import javax.webbeans.Production;
@Production
public class Chicken
{
- @Initializer
- public Chicken(String foo)
- {
- }
-
- @Initializer
- public Chicken(String foo, Double bar)
- {
-
- }
}
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/ChickenHutch.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/ChickenHutch.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/ChickenHutch.java 2008-11-04 19:00:48 UTC (rev 242)
@@ -0,0 +1,23 @@
+package org.jboss.webbeans.test.beans;
+
+import javax.webbeans.Initializer;
+
+public class ChickenHutch
+{
+
+ public Fox fox;
+ public Chicken chicken;
+
+ @Initializer
+ public void setFox(Fox fox)
+ {
+ this.fox = fox;
+ }
+
+ @Initializer
+ public void setChicken(Chicken chicken)
+ {
+ this.chicken = chicken;
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/ChickenHutch.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Capercaillie.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Capercaillie.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Capercaillie.java 2008-11-04 19:00:48 UTC (rev 242)
@@ -0,0 +1,17 @@
+package org.jboss.webbeans.test.beans.broken;
+
+import javax.webbeans.Disposes;
+import javax.webbeans.Initializer;
+
+import org.jboss.webbeans.test.beans.ChickenHutch;
+
+public class Capercaillie
+{
+
+ @Initializer
+ public void setName(String name, @Disposes ChickenHutch chickenHutch)
+ {
+ // No-op
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Capercaillie.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Dottrel.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Dottrel.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Dottrel.java 2008-11-04 19:00:48 UTC (rev 242)
@@ -0,0 +1,14 @@
+package org.jboss.webbeans.test.beans.broken;
+
+import javax.webbeans.Initializer;
+
+public class Dottrel
+{
+
+ @Initializer
+ public static void setName(String name)
+ {
+ // No-op
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Dottrel.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Grouse.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Grouse.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Grouse.java 2008-11-04 19:00:48 UTC (rev 242)
@@ -0,0 +1,16 @@
+package org.jboss.webbeans.test.beans.broken;
+
+import javax.webbeans.Observes;
+
+import org.jboss.webbeans.test.beans.DangerCall;
+
+
+public class Grouse
+{
+
+ public void setName(String name, @Observes DangerCall dangerCall)
+ {
+ // No-op
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Grouse.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Pheasant.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Pheasant.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Pheasant.java 2008-11-04 19:00:48 UTC (rev 242)
@@ -0,0 +1,16 @@
+package org.jboss.webbeans.test.beans.broken;
+
+import javax.webbeans.Initializer;
+import javax.webbeans.Produces;
+
+public class Pheasant
+{
+
+ @Initializer
+ @Produces
+ public void setName(String name)
+ {
+ // No-op
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Pheasant.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Shrike.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Shrike.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Shrike.java 2008-11-04 19:00:48 UTC (rev 242)
@@ -0,0 +1,17 @@
+package org.jboss.webbeans.test.beans.broken;
+
+import javax.webbeans.Destructor;
+import javax.webbeans.Initializer;
+
+public class Shrike
+{
+
+
+ @Initializer
+ @Destructor
+ public void setName(String name)
+ {
+ // No-op
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Shrike.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
15 years, 5 months