[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