[webbeans-commits] Webbeans SVN: r127 - in ri/trunk/webbeans-ri/src: main/java/org/jboss/webbeans/bindings and 7 other directories.
webbeans-commits at lists.jboss.org
webbeans-commits at lists.jboss.org
Thu Oct 23 09:45:33 EDT 2008
Author: pete.muir at jboss.org
Date: 2008-10-23 09:45:33 -0400 (Thu, 23 Oct 2008)
New Revision: 127
Added:
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InjectableTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/components/Farm.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/EmptyAnnotatedType.java
Removed:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bindings/NamedAnnotationLiteral.java
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/BeanImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ResolutionManager.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/ComponentConstructor.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/InjectableParameterWrapper.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableWrapper.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/SimpleConstructor.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/Unit.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/SimpleAnnotatedType.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/AbstractClassComponentModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/AbstractComponentModel.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/AbstractModelTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ConstructorModelTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EnterpriseComponentModelTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleComponentModelTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/StereotypeModelTest.java
Log:
All tests which should pass do, use sets consistently
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/BeanImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/BeanImpl.java 2008-10-23 12:30:43 UTC (rev 126)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/BeanImpl.java 2008-10-23 13:45:33 UTC (rev 127)
@@ -5,7 +5,6 @@
import java.util.logging.Logger;
import javax.webbeans.manager.Bean;
-import javax.webbeans.manager.Manager;
import org.jboss.webbeans.model.AbstractComponentModel;
import org.jboss.webbeans.util.LoggerUtil;
@@ -18,6 +17,8 @@
private static Logger log = LoggerUtil.getLogger(LOGGER_NAME);
private AbstractComponentModel<T, ?> componentMetaModel;
+
+ private ManagerImpl manager;
public BeanImpl(AbstractComponentModel<T, ?> componentMetaModel, ManagerImpl manager)
{
@@ -28,7 +29,7 @@
@Override
public T create()
{
- return componentMetaModel.getConstructor().invoke(getManager());
+ return componentMetaModel.getConstructor().invoke(manager);
}
@Override
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-10-23 12:30:43 UTC (rev 126)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java 2008-10-23 13:45:33 UTC (rev 127)
@@ -24,185 +24,216 @@
import org.jboss.webbeans.event.EventBus;
import org.jboss.webbeans.injectable.SimpleInjectable;
-public class ManagerImpl implements Manager {
+public class ManagerImpl implements Manager
+{
- private List<Annotation> enabledDeploymentTypes;
- private ModelManager modelManager;
- private EjbManager ejbLookupManager;
- private EventBus eventBus;
- private ResolutionManager resolutionManager;
+ private List<Annotation> enabledDeploymentTypes;
+ private ModelManager modelManager;
+ private EjbManager ejbLookupManager;
+ private EventBus eventBus;
+ private ResolutionManager resolutionManager;
- private boolean containerInitialized = false;
+ private ThreadLocal<Map<Class<Annotation>, Context>> contexts = new ThreadLocal<Map<Class<Annotation>, Context>>();
- private ThreadLocal<Map<Class<Annotation>, Context>> contexts = new ThreadLocal<Map<Class<Annotation>, Context>>();
+ private Set<Bean<?>> beans;
- private Set<Bean<?>> beans;
+ public ManagerImpl(List<Annotation> enabledDeploymentTypes)
+ {
+ initEnabledDeploymentTypes(enabledDeploymentTypes);
+ this.modelManager = new ModelManager();
+ this.ejbLookupManager = new EjbManager();
+ this.beans = new HashSet<Bean<?>>();
+ this.eventBus = new EventBus();
+ resolutionManager = new ResolutionManager(this);
+ }
- public ManagerImpl(List<Annotation> enabledDeploymentTypes) {
- initEnabledDeploymentTypes(enabledDeploymentTypes);
- this.modelManager = new ModelManager();
- this.ejbLookupManager = new EjbManager();
- this.beans = new HashSet<Bean<?>>();
- this.eventBus = new EventBus();
- resolutionManager = new ResolutionManager(this);
- }
+ private void initEnabledDeploymentTypes(
+ List<Annotation> enabledDeploymentTypes)
+ {
+ this.enabledDeploymentTypes = new ArrayList<Annotation>();
+ if (enabledDeploymentTypes == null)
+ {
+ this.enabledDeploymentTypes.add(0, new StandardAnnotationLiteral());
+ this.enabledDeploymentTypes.add(1, new ProductionAnnotationLiteral());
+ } else
+ {
+ this.enabledDeploymentTypes.addAll(enabledDeploymentTypes);
+ if (!this.enabledDeploymentTypes.get(0).annotationType().equals(
+ Standard.class))
+ {
+ throw new RuntimeException(
+ "@Standard must be the lowest precedence deployment type");
+ }
+ }
+ }
- private void initEnabledDeploymentTypes(
- List<Annotation> enabledDeploymentTypes) {
- this.enabledDeploymentTypes = new ArrayList<Annotation>();
- if (enabledDeploymentTypes == null) {
- this.enabledDeploymentTypes.add(0, new StandardAnnotationLiteral());
- this.enabledDeploymentTypes.add(1,
- new ProductionAnnotationLiteral());
- } else {
- this.enabledDeploymentTypes.addAll(enabledDeploymentTypes);
- if (!this.enabledDeploymentTypes.get(0).annotationType().equals(
- Standard.class)) {
- throw new RuntimeException(
- "@Standard must be the lowest precedence deployment type");
- }
- }
- }
+ public Manager addBean(Bean<?> bean)
+ {
+ beans.add(bean);
+ return this;
+ }
- public Manager addBean(Bean<?> bean) {
- beans.add(bean);
- if (containerInitialized) {
- // TODO Somehow deal with dynamically reigstered components
- }
- return this;
- }
+ public <T> void removeObserver(Observer<T> observer)
+ {
- public <T> void removeObserver(Observer<T> observer) {
+ }
- }
+ public <T> Set<Method> resolveDisposalMethods(Class<T> apiType,
+ Annotation... bindingTypes)
+ {
+ return new HashSet<Method>();
+ }
- public <T> Set<Method> resolveDisposalMethods(Class<T> apiType,
- Annotation... bindingTypes) {
- return new HashSet<Method>();
- }
+ public <T> Set<Observer<T>> resolveObservers(T event, Annotation... bindings)
+ {
+ return (Set<Observer<T>>) eventBus.getObservers(event, bindings);
+ }
- public <T> Set<Observer<T>> resolveObservers(T event,
- Annotation... bindings) {
- return (Set<Observer<T>>) eventBus.getObservers(event, bindings);
- }
+ public List<Annotation> getEnabledDeploymentTypes()
+ {
+ return enabledDeploymentTypes;
+ }
- public List<Annotation> getEnabledDeploymentTypes() {
- return enabledDeploymentTypes;
- }
+ public ModelManager getModelManager()
+ {
+ return this.modelManager;
+ }
- public ModelManager getModelManager() {
- return this.modelManager;
- }
+ public EjbManager getEjbManager()
+ {
+ return ejbLookupManager;
+ }
- public EjbManager getEjbManager() {
- return ejbLookupManager;
- }
+ public <T> Set<Bean<T>> resolveByType(Class<T> apiType,
+ Annotation... bindingTypes)
+ {
+ return getResolutionManager().get(
+ new SimpleInjectable<T>(apiType, bindingTypes));
+ }
- public <T> Set<Bean<T>> resolveByType(Class<T> apiType,
- Annotation... bindingTypes) {
- return getResolutionManager().get(
- new SimpleInjectable<T>(apiType, bindingTypes));
- }
+ public <T> Set<Bean<T>> resolveByType(TypeLiteral<T> apiType,
+ Annotation... bindingTypes)
+ {
+ return resolveByType(apiType.getRawType(), bindingTypes);
+ }
- public <T> Set<Bean<T>> resolveByType(TypeLiteral<T> apiType,
- Annotation... bindingTypes) {
- return resolveByType(apiType.getRawType(), bindingTypes);
- }
+ public ResolutionManager getResolutionManager()
+ {
+ return resolutionManager;
+ }
- public ResolutionManager getResolutionManager() {
- return resolutionManager;
- }
+ public Set<Bean<?>> getBeans()
+ {
+ return beans;
+ }
- public Set<Bean<?>> getBeans() {
- return beans;
- }
+ public void addContext(Context context)
+ {
+ // TODO Auto-generated method stub
- public void addContext(Context context) {
- // TODO Auto-generated method stub
-
- }
+ }
- public Manager addDecorator(Decorator decorator) {
- // TODO Auto-generated method stub
- return null;
- }
+ public Manager addDecorator(Decorator decorator)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public Manager addInterceptor(Interceptor interceptor) {
- // TODO Auto-generated method stub
- return null;
- }
+ public Manager addInterceptor(Interceptor interceptor)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public <T> void addObserver(Observer<T> observer, Class<T> eventType,
- Annotation... bindings) {
- // TODO Auto-generated method stub
-
- }
+ public <T> void addObserver(Observer<T> observer, Class<T> eventType,
+ Annotation... bindings)
+ {
+ // TODO Auto-generated method stub
- public <T> void addObserver(Observer<T> observer, TypeLiteral<T> eventType,
- Annotation... bindings) {
- // TODO Auto-generated method stub
-
- }
+ }
- public void fireEvent(Object event, Annotation... bindings) {
- // TODO Auto-generated method stub
-
- }
+ public <T> void addObserver(Observer<T> observer, TypeLiteral<T> eventType,
+ Annotation... bindings)
+ {
+ // TODO Auto-generated method stub
- public Context getContext(Class<Annotation> scopeType) {
- // TODO Auto-generated method stub
- return null;
- }
+ }
- public <T> T getInstance(Bean<T> bean) {
- // TODO Auto-generated method stub
- return null;
- }
+ public void fireEvent(Object event, Annotation... bindings)
+ {
+ // TODO Auto-generated method stub
- public Object getInstanceByName(String name) {
- // TODO Auto-generated method stub
- return null;
- }
+ }
- public <T> T getInstanceByType(Class<T> type, Annotation... bindingTypes) {
- // TODO Auto-generated method stub
- return null;
- }
+ public Context getContext(Class<Annotation> scopeType)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public <T> T getInstanceByType(TypeLiteral<T> type,
- Annotation... bindingTypes) {
- // TODO Auto-generated method stub
- return null;
- }
+ public <T> T getInstance(Bean<T> bean)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public <T> void removeObserver(Observer<T> observer, Class<T> eventType,
- Annotation... bindings) {
- // TODO Auto-generated method stub
-
- }
+ public Object getInstanceByName(String name)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public <T> void removeObserver(Observer<T> observer,
- TypeLiteral<T> eventType, Annotation... bindings) {
- // TODO Auto-generated method stub
-
- }
+ public <T> T getInstanceByType(Class<T> type, Annotation... bindingTypes)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public <T> T getInstanceByType(Class<T> type, Set<Annotation> bindingTypes)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public Set<Bean<?>> resolveByName(String name) {
- // TODO Auto-generated method stub
- return null;
- }
+ public <T> T getInstanceByType(TypeLiteral<T> type,
+ Annotation... bindingTypes)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public List<Decorator> resolveDecorators(Set<Class<?>> types,
- Annotation... bindingTypes) {
- // TODO Auto-generated method stub
- return null;
- }
+ public <T> void removeObserver(Observer<T> observer, Class<T> eventType,
+ Annotation... bindings)
+ {
+ // TODO Auto-generated method stub
- public List<Interceptor> resolveInterceptors(InterceptionType type,
- Annotation... interceptorBindings) {
- // TODO Auto-generated method stub
- return null;
- }
+ }
+ public <T> void removeObserver(Observer<T> observer,
+ TypeLiteral<T> eventType, Annotation... bindings)
+ {
+ // TODO Auto-generated method stub
+ }
+
+ public Set<Bean<?>> resolveByName(String name)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public List<Decorator> resolveDecorators(Set<Class<?>> types,
+ Annotation... bindingTypes)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public List<Interceptor> resolveInterceptors(InterceptionType type,
+ Annotation... interceptorBindings)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
}
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-10-23 12:30:43 UTC (rev 126)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ResolutionManager.java 2008-10-23 13:45:33 UTC (rev 127)
@@ -12,6 +12,7 @@
{
private Map<Injectable<?, ?>, Set<?>> resolvedInjectionPoints;
+ private Set<Injectable<?, ?>> injectionPoints;
private ManagerImpl manager;
public ResolutionManager(ManagerImpl manager)
@@ -20,17 +21,23 @@
this.manager = manager;
}
+ public void addInjectionPoint(Injectable<?, ?> injectable)
+ {
+ injectionPoints.add(injectable);
+ }
+
public void registerInjectionPoint(Injectable<?, ?> injectable)
{
- resolvedInjectionPoints.put(injectable, injectable.getPossibleTargets(manager.getBeans()));
+ resolvedInjectionPoints.put(injectable, injectable.getPossibleTargets(manager.getBeans()));
}
- public void registerInjectionPoints(Set<Injectable<?, ?>> injectables)
+ public void registerInjectionPoints()
{
- for (Injectable<?, ?> injectable : injectables)
+ for (Injectable<?, ?> injectable : injectionPoints)
{
registerInjectionPoint(injectable);
}
+ injectionPoints.clear();
}
@SuppressWarnings("unchecked")
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bindings/NamedAnnotationLiteral.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bindings/NamedAnnotationLiteral.java 2008-10-23 12:30:43 UTC (rev 126)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bindings/NamedAnnotationLiteral.java 2008-10-23 13:45:33 UTC (rev 127)
@@ -1,9 +0,0 @@
-package org.jboss.webbeans.bindings;
-
-import javax.webbeans.AnnotationLiteral;
-import javax.webbeans.Named;
-
-public abstract class NamedAnnotationLiteral extends AnnotationLiteral<Named> implements Named
-{
-
-}
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-10-23 12:30:43 UTC (rev 126)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/ObserverImpl.java 2008-10-23 13:45:33 UTC (rev 127)
@@ -5,6 +5,7 @@
import javax.webbeans.manager.Manager;
import javax.webbeans.Observer;
+import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.injectable.InjectableMethod;
import org.jboss.webbeans.injectable.InjectableParameter;
import org.jboss.webbeans.injectable.InjectableParameterWrapper;
@@ -83,7 +84,7 @@
InjectableParameter<?> newParameter = new InjectableParameterWrapper(parameter)
{
@Override
- public Object getValue(Manager manager)
+ public Object getValue(ManagerImpl manager)
{
return event;
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/ComponentConstructor.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/ComponentConstructor.java 2008-10-23 12:30:43 UTC (rev 126)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/ComponentConstructor.java 2008-10-23 13:45:33 UTC (rev 127)
@@ -1,10 +1,10 @@
package org.jboss.webbeans.injectable;
-import javax.webbeans.manager.Manager;
+import org.jboss.webbeans.ManagerImpl;
public interface ComponentConstructor<T>
{
- public T invoke(Manager container);
+ 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-10-23 12:30:43 UTC (rev 126)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/EnterpriseConstructor.java 2008-10-23 13:45:33 UTC (rev 127)
@@ -1,7 +1,5 @@
package org.jboss.webbeans.injectable;
-import javax.webbeans.manager.Manager;
-
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.ejb.EjbMetaData;
@@ -16,12 +14,12 @@
this.ejbMetaData = ejbMetaData;
}
- public T invoke(Manager container)
+ public T invoke(ManagerImpl manager)
{
// TODO Hmm, this isn't right
- if (container instanceof ManagerImpl)
+ if (manager instanceof ManagerImpl)
{
- ManagerImpl containerImpl = (ManagerImpl) container;
+ ManagerImpl containerImpl = (ManagerImpl) manager;
return containerImpl.getEjbManager().lookup(ejbMetaData);
}
else
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-10-23 12:30:43 UTC (rev 126)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/Injectable.java 2008-10-23 13:45:33 UTC (rev 127)
@@ -7,8 +7,8 @@
import java.util.Set;
import javax.webbeans.manager.Bean;
-import javax.webbeans.manager.Manager;
+import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.introspector.AnnotatedItem;
/**
@@ -28,9 +28,9 @@
this.annotatedItem = annotatedItem;
}
- public Annotation[] getBindingTypes()
+ public Set<Annotation> getBindingTypes()
{
- return annotatedItem.getAnnotations().toArray(new Annotation[0]);
+ return annotatedItem.getAnnotations();
}
protected Injectable() {}
@@ -41,7 +41,7 @@
return getType() + " with binding types " + getBindingTypes();
}
- public T getValue(Manager manager)
+ public T getValue(ManagerImpl manager)
{
return manager.getInstanceByType(getType(), getBindingTypes());
}
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-10-23 12:30:43 UTC (rev 126)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableMethod.java 2008-10-23 13:45:33 UTC (rev 127)
@@ -4,6 +4,7 @@
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.SimpleAnnotatedMethod;
@@ -20,9 +21,9 @@
}
@SuppressWarnings("unchecked")
- public T invoke(Manager container, Object instance)
+ public T invoke(ManagerImpl manager, Object instance)
{
- return invoke(container, instance, getParameterValues(container));
+ return invoke(manager, instance, getParameterValues(manager));
}
@SuppressWarnings("unchecked")
Modified: 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-10-23 12:30:43 UTC (rev 126)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableParameterWrapper.java 2008-10-23 13:45:33 UTC (rev 127)
@@ -4,8 +4,9 @@
import java.util.Set;
import javax.webbeans.manager.Bean;
-import javax.webbeans.manager.Manager;
+import org.jboss.webbeans.ManagerImpl;
+
public class InjectableParameterWrapper<T> extends InjectableParameter<T>
{
@@ -17,7 +18,7 @@
}
@Override
- public Annotation[] getBindingTypes()
+ public Set<Annotation> getBindingTypes()
{
return delegate.getBindingTypes();
}
@@ -35,7 +36,7 @@
}
@Override
- public T getValue(Manager manager)
+ public T getValue(ManagerImpl manager)
{
return delegate.getValue(manager);
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableWrapper.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableWrapper.java 2008-10-23 12:30:43 UTC (rev 126)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableWrapper.java 2008-10-23 13:45:33 UTC (rev 127)
@@ -4,8 +4,9 @@
import java.util.Set;
import javax.webbeans.manager.Bean;
-import javax.webbeans.manager.Manager;
+import org.jboss.webbeans.ManagerImpl;
+
public class InjectableWrapper<T, S> extends Injectable<T, S>
{
@@ -17,7 +18,7 @@
}
@Override
- public Annotation[] getBindingTypes()
+ public Set<Annotation> getBindingTypes()
{
return delegate.getBindingTypes();
}
@@ -35,7 +36,7 @@
}
@Override
- public T getValue(Manager manager)
+ public T getValue(ManagerImpl manager)
{
return delegate.getValue(manager);
}
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-10-23 12:30:43 UTC (rev 126)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/JMSConstructor.java 2008-10-23 13:45:33 UTC (rev 127)
@@ -1,7 +1,6 @@
package org.jboss.webbeans.injectable;
-import javax.webbeans.manager.Manager;
-
+import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.util.JNDI;
public class JMSConstructor<T> implements ComponentConstructor<T>
@@ -16,7 +15,7 @@
this.jndiName = jndiName;
}
- public T invoke(Manager container)
+ public T invoke(ManagerImpl manager)
{
return JNDI.lookup(jndiName, type);
}
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-10-23 12:30:43 UTC (rev 126)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/MethodConstructor.java 2008-10-23 13:45:33 UTC (rev 127)
@@ -2,7 +2,7 @@
import java.lang.reflect.Method;
-import javax.webbeans.manager.Manager;
+import org.jboss.webbeans.ManagerImpl;
public class MethodConstructor<T> extends InjectableMethod<T> implements
ComponentConstructor<T>
@@ -13,7 +13,7 @@
super(method);
}
- public T invoke(Manager container)
+ public T invoke(ManagerImpl manager)
{
// TODO Auto-generated method stub
return null;
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-10-23 12:30:43 UTC (rev 126)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/SimpleConstructor.java 2008-10-23 13:45:33 UTC (rev 127)
@@ -3,8 +3,7 @@
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.SimpleAnnotatedConstructor;
@@ -26,12 +25,12 @@
log.finest("Initialized metadata for " + constructor + " with injectable parameters " + getParameters());
}
- public T invoke(Manager container)
+ public T invoke(ManagerImpl manager)
{
try
{
log.finest("Creating new instance of " + constructor.getType() + " with injected parameters " + getParameters());
- return constructor.getAnnotatedConstructor().newInstance(getParameterValues(container));
+ return constructor.getAnnotatedConstructor().newInstance(getParameterValues(manager));
}
catch (Exception e)
{
Modified: 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-10-23 12:30:43 UTC (rev 126)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/Unit.java 2008-10-23 13:45:33 UTC (rev 127)
@@ -4,8 +4,7 @@
import java.util.ArrayList;
import java.util.List;
-import javax.webbeans.manager.Manager;
-
+import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.introspector.AnnotatedItem;
public abstract class Unit<T, S>
@@ -43,12 +42,12 @@
return injectedParameters;
}
- public Object[] getParameterValues(Manager container)
+ 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(container);
+ parameterValues[i] = parameters.get(i).getValue(manager);
}
return parameterValues;
}
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-10-23 12:30:43 UTC (rev 126)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedItem.java 2008-10-23 13:45:33 UTC (rev 127)
@@ -13,9 +13,10 @@
this(annotationMap, null);
}
- public SimpleAnnotatedItem(Map<Class<? extends Annotation>, Annotation> annotationMap, Class<? extends Object> type)
+ public SimpleAnnotatedItem(Map<Class<? extends Annotation>, Annotation> annotationMap, Class<? extends T> type)
{
super(annotationMap);
+ this.type = type;
}
public SimpleAnnotatedItem(Annotation[] annotations)
@@ -23,7 +24,7 @@
this(annotations, null);
}
- public SimpleAnnotatedItem(Annotation[] annotations, Class<? extends Object> type)
+ public SimpleAnnotatedItem(Annotation[] annotations, Class<? extends T> type)
{
this(buildAnnotationMap(annotations), type);
}
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-10-23 12:30:43 UTC (rev 126)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedType.java 2008-10-23 13:45:33 UTC (rev 127)
@@ -76,7 +76,7 @@
}
if (annotatedFields == null)
{
- initAnnoatedFields();
+ initAnnotatedFields();
}
populateMetaAnnotatedFieldMap(metaAnnotationType, annotatedFields, metaAnnotatedFields);
return metaAnnotatedFields.get(metaAnnotationType);
@@ -84,22 +84,22 @@
protected static <T extends Annotation> Map<Class<? extends Annotation>, Set<AnnotatedField<?>>> populateMetaAnnotatedFieldMap(
Class<T> metaAnnotationType,
- Map<Class<? extends Annotation>, Set<AnnotatedField<?>>> metaAnnotations,
- Map<Class<? extends Annotation>, Set<AnnotatedField<?>>> annotationMap)
+ Map<Class<? extends Annotation>, Set<AnnotatedField<?>>> annotatedFields,
+ Map<Class<? extends Annotation>, Set<AnnotatedField<?>>> metaAnnotatedFields)
{
- if (!metaAnnotations.containsKey(metaAnnotationType))
+ if (!metaAnnotatedFields.containsKey(metaAnnotationType))
{
Set<AnnotatedField<?>> s = new HashSet<AnnotatedField<?>>();
- for (Class<? extends Annotation> annotationType: annotationMap.keySet())
+ for (Class<? extends Annotation> annotationType: annotatedFields.keySet())
{
if (annotationType.isAnnotationPresent(metaAnnotationType))
{
- s.addAll(annotationMap.get(annotationType));
+ s.addAll(annotatedFields.get(annotationType));
}
}
- metaAnnotations.put(metaAnnotationType, s);
+ metaAnnotatedFields.put(metaAnnotationType, s);
}
- return metaAnnotations;
+ return metaAnnotatedFields;
}
public Set<AnnotatedField<?>> getAnnotatedField(
@@ -107,17 +107,18 @@
{
if (annotatedFields == null)
{
- initAnnoatedFields();
+ initAnnotatedFields();
}
return annotatedFields.get(annotationType);
}
- private void initAnnoatedFields()
+ private void initAnnotatedFields()
{
if (fields == null)
{
initFields();
}
+ annotatedFields = new HashMap<Class<? extends Annotation>, Set<AnnotatedField<?>>>();
for (AnnotatedField<?> field : fields)
{
for (Annotation annotation : field.getAnnotations())
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/AbstractClassComponentModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/AbstractClassComponentModel.java 2008-10-23 12:30:43 UTC (rev 126)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/AbstractClassComponentModel.java 2008-10-23 13:45:33 UTC (rev 127)
@@ -1,9 +1,6 @@
package org.jboss.webbeans.model;
-import java.lang.reflect.Field;
import java.lang.reflect.Method;
-import java.util.Arrays;
-import java.util.HashSet;
import java.util.logging.Logger;
import javax.webbeans.BindingType;
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/AbstractComponentModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/AbstractComponentModel.java 2008-10-23 12:30:43 UTC (rev 126)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/AbstractComponentModel.java 2008-10-23 13:45:33 UTC (rev 127)
@@ -55,6 +55,7 @@
protected void initInjectionPoints()
{
+ injectionPoints = new HashSet<Injectable<?,?>>();
if (removeMethod != null)
{
for (InjectableParameter<?> injectable : removeMethod.getParameters())
@@ -219,22 +220,19 @@
return;
}
- if (getXmlAnnotatedItem().getDelegate() == null)
- {
- Set<Annotation> deploymentTypes = getAnnotatedItem().getAnnotations(DeploymentType.class);
-
- if (deploymentTypes.size() > 1)
- {
- throw new RuntimeException("At most one deployment type may be specified (" + deploymentTypes + " are specified) on " + getAnnotatedItem().getDelegate());
- }
- if (deploymentTypes.size() == 1)
- {
- this.deploymentType = deploymentTypes.iterator().next();
- log.finest("Deployment type " + deploymentType + " specified by annotation");
- return;
- }
+ Set<Annotation> deploymentTypes = getAnnotatedItem().getAnnotations(DeploymentType.class);
+
+ if (deploymentTypes.size() > 1)
+ {
+ throw new RuntimeException("At most one deployment type may be specified (" + deploymentTypes + " are specified) on " + getAnnotatedItem().getDelegate());
}
+ if (deploymentTypes.size() == 1)
+ {
+ this.deploymentType = deploymentTypes.iterator().next();
+ log.finest("Deployment type " + deploymentType + " specified by annotation");
+ return;
+ }
if (getMergedStereotypes().getPossibleDeploymentTypes().size() > 0)
{
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/AbstractModelTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/AbstractModelTest.java 2008-10-23 12:30:43 UTC (rev 126)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/AbstractModelTest.java 2008-10-23 13:45:33 UTC (rev 127)
@@ -19,6 +19,7 @@
import org.jboss.webbeans.test.bindings.AnotherDeploymentTypeAnnotationLiteral;
import org.jboss.webbeans.test.bindings.HornedAnimalDeploymentTypeAnnotationLiteral;
import org.jboss.webbeans.test.mock.MockContainerImpl;
+import org.jboss.webbeans.test.util.EmptyAnnotatedType;
import org.testng.annotations.BeforeMethod;
public class AbstractModelTest
@@ -31,7 +32,7 @@
@BeforeMethod
public void before()
{
- emptyAnnotatedItem = new SimpleAnnotatedType<Object>(null, new HashMap<Class<? extends Annotation>, Annotation>());
+ emptyAnnotatedItem = new EmptyAnnotatedType<Object>(new HashMap<Class<? extends Annotation>, Annotation>());
List<Annotation> enabledDeploymentTypes = new ArrayList<Annotation>();
enabledDeploymentTypes.add(new StandardAnnotationLiteral());
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ConstructorModelTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ConstructorModelTest.java 2008-10-23 12:30:43 UTC (rev 126)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ConstructorModelTest.java 2008-10-23 13:45:33 UTC (rev 127)
@@ -20,6 +20,7 @@
import org.jboss.webbeans.test.components.Sheep;
import org.jboss.webbeans.test.components.Turkey;
import org.jboss.webbeans.test.mock.MockContainerImpl;
+import org.jboss.webbeans.util.Reflections;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
@@ -48,6 +49,7 @@
assert constructor.getParameters().size() == 0;
}
+ @SuppressWarnings("unchecked")
@Test
public void testSingleConstructor()
{
@@ -57,10 +59,11 @@
assert constructor.getAnnotatedItem().getDelegate().getParameterTypes()[0].equals(String.class);
assert constructor.getParameters().size() == 1;
assert constructor.getParameters().get(0).getType().equals(String.class);
- assert constructor.getParameters().get(0).getBindingTypes().length == 1;
- assert constructor.getParameters().get(0).getBindingTypes()[0].annotationType().equals(Current.class);
+ assert constructor.getParameters().get(0).getBindingTypes().size() == 1;
+ assert Reflections.annotationSetMatches(constructor.getParameters().get(0).getBindingTypes(), Current.class);
}
+ @SuppressWarnings("unchecked")
@Test
public void testInitializerAnnotatedConstructor()
{
@@ -72,12 +75,13 @@
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().length == 1;
- assert constructor.getParameters().get(0).getBindingTypes()[0].annotationType().equals(Current.class);
- assert constructor.getParameters().get(1).getBindingTypes().length == 1;
- assert constructor.getParameters().get(1).getBindingTypes()[0].annotationType().equals(Current.class);
+ assert constructor.getParameters().get(0).getBindingTypes().size() == 1;
+ assert Reflections.annotationSetMatches(constructor.getParameters().get(0).getBindingTypes(), Current.class);
+ assert constructor.getParameters().get(1).getBindingTypes().size() == 1;
+ assert Reflections.annotationSetMatches(constructor.getParameters().get(1).getBindingTypes(), Current.class);
}
+ @SuppressWarnings("unchecked")
@Test
public void testBindingTypeAnnotatedConstructor()
{
@@ -89,10 +93,10 @@
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().length == 1;
- assert constructor.getParameters().get(0).getBindingTypes()[0].annotationType().equals(Current.class);
- assert constructor.getParameters().get(1).getBindingTypes().length == 1;
- assert constructor.getParameters().get(1).getBindingTypes()[0].annotationType().equals(Synchronous.class);
+ assert constructor.getParameters().get(0).getBindingTypes().size() == 1;
+ assert Reflections.annotationSetMatches(constructor.getParameters().get(0).getBindingTypes(), Current.class);
+ assert constructor.getParameters().get(1).getBindingTypes().size() == 1;
+ assert Reflections.annotationSetMatches(constructor.getParameters().get(1).getBindingTypes(), Synchronous.class);
}
@Test
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EnterpriseComponentModelTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EnterpriseComponentModelTest.java 2008-10-23 12:30:43 UTC (rev 126)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EnterpriseComponentModelTest.java 2008-10-23 13:45:33 UTC (rev 127)
@@ -33,6 +33,7 @@
private ManagerImpl container;
+ @SuppressWarnings("unchecked")
private AnnotatedType emptyAnnotatedItem;
@BeforeMethod
@@ -169,17 +170,18 @@
assert exception;
}
+ @SuppressWarnings("unchecked")
@Test
public void testRemoveMethodWithDefaultBinding()
{
- AbstractEnterpriseComponentModel<Panther> panther = new EnterpriseComponentModel<Panther>(new SimpleAnnotatedType(Panther.class), emptyAnnotatedItem, container);
+ AbstractEnterpriseComponentModel<Panther> panther = new EnterpriseComponentModel<Panther>(new SimpleAnnotatedType<Panther>(Panther.class), emptyAnnotatedItem, container);
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().length == 1;
- assert panther.getRemoveMethod().getParameters().get(0).getBindingTypes()[0].annotationType().equals(Current.class);
+ assert panther.getRemoveMethod().getParameters().get(0).getBindingTypes().size() == 1;
+ assert Reflections.annotationSetMatches(panther.getRemoveMethod().getParameters().get(0).getBindingTypes(), Current.class);
}
@SuppressWarnings("unchecked")
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InjectableTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InjectableTest.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InjectableTest.java 2008-10-23 13:45:33 UTC (rev 127)
@@ -0,0 +1,25 @@
+package org.jboss.webbeans.test;
+
+import javax.webbeans.Current;
+
+import org.jboss.webbeans.injectable.InjectableField;
+import org.jboss.webbeans.test.components.Farm;
+import org.jboss.webbeans.test.components.Pig;
+import org.jboss.webbeans.util.Reflections;
+import org.testng.annotations.Test;
+
+public class InjectableTest
+{
+
+ @SuppressWarnings("unchecked")
+ @Test
+ public void testInjectableField() throws Exception
+ {
+ InjectableField<Pig> pig = new InjectableField<Pig>(Farm.class.getDeclaredField("pig"));
+ assert pig.getAnnotatedItem().getType().isAssignableFrom(Pig.class);
+ assert pig.getBindingTypes().size() == 1;
+ assert Reflections.annotationSetMatches(pig.getBindingTypes(), Current.class);
+ assert pig.getType().isAssignableFrom(Pig.class);
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InjectableTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleComponentModelTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleComponentModelTest.java 2008-10-23 12:30:43 UTC (rev 126)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleComponentModelTest.java 2008-10-23 13:45:33 UTC (rev 127)
@@ -2,53 +2,33 @@
import java.lang.annotation.Annotation;
-import java.util.ArrayList;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
-import javax.webbeans.ApplicationScoped;
-import javax.webbeans.ConversationScoped;
+import javax.webbeans.AnnotationLiteral;
import javax.webbeans.Current;
import javax.webbeans.Dependent;
import javax.webbeans.Named;
import javax.webbeans.Production;
import javax.webbeans.RequestScoped;
-import org.jboss.webbeans.ManagerImpl;
-import org.jboss.webbeans.bindings.ConversationScopedAnnotationLiteral;
import org.jboss.webbeans.bindings.CurrentAnnotationLiteral;
import org.jboss.webbeans.bindings.DependentAnnotationLiteral;
-import org.jboss.webbeans.bindings.NamedAnnotationLiteral;
-import org.jboss.webbeans.bindings.RequestScopedAnnotationLiteral;
-import org.jboss.webbeans.bindings.StandardAnnotationLiteral;
import org.jboss.webbeans.introspector.AnnotatedType;
import org.jboss.webbeans.introspector.SimpleAnnotatedType;
import org.jboss.webbeans.model.SimpleComponentModel;
-import org.jboss.webbeans.model.StereotypeModel;
-import org.jboss.webbeans.test.annotations.AnimalStereotype;
import org.jboss.webbeans.test.annotations.AnotherDeploymentType;
-import org.jboss.webbeans.test.annotations.Asynchronous;
import org.jboss.webbeans.test.annotations.FishStereotype;
import org.jboss.webbeans.test.annotations.HornedAnimalDeploymentType;
import org.jboss.webbeans.test.annotations.HornedMammalStereotype;
-import org.jboss.webbeans.test.annotations.MammalStereotype;
-import org.jboss.webbeans.test.annotations.RequestScopedAnimalStereotype;
-import org.jboss.webbeans.test.annotations.RiverFishStereotype;
import org.jboss.webbeans.test.annotations.Synchronous;
-import org.jboss.webbeans.test.bindings.AnimalStereotypeAnnotationLiteral;
import org.jboss.webbeans.test.bindings.AnotherDeploymentTypeAnnotationLiteral;
-import org.jboss.webbeans.test.bindings.AsynchronousAnnotationLiteral;
import org.jboss.webbeans.test.bindings.FishStereotypeAnnotationLiteral;
-import org.jboss.webbeans.test.bindings.HornedAnimalDeploymentTypeAnnotationLiteral;
import org.jboss.webbeans.test.bindings.HornedMamalStereotypeAnnotationLiteral;
-import org.jboss.webbeans.test.bindings.RiverFishStereotypeAnnotationLiteral;
import org.jboss.webbeans.test.bindings.SynchronousAnnotationLiteral;
import org.jboss.webbeans.test.components.Antelope;
import org.jboss.webbeans.test.components.Carp;
-import org.jboss.webbeans.test.components.Cat;
import org.jboss.webbeans.test.components.Chair;
-import org.jboss.webbeans.test.components.ComponentWithTooManyScopeTypes;
import org.jboss.webbeans.test.components.Cow;
import org.jboss.webbeans.test.components.Goldfish;
import org.jboss.webbeans.test.components.Gorilla;
@@ -61,45 +41,30 @@
import org.jboss.webbeans.test.components.Tuna;
import org.jboss.webbeans.test.components.broken.ComponentWithTooManyDeploymentTypes;
import org.jboss.webbeans.test.components.broken.OuterComponent.InnerComponent;
-import org.jboss.webbeans.test.mock.MockContainerImpl;
import org.jboss.webbeans.util.Reflections;
-import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
@SpecVersion("20080925")
-public class SimpleComponentModelTest
+public class SimpleComponentModelTest extends AbstractModelTest
{
- private ManagerImpl container;
-
- private AnnotatedType emptyAnnotatedItem;
-
- @BeforeMethod
- public void before()
+ private class NamedAnnotationLiteral extends AnnotationLiteral<Named> implements Named
{
- emptyAnnotatedItem = new SimpleAnnotatedType(null, new HashMap<Class<? extends Annotation>, Annotation>());
- List<Annotation> enabledDeploymentTypes = new ArrayList<Annotation>();
- enabledDeploymentTypes.add(new StandardAnnotationLiteral());
- enabledDeploymentTypes.add(new AnotherDeploymentTypeAnnotationLiteral());
- enabledDeploymentTypes.add(new HornedAnimalDeploymentTypeAnnotationLiteral());
- container = new MockContainerImpl(enabledDeploymentTypes);
+ private String value;
+
+ public NamedAnnotationLiteral(String value)
+ {
+ this.value = value;
+ }
+
+ public String value()
+ {
+ return value;
+ }
- initStereotypes(container);
}
- private void initStereotypes(ManagerImpl container)
- {
- container.getModelManager().addStereotype(new StereotypeModel(new SimpleAnnotatedType(AnimalStereotype.class)));
- container.getModelManager().addStereotype(new StereotypeModel(new SimpleAnnotatedType(HornedMammalStereotype.class)));
- container.getModelManager().addStereotype(new StereotypeModel(new SimpleAnnotatedType(MammalStereotype.class)));
- container.getModelManager().addStereotype(new StereotypeModel(new SimpleAnnotatedType(FishStereotype.class)));
- container.getModelManager().addStereotype(new StereotypeModel(new SimpleAnnotatedType(RiverFishStereotype.class)));
- container.getModelManager().addStereotype(new StereotypeModel(new SimpleAnnotatedType(RequestScopedAnimalStereotype.class)));
- }
-
-
-
// **** TESTS FOR DEPLOYMENT TYPE **** //
@Test @SpecAssertion(section="2.5.3")
@@ -184,14 +149,7 @@
public void testDefaultXmlNamed()
{
Map<Class<? extends Annotation>, Annotation> annotations = new HashMap<Class<? extends Annotation>, Annotation>();
- annotations.put(Named.class, new NamedAnnotationLiteral()
- {
-
- public String value()
- {
- return "";
- }
- });
+ annotations.put(Named.class, new NamedAnnotationLiteral(""));
AnnotatedType annotatedItem = new SimpleAnnotatedType(SeaBass.class, annotations);
SimpleComponentModel<SeaBass> trout = new SimpleComponentModel<SeaBass>(new SimpleAnnotatedType(SeaBass.class), annotatedItem, container);
@@ -203,14 +161,7 @@
public void testNonDefaultXmlNamed()
{
Map<Class<? extends Annotation>, Annotation> annotations = new HashMap<Class<? extends Annotation>, Annotation>();
- annotations.put(Named.class, new NamedAnnotationLiteral()
- {
-
- public String value()
- {
- return "aTrout";
- }
- });
+ annotations.put(Named.class, new NamedAnnotationLiteral("aTrout"));
AnnotatedType annotatedItem = new SimpleAnnotatedType(SeaBass.class, annotations);
SimpleComponentModel<SeaBass> trout = new SimpleComponentModel<SeaBass>(new SimpleAnnotatedType(SeaBass.class), annotatedItem, container);
@@ -241,13 +192,7 @@
Map<Class<? extends Annotation>, Annotation> orderXmlAnnotations = new HashMap<Class<? extends Annotation>, Annotation>();
orderXmlAnnotations.put(Current.class, new CurrentAnnotationLiteral());
orderXmlAnnotations.put(Synchronous.class, new SynchronousAnnotationLiteral());
- orderXmlAnnotations.put(Named.class, new NamedAnnotationLiteral()
- {
- public String value()
- {
- return "currentSynchronousOrder";
- }
- });
+ orderXmlAnnotations.put(Named.class, new NamedAnnotationLiteral ("currentSynchronousOrder"));
AnnotatedType currentSynchronousOrderAnnotatedItem = new SimpleAnnotatedType(Order.class, orderXmlAnnotations);
SimpleComponentModel<Order> order = new SimpleComponentModel<Order>(new SimpleAnnotatedType(Order.class), currentSynchronousOrderAnnotatedItem, container);
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/StereotypeModelTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/StereotypeModelTest.java 2008-10-23 12:30:43 UTC (rev 126)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/StereotypeModelTest.java 2008-10-23 13:45:33 UTC (rev 127)
@@ -92,7 +92,7 @@
public void testStereotypeWithoutScopeType()
{
StereotypeModel<HornedMammalStereotype> animalStereotype = new StereotypeModel<HornedMammalStereotype>(new SimpleAnnotatedType<HornedMammalStereotype>(HornedMammalStereotype.class));
- assert animalStereotype.getDefaultScopeType().annotationType() == null;
+ assert animalStereotype.getDefaultScopeType() == null;
}
@Test @SpecAssertion(section="2.7.1")
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/components/Farm.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/components/Farm.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/components/Farm.java 2008-10-23 13:45:33 UTC (rev 127)
@@ -0,0 +1,13 @@
+package org.jboss.webbeans.test.components;
+
+import javax.webbeans.Current;
+import javax.webbeans.Production;
+
+ at Production
+public class Farm
+{
+
+ @Current
+ private Pig pig;
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/components/Farm.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/EmptyAnnotatedType.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/EmptyAnnotatedType.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/EmptyAnnotatedType.java 2008-10-23 13:45:33 UTC (rev 127)
@@ -0,0 +1,38 @@
+package org.jboss.webbeans.test.util;
+
+import java.lang.annotation.Annotation;
+import java.util.Map;
+import java.util.Set;
+
+import org.jboss.webbeans.introspector.AnnotatedField;
+import org.jboss.webbeans.introspector.SimpleAnnotatedType;
+
+/**
+ * An empty annotated type
+ *
+ * TODO Update testsuite not to need this hack
+ *
+ * @author pmuir
+ *
+ */
+public class EmptyAnnotatedType<T> extends SimpleAnnotatedType<T>
+{
+
+ public EmptyAnnotatedType(Map<Class<? extends Annotation>, Annotation> annotationMap)
+ {
+ super(null, annotationMap);
+ }
+
+ public Set<AnnotatedField<?>> getFields()
+ {
+ return null;
+ }
+
+ @Override
+ public Set<AnnotatedField<?>> getMetaAnnotatedFields(
+ Class<? extends Annotation> metaAnnotationType)
+ {
+ return null;
+ }
+
+}
\ No newline at end of file
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/EmptyAnnotatedType.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
More information about the weld-commits
mailing list