[webbeans-commits] Webbeans SVN: r200 - in ri/trunk/webbeans-ri: src/main/java/org/jboss/webbeans and 8 other directories.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Tue Oct 28 16:27:33 EDT 2008


Author: pete.muir at jboss.org
Date: 2008-10-28 16:27:32 -0400 (Tue, 28 Oct 2008)
New Revision: 200

Added:
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/SimpleBeanImpl.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/FoxRun.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/TunaFarm.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/injectable/InjectableField.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedType.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedType.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractClassBeanModel.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/Reflections.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/AbstractTest.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BindingTypeTest.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/CommonContextTest.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DependentContextTest.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InjectionTests.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InstantiationByNameTest.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InstantiationByTypeTest.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ManagerTest.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ResolutionByNameTest.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ResolutionByTypeTest.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanLifecycleTest.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/FishFarm.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Tuna.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockManagerImpl.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java
   ri/trunk/webbeans-ri/testng.xml
Log:
Start to fix injection tests

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-28 17:25:28 UTC (rev 199)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/BeanImpl.java	2008-10-28 20:27:32 UTC (rev 200)
@@ -7,26 +7,33 @@
 
 import org.jboss.webbeans.model.bean.BeanModel;
 
-public class BeanImpl<T> extends Bean<T>
+public abstract class BeanImpl<T> extends Bean<T>
 {
    
    public static final String LOGGER_NAME = "bean";
    
-   private BeanModel<T, ?> beanModel;
-   
-   private ManagerImpl manager;
+   protected ManagerImpl manager;
 
-   public BeanImpl(BeanModel<T, ?> model, ManagerImpl manager)
+   public BeanImpl(ManagerImpl manager)
    {
       super(manager);
-      this.beanModel = model;
+      this.manager = manager;
    }
-
-   @Override
-   public T create()
+   
+   protected T getInstance()
    {
-      return beanModel.getConstructor().invoke(manager);
+      return getModel().getConstructor().invoke(manager);
    }
+   
+   protected void bindInterceptors()
+   {
+      // TODO
+   }
+   
+   protected void bindDecorators()
+   {
+      // TODO
+   }
 
    @Override
    public void destroy(T instance)
@@ -38,37 +45,37 @@
    @Override
    public Set<Annotation> getBindingTypes()
    {
-      return beanModel.getBindingTypes();
+      return getModel().getBindingTypes();
    }
 
    @Override
    public Class<? extends Annotation> getDeploymentType()
    {
-     return beanModel.getDeploymentType();
+     return getModel().getDeploymentType();
    }
 
    @Override
    public String getName()
    {
-      return beanModel.getName();
+      return getModel().getName();
    }
 
    @Override
    public Class<? extends Annotation> getScopeType()
    {
-      return beanModel.getScopeType();
+      return getModel().getScopeType();
    }
 
    @Override
    public Set<Class<?>> getTypes()
    {
-      return beanModel.getApiTypes();
+      return getModel().getApiTypes();
    }
 
    @Override
    public boolean isNullable()
    {
-      return !beanModel.isPrimitive();
+      return !getModel().isPrimitive();
    }
 
    @Override
@@ -81,12 +88,9 @@
    @Override
    public String toString()
    {
-      return beanModel.toString();
+      return getModel().toString();
    }
    
-   public BeanModel<T, ?> getModel()
-   {
-      return beanModel;
-   }
+   public abstract BeanModel<T, ?> getModel();
 
 }

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-28 17:25:28 UTC (rev 199)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java	2008-10-28 20:27:32 UTC (rev 200)
@@ -24,6 +24,10 @@
 import javax.webbeans.manager.Interceptor;
 import javax.webbeans.manager.Manager;
 
+import org.jboss.webbeans.contexts.ApplicationContext;
+import org.jboss.webbeans.contexts.DependentContext;
+import org.jboss.webbeans.contexts.RequestContext;
+import org.jboss.webbeans.contexts.SessionContext;
 import org.jboss.webbeans.ejb.EjbManager;
 import org.jboss.webbeans.event.EventBus;
 import org.jboss.webbeans.exceptions.NameResolutionLocation;
@@ -57,14 +61,14 @@
    private EventBus eventBus;
    private ResolutionManager resolutionManager;
    private ContextMap contextMap;
+   private DependentContext dependentContext;
 
    private Set<Bean<?>> beans;
 
    public ManagerImpl()
    {
-      contextMap = new ContextMap();
-      // TODO Are there any contexts that should be initialized here?
       initEnabledDeploymentTypes(null);
+      initContexts(null);
       this.modelManager = new ModelManager();
       this.ejbLookupManager = new EjbManager();
       this.beans = new HashSet<Bean<?>>();
@@ -89,6 +93,27 @@
          }
       }
    }
+   
+   protected void initContexts(Context ... contexts)
+   {
+      this.contextMap = new ContextMap();
+      if (contexts == null)
+      {
+         
+         this.dependentContext = new DependentContext(); 
+         addContext(dependentContext);
+         addContext(new RequestContext());
+         addContext(new SessionContext());
+         addContext(new ApplicationContext());
+      }
+      else
+      {
+         for (Context context : contexts)
+         {
+            addContext(context);
+         }
+      }
+   }
 
    public Manager addBean(Bean<?> bean)
    {
@@ -242,14 +267,22 @@
 
    public <T> T getInstance(Bean<T> bean)
    {
-      if (getModelManager().getScopeModel(bean.getScopeType()).isNormal())
+      try
       {
-         // TODO return a client proxy
-         return null;
+         dependentContext.setActive(true);
+         if (getModelManager().getScopeModel(bean.getScopeType()).isNormal())
+         {
+            // TODO return a client proxy
+            return getContext(bean.getScopeType()).get(bean, true);
+         }
+         else
+         {
+            return getContext(bean.getScopeType()).get(bean, true);
+         }
       }
-      else
+      finally
       {
-         return getContext(bean.getScopeType()).get(bean, true);
+         dependentContext.setActive(false);
       }
    }
 

Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/SimpleBeanImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/SimpleBeanImpl.java	                        (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/SimpleBeanImpl.java	2008-10-28 20:27:32 UTC (rev 200)
@@ -0,0 +1,47 @@
+package org.jboss.webbeans;
+
+import org.jboss.webbeans.injectable.InjectableField;
+import org.jboss.webbeans.model.bean.SimpleBeanModel;
+
+public class SimpleBeanImpl<T> extends BeanImpl<T>
+{
+   
+   private SimpleBeanModel<T> model;
+   
+   public SimpleBeanImpl(SimpleBeanModel<T> model, ManagerImpl manager)
+   {
+      super(manager);
+      this.model = model;
+   }
+
+   @Override
+   public T create()
+   {
+      T instance = getInstance();
+      bindDecorators();
+      bindInterceptors();
+      injectEjbAndCommonFields();
+      injectBoundFields(instance);
+      return instance;
+   }
+   
+   protected void injectEjbAndCommonFields()
+   {
+      // TODO
+   }
+   
+   protected void injectBoundFields(T instance)
+   {
+      for (InjectableField<?> injectableField : getModel().getInjectableFields())
+      {
+         injectableField.inject(instance, manager);
+      }
+   }
+
+   @Override
+   public SimpleBeanModel<T> getModel()
+   {
+      return model;
+   }
+   
+}


Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/SimpleBeanImpl.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableField.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableField.java	2008-10-28 17:25:28 UTC (rev 199)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/InjectableField.java	2008-10-28 20:27:32 UTC (rev 200)
@@ -2,7 +2,10 @@
 
 import java.lang.reflect.Field;
 
+import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.introspector.AnnotatedField;
 import org.jboss.webbeans.introspector.SimpleAnnotatedField;
+import org.jboss.webbeans.util.Reflections;
 
 /**
  * Abstraction of Java Reflection
@@ -17,5 +20,15 @@
    {
       super(new SimpleAnnotatedField<T>(field));
    }
+            
+   public InjectableField(AnnotatedField<T> annotatedField)
+   {
+      super(annotatedField);
+   }
+   
+   public void inject(Object instance, ManagerImpl manager)
+   {
+      Reflections.setAndWrap(getAnnotatedItem().getDelegate(), instance, getValue(manager));
+   }
 
 }

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedType.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedType.java	2008-10-28 17:25:28 UTC (rev 199)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedType.java	2008-10-28 20:27:32 UTC (rev 200)
@@ -24,7 +24,7 @@
     * Get all fields on the type
     * @return
     */
-   public Set<AnnotatedField<?>> getFields();
+   public Set<AnnotatedField<Object>> getFields();
    
    /**
     * Get all annotations which are annotated with the given annotation 
@@ -33,7 +33,7 @@
     * If no annotations are present which are annotated with the given
     * annotation an empty set is returned
     */
-   public Set<AnnotatedField<?>> getAnnotatedField(Class<? extends Annotation> annotationType);
+   public Set<AnnotatedField<Object>> getAnnotatedField(Class<? extends Annotation> annotationType);
    
    /**
     * Get all fields which are annotated with the given meta annotation 
@@ -42,7 +42,7 @@
     * If no annotations are present which are annotated with the given meta
     * annotation an empty set is returned
     */
-   public Set<AnnotatedField<?>> getMetaAnnotatedFields(
+   public Set<AnnotatedField<Object>> getMetaAnnotatedFields(
          Class<? extends Annotation> metaAnnotationType);
    
 }
\ No newline at end of file

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedType.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedType.java	2008-10-28 17:25:28 UTC (rev 199)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedType.java	2008-10-28 20:27:32 UTC (rev 200)
@@ -21,9 +21,9 @@
    
    private Class<T> clazz;
    private Type[] actualTypeArguements;
-   private Set<AnnotatedField<?>> fields;
-   private Map<Class<? extends Annotation>, Set<AnnotatedField<?>>> annotatedFields;
-   private Map<Class<? extends Annotation>, Set<AnnotatedField<?>>> metaAnnotatedFields;
+   private Set<AnnotatedField<Object>> fields;
+   private Map<Class<? extends Annotation>, Set<AnnotatedField<Object>>> annotatedFields;
+   private Map<Class<? extends Annotation>, Set<AnnotatedField<Object>>> metaAnnotatedFields;
    
    public SimpleAnnotatedType(Class<T> annotatedClass, Map<Class<? extends Annotation>, Annotation> annotationMap)
    {
@@ -55,7 +55,7 @@
       return clazz;
    }
    
-   public Set<AnnotatedField<?>> getFields()
+   public Set<AnnotatedField<Object>> getFields()
    {
       if (fields == null)
       {
@@ -66,19 +66,19 @@
    
    private void initFields()
    {
-      this.fields = new HashSet<AnnotatedField<?>>();
+      this.fields = new HashSet<AnnotatedField<Object>>();
       for(Field field : clazz.getFields())
       {
          fields.add(new SimpleAnnotatedField<Object>(field));
       }
    }
 
-   public Set<AnnotatedField<?>> getMetaAnnotatedFields(
+   public Set<AnnotatedField<Object>> getMetaAnnotatedFields(
          Class<? extends Annotation> metaAnnotationType)
    {
       if (metaAnnotatedFields == null)
       {
-         metaAnnotatedFields = new HashMap<Class<? extends Annotation>, Set<AnnotatedField<?>>>();
+         metaAnnotatedFields = new HashMap<Class<? extends Annotation>, Set<AnnotatedField<Object>>>();
       }
       if (annotatedFields == null)
       {
@@ -88,14 +88,14 @@
       return metaAnnotatedFields.get(metaAnnotationType);
    }
    
-   protected static <T extends Annotation> Map<Class<? extends Annotation>, Set<AnnotatedField<?>>> populateMetaAnnotatedFieldMap(
+   protected static <T extends Annotation> Map<Class<? extends Annotation>, Set<AnnotatedField<Object>>> populateMetaAnnotatedFieldMap(
          Class<T> metaAnnotationType, 
-         Map<Class<? extends Annotation>, Set<AnnotatedField<?>>> annotatedFields, 
-         Map<Class<? extends Annotation>, Set<AnnotatedField<?>>> metaAnnotatedFields)
+         Map<Class<? extends Annotation>, Set<AnnotatedField<Object>>> annotatedFields, 
+         Map<Class<? extends Annotation>, Set<AnnotatedField<Object>>> metaAnnotatedFields)
    {
       if (!metaAnnotatedFields.containsKey(metaAnnotationType))
       {
-         Set<AnnotatedField<?>> s = new HashSet<AnnotatedField<?>>();
+         Set<AnnotatedField<Object>> s = new HashSet<AnnotatedField<Object>>();
          for (Class<? extends Annotation> annotationType: annotatedFields.keySet())
          {
             if (annotationType.isAnnotationPresent(metaAnnotationType))
@@ -108,7 +108,7 @@
       return metaAnnotatedFields;
    }
 
-   public Set<AnnotatedField<?>> getAnnotatedField(
+   public Set<AnnotatedField<Object>> getAnnotatedField(
          Class<? extends Annotation> annotationType)
    {
       if (annotatedFields == null)
@@ -124,14 +124,14 @@
       {
          initFields();
       }
-      annotatedFields = new HashMap<Class<? extends Annotation>, Set<AnnotatedField<?>>>();
-      for (AnnotatedField<?> field : fields)
+      annotatedFields = new HashMap<Class<? extends Annotation>, Set<AnnotatedField<Object>>>();
+      for (AnnotatedField<Object> field : fields)
       {
          for (Annotation annotation : field.getAnnotations())
          {
             if (!annotatedFields.containsKey(annotation))
             {
-               annotatedFields.put(annotation.annotationType(), new HashSet<AnnotatedField<?>>());
+               annotatedFields.put(annotation.annotationType(), new HashSet<AnnotatedField<Object>>());
             }
             annotatedFields.get(annotation.annotationType()).add(field);
          }

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractClassBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractClassBeanModel.java	2008-10-28 17:25:28 UTC (rev 199)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractClassBeanModel.java	2008-10-28 20:27:32 UTC (rev 200)
@@ -1,11 +1,15 @@
 package org.jboss.webbeans.model.bean;
 
+import java.util.HashSet;
+import java.util.Set;
 import java.util.logging.Logger;
 
 import javax.webbeans.BindingType;
 import javax.webbeans.DefinitionException;
 
 import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.injectable.InjectableField;
+import org.jboss.webbeans.introspector.AnnotatedField;
 import org.jboss.webbeans.introspector.AnnotatedType;
 import org.jboss.webbeans.util.LoggerUtil;
 import org.jboss.webbeans.util.Reflections;
@@ -26,6 +30,7 @@
    
    private AnnotatedType<T> annotatedItem;
    private AnnotatedType<T> xmlAnnotatedItem;
+   private Set<InjectableField<?>> injectableFields;
    
    /**
     * 
@@ -97,7 +102,13 @@
    protected void initInjectionPoints()
    {
       super.initInjectionPoints();
-      annotatedItem.getMetaAnnotatedFields(BindingType.class);
+      injectableFields = new HashSet<InjectableField<?>>();
+      for (AnnotatedField<Object> annotatedField : annotatedItem.getMetaAnnotatedFields(BindingType.class))
+      {
+         InjectableField<?> injectableField = new InjectableField<Object>(annotatedField);
+         injectableFields.add(injectableField);
+         super.injectionPoints.add(injectableField);
+      }
    }
    
    @Override
@@ -146,5 +157,10 @@
          throw new DefinitionException("Web Bean implementation class " + type + " cannot be declared abstract");
       }
    }
+   
+   public Set<InjectableField<?>> getInjectableFields()
+   {
+      return injectableFields;
+   }
 
 }

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/Reflections.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/Reflections.java	2008-10-28 17:25:28 UTC (rev 199)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/Reflections.java	2008-10-28 20:27:32 UTC (rev 200)
@@ -3,6 +3,7 @@
 import java.beans.Introspector;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Constructor;
+import java.lang.reflect.Field;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.lang.reflect.Modifier;
@@ -244,16 +245,32 @@
       }
       catch (IllegalArgumentException e)
       {
-         throw new ExecutionException("Error checking value of member method " + method.getName() + " on " + method.getDeclaringClass(), e);
+         throw new ExecutionException("Error invoking method " + method.getName() + " on " + method.getDeclaringClass(), e);
       }
       catch (IllegalAccessException e)
       {
-         throw new ExecutionException("Error checking value of member method " + method.getName() + " on " + method.getDeclaringClass(), e);
+         throw new ExecutionException("Error invoking method " + method.getName() + " on " + method.getDeclaringClass(), e);
       }
       catch (InvocationTargetException e)
       {
-         throw new ExecutionException("Error checking value of member method " + method.getName() + " on " + method.getDeclaringClass(), e);
+         throw new ExecutionException("Error invoking method " + method.getName() + " on " + method.getDeclaringClass(), e);
       }
    }
    
+   public static void setAndWrap(Field field, Object target, Object value)
+   {
+      try
+      {
+         field.set(target, value);
+      }
+      catch (IllegalArgumentException e)
+      {
+         throw new ExecutionException("Error setting field " + field.getName() + " on " + field.getDeclaringClass(), e);
+      }
+      catch (IllegalAccessException e)
+      {
+         throw new ExecutionException("Error setting field " + field.getName() + " on " + field.getDeclaringClass(), e);
+      }
+   }
+   
 }

Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/AbstractTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/AbstractTest.java	2008-10-28 17:25:28 UTC (rev 199)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/AbstractTest.java	2008-10-28 20:27:32 UTC (rev 200)
@@ -7,10 +7,6 @@
 import javax.webbeans.Production;
 import javax.webbeans.Standard;
 
-import org.jboss.webbeans.contexts.ApplicationContext;
-import org.jboss.webbeans.contexts.DependentContext;
-import org.jboss.webbeans.contexts.RequestContext;
-import org.jboss.webbeans.contexts.SessionContext;
 import org.jboss.webbeans.model.StereotypeModel;
 import org.jboss.webbeans.test.annotations.AnimalStereotype;
 import org.jboss.webbeans.test.annotations.AnotherDeploymentType;
@@ -39,7 +35,6 @@
    protected void init()
    {
       addStereotypes();
-      addBuiltInContexts();
       addEnabledDeploymentTypes();
    }
    
@@ -62,13 +57,5 @@
       manager.getModelManager().addStereotype(new StereotypeModel<RiverFishStereotype>(RiverFishStereotype.class));
       manager.getModelManager().addStereotype(new StereotypeModel<RequestScopedAnimalStereotype>(RequestScopedAnimalStereotype.class));
    }
-   
-   protected void addBuiltInContexts()
-   {
-      manager.addContext(new DependentContext());
-      manager.addContext(new RequestContext());
-      manager.addContext(new SessionContext());
-      manager.addContext(new ApplicationContext());
-   }
 
 }

Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BindingTypeTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BindingTypeTest.java	2008-10-28 17:25:28 UTC (rev 199)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BindingTypeTest.java	2008-10-28 20:27:32 UTC (rev 200)
@@ -11,7 +11,6 @@
 import javax.webbeans.Current;
 
 import org.jboss.webbeans.bindings.CurrentAnnotationLiteral;
-import org.jboss.webbeans.injectable.InjectableField;
 import org.jboss.webbeans.introspector.AnnotatedType;
 import org.jboss.webbeans.introspector.SimpleAnnotatedType;
 import org.jboss.webbeans.model.bean.BeanModel;
@@ -23,7 +22,6 @@
 import org.jboss.webbeans.test.beans.Cod;
 import org.jboss.webbeans.test.beans.Order;
 import org.jboss.webbeans.test.beans.Tuna;
-import org.jboss.webbeans.test.beans.broken.PlaiceFarm;
 import org.jboss.webbeans.test.bindings.AsynchronousAnnotationLiteral;
 import org.jboss.webbeans.util.Reflections;
 import org.testng.annotations.Test;
@@ -44,10 +42,7 @@
    @Test(groups="injection") @SpecAssertion(section="2.3.1")
    public void testDefaultBindingTypeAssumedAtInjectionPoint() throws Exception
    {
-      // This is like defining a field in XML
-      InjectableField<Tuna> tunaField = new InjectableField<Tuna>(PlaiceFarm.class.getDeclaredField("tuna"));
-      assert tunaField.getBindingTypes().size() == 1;
-      assert tunaField.getBindingTypes().contains(new CurrentAnnotationLiteral());
+      assert false;
    }
 
    @Test(groups="annotationDefinition") @SpecAssertion(section="2.3.2")
@@ -127,37 +122,21 @@
       assert model.getBindingTypes().contains(new CurrentAnnotationLiteral());
    }
 	
-	@Test(groups="injection") 
-   public void testFieldsWithBindingAnnotationsAreInjected()
-   {
-      assert false;
-   }
+
 	
-	@Test(groups="injection") @SpecAssertion(section="2.3.5") 
-   public void testAllBindTypesMustMatch()
-   {
-      assert false;
-   }
-	
-	@Test(groups="injection") 
-   public void testFieldMissingBindingAnnotationsAreNotInjected()
-   {
-      assert false;
-   }
-	
-	@Test(groups="injection") @SpecAssertion(section="2.3.5") 
+	@Test(groups={"injection", "producerMethod"}) @SpecAssertion(section="2.3.5") 
    public void testFieldInjectedFromProducerMethod()
    {
       assert false;
    }
 	
-	@Test(groups="injection") @SpecAssertion(section="2.3.5") 
+	@Test(groups={"injection", "webbeansxml"}) @SpecAssertion(section="2.3.5") 
    public void testFieldWithBindingTypeInXml()
    {
       assert false;
    }
 	
-	@Test(groups="injection") @SpecAssertion(section="2.3.5") 
+	@Test(groups={"injection", "webbeansxml"}) @SpecAssertion(section="2.3.5") 
    public void testFieldWithBindingTypeInXmlIgnoresAnnotations()
    {
       assert false;
@@ -169,13 +148,13 @@
       assert false;
    }
 	
-	@Test(groups="injection") @SpecAssertion(section="2.3.6") 
+	@Test(groups={"injection", "webbeansxml"}) @SpecAssertion(section="2.3.6") 
    public void testMethodWithBindingAnnotationsOnParametersDeclaredInXml()
    {
       assert false;
    }
 	
-	@Test(groups="injection") @SpecAssertion(section="2.3.6") 
+	@Test(groups={"injection", "webbeansxml"}) @SpecAssertion(section="2.3.6") 
    public void testMethodWithBindingAnnotationsOnParametersDeclaredInXmlIgnoresAnnotations()
    {
       assert false;

Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/CommonContextTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/CommonContextTest.java	2008-10-28 17:25:28 UTC (rev 199)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/CommonContextTest.java	2008-10-28 20:27:32 UTC (rev 200)
@@ -8,7 +8,6 @@
 import javax.webbeans.manager.Bean;
 import javax.webbeans.manager.Context;
 
-import org.jboss.webbeans.BeanImpl;
 import org.jboss.webbeans.contexts.AbstractContext;
 import org.jboss.webbeans.contexts.RequestContext;
 import org.jboss.webbeans.introspector.SimpleAnnotatedMethod;
@@ -73,8 +72,8 @@
       manager.getModelManager().addBeanModel(producer);
       Method nullProducer = SpiderProducer.class.getMethod("produceShelob");  
       ProducerMethodBeanModel<Tarantula> producerModel = new ProducerMethodBeanModel<Tarantula>(new SimpleAnnotatedMethod<Tarantula>(nullProducer), manager);
-      Bean<Tarantula> shelobBean = new BeanImpl<Tarantula>(producerModel, manager);
-      assert context.get(shelobBean, true) == null;
+      //Bean<Tarantula> shelobBean = new ProducerBeanImpl<Tarantula>(producerModel, manager);
+      //assert context.get(shelobBean, true) == null;
    }
 
    @Test(groups="contexts")

Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DependentContextTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DependentContextTest.java	2008-10-28 17:25:28 UTC (rev 199)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DependentContextTest.java	2008-10-28 20:27:32 UTC (rev 200)
@@ -8,6 +8,7 @@
 
 import org.jboss.webbeans.contexts.DependentContext;
 import org.jboss.webbeans.test.beans.Fox;
+import org.jboss.webbeans.test.beans.FoxRun;
 import org.testng.annotations.Test;
 
 @SpecVersion("PDR")
@@ -17,7 +18,11 @@
    @Test(groups={"contexts", "injection"}) @SpecAssertion(section="8.3")
    public void testInstanceNotSharedBetweenInjectionPoints()
    {
-      assert false;
+      Bean<FoxRun> foxRunBean = createSimpleWebBean(FoxRun.class, manager);
+      Bean<Fox> foxBean = createSimpleWebBean(Fox.class, manager);
+      manager.addBean(foxBean);
+      FoxRun foxRun = foxRunBean.create();
+      assert !foxRun.fox.equals(foxRun.anotherFox);
    }
    
    @Test(groups={"contexts", "el"}) @SpecAssertion(section="8.3")
@@ -99,7 +104,11 @@
    @Test(groups={"contexts", "injection"}) @SpecAssertion(section="8.3")
    public void testContextIsActiveDuringInjection()
    {
-      assert false;
+      Bean<FoxRun> foxRunBean = createSimpleWebBean(FoxRun.class, manager);
+      Bean<Fox> foxBean = createSimpleWebBean(Fox.class, manager);
+      manager.addBean(foxBean);
+      FoxRun foxRun = foxRunBean.create();
+      assert foxRun.fox != null;
    }
    
    @Test(groups={"contexts", "ejb3"}) @SpecAssertion(section="8.3")

Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InjectionTests.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InjectionTests.java	2008-10-28 17:25:28 UTC (rev 199)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InjectionTests.java	2008-10-28 20:27:32 UTC (rev 200)
@@ -1,5 +1,6 @@
 package org.jboss.webbeans.test;
 
+
 import javax.webbeans.ContextNotActiveException;
 import javax.webbeans.NonexistentFieldException;
 import javax.webbeans.NullableDependencyException;
@@ -46,12 +47,6 @@
       assert false;
    }
    
-   @Test(groups="injection") @SpecAssertion(section="3.6.1")
-   public void testInjectFields()
-   {
-      assert false;
-   }
-   
    @Test(groups="injection") @SpecAssertion(section="3.6")
    public void testInjectingStaticField()
    {

Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InstantiationByNameTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InstantiationByNameTest.java	2008-10-28 17:25:28 UTC (rev 199)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InstantiationByNameTest.java	2008-10-28 20:27:32 UTC (rev 200)
@@ -1,15 +1,12 @@
 package org.jboss.webbeans.test;
 
-import static org.jboss.webbeans.test.util.Util.getEmptyAnnotatedType;
+import static org.jboss.webbeans.test.util.Util.createSimpleWebBean;
 
 import javax.webbeans.AmbiguousDependencyException;
 import javax.webbeans.manager.Bean;
 
-import org.jboss.webbeans.BeanImpl;
 import org.jboss.webbeans.ResolutionManager;
 import org.jboss.webbeans.injectable.InjectableField;
-import org.jboss.webbeans.introspector.SimpleAnnotatedType;
-import org.jboss.webbeans.model.bean.SimpleBeanModel;
 import org.jboss.webbeans.test.beans.Cod;
 import org.jboss.webbeans.test.beans.FishFarm;
 import org.jboss.webbeans.test.beans.Haddock;
@@ -28,8 +25,8 @@
    public void testNoWebBeansFound() throws Exception
    {
       InjectableField<ScottishFish> whiteScottishFishField = new InjectableField<ScottishFish>(FishFarm.class.getDeclaredField("whiteScottishFish"));
-      Bean<Cod> codBean = new BeanImpl<Cod>(new SimpleBeanModel<Cod>(new SimpleAnnotatedType<Cod>(Cod.class), getEmptyAnnotatedType(Cod.class), super.manager), manager);
-      Bean<Salmon> salmonBean = new BeanImpl<Salmon>(new SimpleBeanModel<Salmon>(new SimpleAnnotatedType<Salmon>(Salmon.class), getEmptyAnnotatedType(Salmon.class), super.manager), manager);
+      Bean<Cod> codBean = createSimpleWebBean(Cod.class, manager);
+      Bean<Salmon> salmonBean = createSimpleWebBean(Salmon.class, manager);
       manager.addBean(codBean);
       manager.addBean(salmonBean);
       
@@ -43,10 +40,10 @@
    public void testAmbiguousDependencies() throws Exception
    {
       InjectableField<ScottishFish> whiteScottishFishField = new InjectableField<ScottishFish>(FishFarm.class.getDeclaredField("whiteScottishFish"));
-      Bean<Cod> plaiceBean = new BeanImpl<Cod>(new SimpleBeanModel<Cod>(new SimpleAnnotatedType<Cod>(Cod.class), getEmptyAnnotatedType(Cod.class), super.manager), manager);
-      Bean<Salmon> salmonBean = new BeanImpl<Salmon>(new SimpleBeanModel<Salmon>(new SimpleAnnotatedType<Salmon>(Salmon.class), getEmptyAnnotatedType(Salmon.class), super.manager), manager);
-      Bean<Sole> soleBean = new BeanImpl<Sole>(new SimpleBeanModel<Sole>(new SimpleAnnotatedType<Sole>(Sole.class), getEmptyAnnotatedType(Sole.class), super.manager), manager);
-      manager.addBean(plaiceBean);
+      Bean<Cod> codBean = createSimpleWebBean(Cod.class, manager);
+      Bean<Salmon> salmonBean = createSimpleWebBean(Salmon.class, manager);
+      Bean<Sole> soleBean = createSimpleWebBean(Sole.class, manager);
+      manager.addBean(codBean);
       manager.addBean(salmonBean);
       manager.addBean(soleBean);
       
@@ -59,13 +56,13 @@
    @Test(groups={"resolution", "beanLifecycle"}) @SpecAssertion(section="4.10.1")
    public void testGetInstanceByName()
    {
-      Bean<Tuna> tunaBean = new BeanImpl<Tuna>(new SimpleBeanModel<Tuna>(new SimpleAnnotatedType<Tuna>(Tuna.class), getEmptyAnnotatedType(Tuna.class), super.manager), manager);
-      Bean<Cod> codBean = new BeanImpl<Cod>(new SimpleBeanModel<Cod>(new SimpleAnnotatedType<Cod>(Cod.class), getEmptyAnnotatedType(Cod.class), super.manager), manager);
-      Bean<Salmon> salmonBean = new BeanImpl<Salmon>(new SimpleBeanModel<Salmon>(new SimpleAnnotatedType<Salmon>(Salmon.class), getEmptyAnnotatedType(Salmon.class), super.manager), manager);
-      Bean<Sole> soleBean = new BeanImpl<Sole>(new SimpleBeanModel<Sole>(new SimpleAnnotatedType<Sole>(Sole.class), getEmptyAnnotatedType(Sole.class), super.manager), manager);
-      Bean<SeaBass> seaBassBean = new BeanImpl<SeaBass>(new SimpleBeanModel<SeaBass>(new SimpleAnnotatedType<SeaBass>(SeaBass.class), getEmptyAnnotatedType(SeaBass.class), super.manager), manager);
-      Bean<Haddock> haddockBean = new BeanImpl<Haddock>(new SimpleBeanModel<Haddock>(new SimpleAnnotatedType<Haddock>(Haddock.class), getEmptyAnnotatedType(Haddock.class), super.manager), manager);
-      Bean<Plaice> plaiceBean = new BeanImpl<Plaice>(new SimpleBeanModel<Plaice>(new SimpleAnnotatedType<Plaice>(Plaice.class), getEmptyAnnotatedType(Plaice.class), super.manager), manager);
+      Bean<Tuna> tunaBean = createSimpleWebBean(Tuna.class, manager);
+      Bean<Cod> codBean = createSimpleWebBean(Cod.class, manager);
+      Bean<Salmon> salmonBean = createSimpleWebBean(Salmon.class, manager);
+      Bean<Sole> soleBean = createSimpleWebBean(Sole.class, manager);
+      Bean<SeaBass> seaBassBean = createSimpleWebBean(SeaBass.class, manager);
+      Bean<Haddock> haddockBean = createSimpleWebBean(Haddock.class, manager);
+      Bean<Plaice> plaiceBean = createSimpleWebBean(Plaice.class, manager);
       
       manager.addBean(tunaBean);
       manager.addBean(codBean);

Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InstantiationByTypeTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InstantiationByTypeTest.java	2008-10-28 17:25:28 UTC (rev 199)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InstantiationByTypeTest.java	2008-10-28 20:27:32 UTC (rev 200)
@@ -1,6 +1,6 @@
 package org.jboss.webbeans.test;
 
-import static org.jboss.webbeans.test.util.Util.getEmptyAnnotatedType;
+import static org.jboss.webbeans.test.util.Util.createSimpleWebBean;
 
 import javax.webbeans.AmbiguousDependencyException;
 import javax.webbeans.AnnotationLiteral;
@@ -9,12 +9,9 @@
 import javax.webbeans.UnsatisfiedDependencyException;
 import javax.webbeans.manager.Bean;
 
-import org.jboss.webbeans.BeanImpl;
 import org.jboss.webbeans.ResolutionManager;
 import org.jboss.webbeans.bindings.CurrentAnnotationLiteral;
 import org.jboss.webbeans.injectable.InjectableField;
-import org.jboss.webbeans.introspector.SimpleAnnotatedType;
-import org.jboss.webbeans.model.bean.SimpleBeanModel;
 import org.jboss.webbeans.test.annotations.Whitefish;
 import org.jboss.webbeans.test.beans.Cod;
 import org.jboss.webbeans.test.beans.FishFarm;
@@ -53,10 +50,10 @@
    public void testAmbiguousDependencies() throws Exception
    {
       InjectableField<ScottishFish> whiteScottishFishField = new InjectableField<ScottishFish>(FishFarm.class.getDeclaredField("whiteScottishFish"));
-      Bean<Cod> plaiceBean = new BeanImpl<Cod>(new SimpleBeanModel<Cod>(new SimpleAnnotatedType<Cod>(Cod.class), getEmptyAnnotatedType(Cod.class), super.manager), manager);
-      Bean<Salmon> salmonBean = new BeanImpl<Salmon>(new SimpleBeanModel<Salmon>(new SimpleAnnotatedType<Salmon>(Salmon.class), getEmptyAnnotatedType(Salmon.class), super.manager), manager);
-      Bean<Sole> soleBean = new BeanImpl<Sole>(new SimpleBeanModel<Sole>(new SimpleAnnotatedType<Sole>(Sole.class), getEmptyAnnotatedType(Sole.class), super.manager), manager);
-      manager.addBean(plaiceBean);
+      Bean<Cod> codBean = createSimpleWebBean(Cod.class, manager);
+      Bean<Salmon> salmonBean = createSimpleWebBean(Salmon.class, manager);
+      Bean<Sole> soleBean = createSimpleWebBean(Sole.class, manager);
+      manager.addBean(codBean);
       manager.addBean(salmonBean);
       manager.addBean(soleBean);
       
@@ -71,10 +68,10 @@
    public void testUnsatisfiedDependencies() throws Exception
    {
       InjectableField<ScottishFish> whiteScottishFishField = new InjectableField<ScottishFish>(FishFarm.class.getDeclaredField("whiteScottishFish"));
-      Bean<Cod> plaiceBean = new BeanImpl<Cod>(new SimpleBeanModel<Cod>(new SimpleAnnotatedType<Cod>(Cod.class), getEmptyAnnotatedType(Cod.class), super.manager), manager);
-      Bean<Salmon> salmonBean = new BeanImpl<Salmon>(new SimpleBeanModel<Salmon>(new SimpleAnnotatedType<Salmon>(Salmon.class), getEmptyAnnotatedType(Salmon.class), super.manager), manager);
-      Bean<Sole> soleBean = new BeanImpl<Sole>(new SimpleBeanModel<Sole>(new SimpleAnnotatedType<Sole>(Sole.class), getEmptyAnnotatedType(Sole.class), super.manager), manager);
-      manager.addBean(plaiceBean);
+      Bean<Cod> codBean = createSimpleWebBean(Cod.class, manager);
+      Bean<Salmon> salmonBean = createSimpleWebBean(Salmon.class, manager);
+      Bean<Sole> soleBean = createSimpleWebBean(Sole.class, manager);
+      manager.addBean(codBean);
       manager.addBean(salmonBean);
       manager.addBean(soleBean);
       
@@ -89,7 +86,7 @@
    public void testUnproxyableDependencies() throws Exception
    {
       InjectableField<Plaice> plaiceField = new InjectableField<Plaice>(PlaiceFarm.class.getDeclaredField("plaice"));
-      Bean<Plaice> plaiceBean = new BeanImpl<Plaice>(new SimpleBeanModel<Plaice>(new SimpleAnnotatedType<Plaice>(Plaice.class), getEmptyAnnotatedType(Plaice.class), super.manager), manager);
+      Bean<Plaice> plaiceBean = createSimpleWebBean(Plaice.class, manager);
       manager.addBean(plaiceBean);
       
       ResolutionManager resolutionManager = manager.getResolutionManager();

Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ManagerTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ManagerTest.java	2008-10-28 17:25:28 UTC (rev 199)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ManagerTest.java	2008-10-28 20:27:32 UTC (rev 200)
@@ -12,12 +12,6 @@
 public class ManagerTest extends AbstractTest
 {
    
-   @Override
-   protected void addBuiltInContexts()
-   {
-      // No -op, done manually here
-   }
-   
    @Test(groups={"manager", "injection"}) @SpecAssertion(section="4.8")
    public void testInjectingManager()
    {
@@ -29,7 +23,7 @@
    {
       Context requestContext = new RequestContext();
       ((NormalContext)requestContext).setActive(false);
-      manager.addContext(requestContext);
+      manager.setContexts(requestContext);
       manager.getContext(RequestScoped.class);
    }
 
@@ -38,8 +32,7 @@
    {
       Context firstContext = new RequestContext();
       Context secondContext = new RequestContext();
-      manager.addContext(firstContext);
-      manager.addContext(secondContext);
+      manager.setContexts(firstContext, secondContext);
       manager.getContext(RequestScoped.class);
       assert true;
    }
@@ -47,6 +40,7 @@
    @Test(expectedExceptions={ContextNotActiveException.class}, groups={"manager"}) @SpecAssertion(section="8.6")
    public void testGetContextWithNoRegisteredContextsFails()
    {
+      manager.setContexts();
       manager.getContext(RequestScoped.class);
       assert false;
    }
@@ -55,7 +49,7 @@
    public void testGetContextReturnsActiveContext()
    {
       Context requestContext = new RequestContext();
-      manager.addContext(requestContext);
+      manager.setContexts(requestContext);
       Context testContext = manager.getContext(RequestScoped.class);
       assert testContext == requestContext;
       

Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ResolutionByNameTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ResolutionByNameTest.java	2008-10-28 17:25:28 UTC (rev 199)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ResolutionByNameTest.java	2008-10-28 20:27:32 UTC (rev 200)
@@ -1,20 +1,13 @@
 package org.jboss.webbeans.test;
 
-import static org.jboss.webbeans.test.util.Util.getEmptyAnnotatedType;
+import static org.jboss.webbeans.test.util.Util.createSimpleWebBean;
 
 import javax.webbeans.manager.Bean;
 
-import org.jboss.webbeans.BeanImpl;
-import org.jboss.webbeans.ResolutionManager;
-import org.jboss.webbeans.injectable.InjectableField;
-import org.jboss.webbeans.introspector.SimpleAnnotatedType;
-import org.jboss.webbeans.model.bean.SimpleBeanModel;
 import org.jboss.webbeans.test.beans.Cod;
-import org.jboss.webbeans.test.beans.FishFarm;
 import org.jboss.webbeans.test.beans.Haddock;
 import org.jboss.webbeans.test.beans.Plaice;
 import org.jboss.webbeans.test.beans.Salmon;
-import org.jboss.webbeans.test.beans.ScottishFish;
 import org.jboss.webbeans.test.beans.SeaBass;
 import org.jboss.webbeans.test.beans.Sole;
 import org.jboss.webbeans.test.beans.Tuna;
@@ -45,14 +38,15 @@
    @Test @SpecAssertion(section="4.10.1")
    public void testNamedBasedResolution()
    {
-      Bean<Tuna> tunaBean = new BeanImpl<Tuna>(new SimpleBeanModel<Tuna>(new SimpleAnnotatedType<Tuna>(Tuna.class), getEmptyAnnotatedType(Tuna.class), super.manager), manager);
-      Bean<Cod> codBean = new BeanImpl<Cod>(new SimpleBeanModel<Cod>(new SimpleAnnotatedType<Cod>(Cod.class), getEmptyAnnotatedType(Cod.class), super.manager), manager);
-      Bean<Salmon> salmonBean = new BeanImpl<Salmon>(new SimpleBeanModel<Salmon>(new SimpleAnnotatedType<Salmon>(Salmon.class), getEmptyAnnotatedType(Salmon.class), super.manager), manager);
-      Bean<Sole> soleBean = new BeanImpl<Sole>(new SimpleBeanModel<Sole>(new SimpleAnnotatedType<Sole>(Sole.class), getEmptyAnnotatedType(Sole.class), super.manager), manager);
-      Bean<SeaBass> seaBassBean = new BeanImpl<SeaBass>(new SimpleBeanModel<SeaBass>(new SimpleAnnotatedType<SeaBass>(SeaBass.class), getEmptyAnnotatedType(SeaBass.class), super.manager), manager);
-      Bean<Haddock> haddockBean = new BeanImpl<Haddock>(new SimpleBeanModel<Haddock>(new SimpleAnnotatedType<Haddock>(Haddock.class), getEmptyAnnotatedType(Haddock.class), super.manager), manager);
-      Bean<Plaice> plaiceBean = new BeanImpl<Plaice>(new SimpleBeanModel<Plaice>(new SimpleAnnotatedType<Plaice>(Plaice.class), getEmptyAnnotatedType(Plaice.class), super.manager), manager);
       
+      Bean<Tuna> tunaBean = createSimpleWebBean(Tuna.class, manager);
+      Bean<Cod> codBean = createSimpleWebBean(Cod.class, manager);
+      Bean<Salmon> salmonBean = createSimpleWebBean(Salmon.class, manager);
+      Bean<Sole> soleBean = createSimpleWebBean(Sole.class, manager);
+      Bean<SeaBass> seaBassBean = createSimpleWebBean(SeaBass.class, manager);
+      Bean<Haddock> haddockBean = createSimpleWebBean(Haddock.class, manager);
+      Bean<Plaice> plaiceBean = createSimpleWebBean(Plaice.class, manager);
+      
       manager.addBean(tunaBean);
       manager.addBean(codBean);
       manager.addBean(salmonBean);
@@ -76,15 +70,12 @@
    @Test(groups="resolution") @SpecAssertion(section="4.10.1")
    public void testNoWebBeansFound() throws Exception
    {
-      InjectableField<ScottishFish> whiteScottishFishField = new InjectableField<ScottishFish>(FishFarm.class.getDeclaredField("whiteScottishFish"));
-      Bean<Cod> codBean = new BeanImpl<Cod>(new SimpleBeanModel<Cod>(new SimpleAnnotatedType<Cod>(Cod.class), getEmptyAnnotatedType(Cod.class), super.manager), manager);
-      Bean<Salmon> salmonBean = new BeanImpl<Salmon>(new SimpleBeanModel<Salmon>(new SimpleAnnotatedType<Salmon>(Salmon.class), getEmptyAnnotatedType(Salmon.class), super.manager), manager);
+      Bean<Cod> codBean = createSimpleWebBean(Cod.class, manager);
+      Bean<Salmon> salmonBean = createSimpleWebBean(Salmon.class, manager);
+      
       manager.addBean(codBean);
       manager.addBean(salmonBean);
       
-      ResolutionManager resolutionManager = manager.getResolutionManager();
-      resolutionManager.addInjectionPoint(whiteScottishFishField);
-      
       assert manager.resolveByName("foo").size() == 0;
    }
    

Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ResolutionByTypeTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ResolutionByTypeTest.java	2008-10-28 17:25:28 UTC (rev 199)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ResolutionByTypeTest.java	2008-10-28 20:27:32 UTC (rev 200)
@@ -1,7 +1,6 @@
 package org.jboss.webbeans.test;
 
 import static org.jboss.webbeans.test.util.Util.createSimpleWebBean;
-import static org.jboss.webbeans.test.util.Util.getEmptyAnnotatedType;
 
 import java.util.HashSet;
 import java.util.Set;
@@ -12,12 +11,9 @@
 import javax.webbeans.TypeLiteral;
 import javax.webbeans.manager.Bean;
 
-import org.jboss.webbeans.BeanImpl;
 import org.jboss.webbeans.ResolutionManager;
 import org.jboss.webbeans.bindings.CurrentAnnotationLiteral;
 import org.jboss.webbeans.injectable.InjectableField;
-import org.jboss.webbeans.introspector.SimpleAnnotatedType;
-import org.jboss.webbeans.model.bean.SimpleBeanModel;
 import org.jboss.webbeans.test.annotations.Expensive;
 import org.jboss.webbeans.test.annotations.Whitefish;
 import org.jboss.webbeans.test.beans.Animal;
@@ -60,7 +56,7 @@
    public void testSingleApiTypeWithCurrent() throws Exception
    {
       InjectableField<Tuna> tunaField = new InjectableField<Tuna>(FishFarm.class.getDeclaredField("tuna"));
-      Bean<Tuna> tunaBean = new BeanImpl<Tuna>(new SimpleBeanModel<Tuna>(new SimpleAnnotatedType<Tuna>(Tuna.class), getEmptyAnnotatedType(Tuna.class), super.manager), manager);
+      Bean<Tuna> tunaBean = createSimpleWebBean(Tuna.class, manager);
       Set<Bean<?>> beans = new HashSet<Bean<?>>();
       beans.add(tunaBean);
       Set<Bean<?>> possibleTargets = tunaField.getMatchingBeans(beans, manager.getModelManager());
@@ -84,9 +80,10 @@
    public void testOneBindingType() throws Exception
    {
       InjectableField<ScottishFish> whiteScottishFishField = new InjectableField<ScottishFish>(FishFarm.class.getDeclaredField("whiteScottishFish"));
-      Bean<Cod> codBean = new BeanImpl<Cod>(new SimpleBeanModel<Cod>(new SimpleAnnotatedType<Cod>(Cod.class), getEmptyAnnotatedType(Cod.class), super.manager), manager);
-      Bean<Salmon> salmonBean = new BeanImpl<Salmon>(new SimpleBeanModel<Salmon>(new SimpleAnnotatedType<Salmon>(Salmon.class), getEmptyAnnotatedType(Salmon.class), super.manager), manager);
-      Bean<Sole> soleBean = new BeanImpl<Sole>(new SimpleBeanModel<Sole>(new SimpleAnnotatedType<Sole>(Sole.class), getEmptyAnnotatedType(Sole.class), super.manager), manager);
+      Bean<Cod> codBean = createSimpleWebBean(Cod.class, manager);
+      Bean<Salmon> salmonBean = createSimpleWebBean(Salmon.class, manager);
+      Bean<Sole> soleBean = createSimpleWebBean(Sole.class, manager);
+      
       Set<Bean<?>> beans = new HashSet<Bean<?>>();
       beans.add(codBean);
       beans.add(salmonBean);
@@ -101,9 +98,11 @@
    public void testABindingType() throws Exception
    {
       InjectableField<Animal> whiteChunkyFishField = new InjectableField<Animal>(FishFarm.class.getDeclaredField("realChunkyWhiteFish"));
-      Bean<Cod> codBean = new BeanImpl<Cod>(new SimpleBeanModel<Cod>(new SimpleAnnotatedType<Cod>(Cod.class), getEmptyAnnotatedType(Cod.class), super.manager), manager);
-      Bean<Salmon> salmonBean = new BeanImpl<Salmon>(new SimpleBeanModel<Salmon>(new SimpleAnnotatedType<Salmon>(Salmon.class), getEmptyAnnotatedType(Salmon.class), super.manager), manager);
-      Bean<Sole> soleBean = new BeanImpl<Sole>(new SimpleBeanModel<Sole>(new SimpleAnnotatedType<Sole>(Sole.class), getEmptyAnnotatedType(Sole.class), super.manager), manager);
+      
+      Bean<Cod> codBean = createSimpleWebBean(Cod.class, manager);
+      Bean<Salmon> salmonBean = createSimpleWebBean(Salmon.class, manager);
+      Bean<Sole> soleBean = createSimpleWebBean(Sole.class, manager);
+      
       Set<Bean<?>> beans = new HashSet<Bean<?>>();
       beans.add(codBean);
       beans.add(salmonBean);
@@ -117,8 +116,8 @@
    public void testMultipleApiTypeWithCurrent() throws Exception
    {
       InjectableField<Animal> animalField = new InjectableField<Animal>(FishFarm.class.getDeclaredField("animal"));
-      Bean<SeaBass> seaBassBean = new BeanImpl<SeaBass>(new SimpleBeanModel<SeaBass>(new SimpleAnnotatedType<SeaBass>(SeaBass.class), getEmptyAnnotatedType(SeaBass.class), super.manager), manager);
-      Bean<Haddock> haddockBean = new BeanImpl<Haddock>(new SimpleBeanModel<Haddock>(new SimpleAnnotatedType<Haddock>(Haddock.class), getEmptyAnnotatedType(Haddock.class), super.manager), manager);
+      Bean<SeaBass> seaBassBean = createSimpleWebBean(SeaBass.class, manager);
+      Bean<Haddock> haddockBean = createSimpleWebBean(Haddock.class, manager);
       Set<Bean<?>> beans = new HashSet<Bean<?>>();
       beans.add(seaBassBean);
       beans.add(haddockBean);
@@ -131,17 +130,13 @@
    @Test(groups="resolution") @SpecAssertion(section={"4.9.2", "4.9.4"})
    public void testResolveByType() throws Exception
    {
-      Bean<Tuna> tunaBean = new BeanImpl<Tuna>(new SimpleBeanModel<Tuna>(new SimpleAnnotatedType<Tuna>(Tuna.class), getEmptyAnnotatedType(Tuna.class), super.manager), manager);
-      Bean<Cod> codBean = new BeanImpl<Cod>(new SimpleBeanModel<Cod>(new SimpleAnnotatedType<Cod>(Cod.class), getEmptyAnnotatedType(Cod.class), super.manager), manager);
-      Bean<Salmon> salmonBean = new BeanImpl<Salmon>(new SimpleBeanModel<Salmon>(new SimpleAnnotatedType<Salmon>(Salmon.class), getEmptyAnnotatedType(Salmon.class), super.manager), manager);
-      Bean<Sole> soleBean = new BeanImpl<Sole>(new SimpleBeanModel<Sole>(new SimpleAnnotatedType<Sole>(Sole.class), getEmptyAnnotatedType(Sole.class), super.manager), manager);
-      Bean<SeaBass> seaBassBean = new BeanImpl<SeaBass>(new SimpleBeanModel<SeaBass>(new SimpleAnnotatedType<SeaBass>(SeaBass.class), getEmptyAnnotatedType(SeaBass.class), super.manager), manager);
-      Bean<Haddock> haddockBean = new BeanImpl<Haddock>(new SimpleBeanModel<Haddock>(new SimpleAnnotatedType<Haddock>(Haddock.class), getEmptyAnnotatedType(Haddock.class), super.manager), manager);
+      Bean<Tuna> tunaBean = createSimpleWebBean(Tuna.class, manager);
+      Bean<Salmon> salmonBean = createSimpleWebBean(Salmon.class, manager);
+      Bean<SeaBass> seaBassBean = createSimpleWebBean(SeaBass.class, manager);
+      Bean<Haddock> haddockBean = createSimpleWebBean(Haddock.class, manager);
       
       manager.addBean(tunaBean);
-      manager.addBean(codBean);
       manager.addBean(salmonBean);
-      manager.addBean(soleBean);
       manager.addBean(haddockBean);
       manager.addBean(seaBassBean);
       
@@ -155,7 +150,19 @@
       assert manager.resolveByType(Animal.class, new CurrentAnnotationLiteral()).contains(salmonBean);
       assert manager.resolveByType(Animal.class, new CurrentAnnotationLiteral()).contains(seaBassBean);
       assert manager.resolveByType(Animal.class, new CurrentAnnotationLiteral()).contains(haddockBean);
+   }
+   
+   @Test(groups="injection") @SpecAssertion(section="2.3.5") 
+   public void testAllBindingTypesSpecifiedForResolutionMustAppearOnWebBean()
+   {
+      Bean<Cod> codBean = createSimpleWebBean(Cod.class, manager);
+      Bean<Salmon> salmonBean = createSimpleWebBean(Salmon.class, manager);
+      Bean<Sole> soleBean = createSimpleWebBean(Sole.class, manager);
       
+      manager.addBean(codBean);
+      manager.addBean(salmonBean);
+      manager.addBean(soleBean);
+      
       assert manager.resolveByType(Animal.class, new ChunkyAnnotationLiteral() {
 
          public boolean realChunky()
@@ -176,7 +183,6 @@
       assert manager.resolveByType(ScottishFish.class, new AnnotationLiteral<Whitefish>() {}).size() == 2;
       assert manager.resolveByType(ScottishFish.class, new AnnotationLiteral<Whitefish>() {}).contains(codBean);
       assert manager.resolveByType(ScottishFish.class, new AnnotationLiteral<Whitefish>() {}).contains(soleBean);
-      
    }
    
    @Test(groups="resolution") @SpecAssertion(section="4.9.2")
@@ -184,8 +190,8 @@
    {
       InjectableField<Farmer<ScottishFish>> scottishFishFarmerField = new InjectableField<Farmer<ScottishFish>>(FishFarm.class.getDeclaredField("scottishFishFarmer"));
       
-      Bean<ScottishFishFarmer> scottishFishFarmerBean = new BeanImpl<ScottishFishFarmer>(new SimpleBeanModel<ScottishFishFarmer>(new SimpleAnnotatedType<ScottishFishFarmer>(ScottishFishFarmer.class), getEmptyAnnotatedType(ScottishFishFarmer.class), super.manager), manager);
-      Bean<AnimalFarmer> farmerBean = new BeanImpl<AnimalFarmer>(new SimpleBeanModel<AnimalFarmer>(new SimpleAnnotatedType<AnimalFarmer>(AnimalFarmer.class), getEmptyAnnotatedType(AnimalFarmer.class), super.manager), manager);
+      Bean<ScottishFishFarmer> scottishFishFarmerBean = createSimpleWebBean(ScottishFishFarmer.class, manager);
+      Bean<AnimalFarmer> farmerBean = createSimpleWebBean(AnimalFarmer.class, manager);
       
       manager.addBean(scottishFishFarmerBean);
       manager.addBean(farmerBean);
@@ -208,12 +214,11 @@
    public void testOnlyHighestEnabledPreecedenceWebBeansResolved() throws Exception
    {
       InjectableField<Animal> whiteFishField = new InjectableField<Animal>(FishFarm.class.getDeclaredField("whiteFish"));
+      Bean<Cod> codBean = createSimpleWebBean(Cod.class, manager);
+      Bean<Sole> soleBean = createSimpleWebBean(Sole.class, manager);
+      Bean<Plaice> plaiceBean = createSimpleWebBean(Plaice.class, manager);
       
-      Bean<Cod> codBean = new BeanImpl<Cod>(new SimpleBeanModel<Cod>(new SimpleAnnotatedType<Cod>(Cod.class), getEmptyAnnotatedType(Cod.class), super.manager), manager);
-      Bean<Sole> soleBean = new BeanImpl<Sole>(new SimpleBeanModel<Sole>(new SimpleAnnotatedType<Sole>(Sole.class), getEmptyAnnotatedType(Sole.class), super.manager), manager);
-      Bean<Plaice> plaiceBean = new BeanImpl<Plaice>(new SimpleBeanModel<Plaice>(new SimpleAnnotatedType<Plaice>(Plaice.class), getEmptyAnnotatedType(Plaice.class), super.manager), manager);
       
-      
       manager.addBean(plaiceBean);
       manager.addBean(codBean);
       manager.addBean(soleBean);
@@ -233,7 +238,7 @@
       InjectableField<Animal> veryExpensiveWhitefishField = new InjectableField<Animal>(FishFarm.class.getDeclaredField("veryExpensiveWhitefish"));
       Bean<Halibut> halibutBean = createSimpleWebBean(Halibut.class, manager);
       Bean<RoundWhitefish> roundWhiteFishBean = createSimpleWebBean(RoundWhitefish.class, manager);
-      Bean<Sole> soleBean = new BeanImpl<Sole>(new SimpleBeanModel<Sole>(new SimpleAnnotatedType<Sole>(Sole.class), getEmptyAnnotatedType(Sole.class), super.manager), manager);
+      Bean<Sole> soleBean = createSimpleWebBean(Sole.class, manager);
       manager.addBean(halibutBean);
       manager.addBean(roundWhiteFishBean);
       manager.addBean(soleBean);
@@ -265,9 +270,9 @@
    public void testNoWebBeansFound() throws Exception
    {
       InjectableField<ScottishFish> whiteScottishFishField = new InjectableField<ScottishFish>(FishFarm.class.getDeclaredField("whiteScottishFish"));
-      Bean<Cod> plaiceBean = new BeanImpl<Cod>(new SimpleBeanModel<Cod>(new SimpleAnnotatedType<Cod>(Cod.class), getEmptyAnnotatedType(Cod.class), super.manager), manager);
-      Bean<Salmon> salmonBean = new BeanImpl<Salmon>(new SimpleBeanModel<Salmon>(new SimpleAnnotatedType<Salmon>(Salmon.class), getEmptyAnnotatedType(Salmon.class), super.manager), manager);
-      Bean<Sole> soleBean = new BeanImpl<Sole>(new SimpleBeanModel<Sole>(new SimpleAnnotatedType<Sole>(Sole.class), getEmptyAnnotatedType(Sole.class), super.manager), manager);
+      Bean<Salmon> salmonBean = createSimpleWebBean(Salmon.class, manager);
+      Bean<Sole> soleBean = createSimpleWebBean(Sole.class, manager);
+      Bean<Plaice> plaiceBean = createSimpleWebBean(Plaice.class, manager);
       manager.addBean(plaiceBean);
       manager.addBean(salmonBean);
       manager.addBean(soleBean);
@@ -282,9 +287,9 @@
    @Test(groups="resolution") @SpecAssertion(section="4.9.2")
    public void testResolveObject() throws Exception
    {
-      Bean<Cod> plaiceBean = new BeanImpl<Cod>(new SimpleBeanModel<Cod>(new SimpleAnnotatedType<Cod>(Cod.class), getEmptyAnnotatedType(Cod.class), super.manager), manager);
-      Bean<Salmon> salmonBean = new BeanImpl<Salmon>(new SimpleBeanModel<Salmon>(new SimpleAnnotatedType<Salmon>(Salmon.class), getEmptyAnnotatedType(Salmon.class), super.manager), manager);
-      Bean<Sole> soleBean = new BeanImpl<Sole>(new SimpleBeanModel<Sole>(new SimpleAnnotatedType<Sole>(Sole.class), getEmptyAnnotatedType(Sole.class), super.manager), manager);
+      Bean<Salmon> salmonBean = createSimpleWebBean(Salmon.class, manager);
+      Bean<Sole> soleBean = createSimpleWebBean(Sole.class, manager);
+      Bean<Plaice> plaiceBean = createSimpleWebBean(Plaice.class, manager);
       manager.addBean(plaiceBean);
       manager.addBean(salmonBean);
       manager.addBean(soleBean);

Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanLifecycleTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanLifecycleTest.java	2008-10-28 17:25:28 UTC (rev 199)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanLifecycleTest.java	2008-10-28 20:27:32 UTC (rev 200)
@@ -1,8 +1,17 @@
 package org.jboss.webbeans.test;
 
+import static org.jboss.webbeans.test.util.Util.createSimpleWebBean;
+
+import javax.webbeans.manager.Bean;
+
+import org.jboss.webbeans.SimpleBeanImpl;
+import org.jboss.webbeans.test.beans.RedSnapper;
+import org.jboss.webbeans.test.beans.Tuna;
+import org.jboss.webbeans.test.beans.TunaFarm;
 import org.testng.annotations.Test;
 
-public class SimpleBeanLifecycleTest 
+ at SpecVersion("PDR")
+public class SimpleBeanLifecycleTest extends AbstractTest
 {
 	
 	@Test(groups="beanLifecycle") @SpecAssertion(section="3.1.3")
@@ -19,4 +28,61 @@
       assert false;
    }
 	
+   @Test(groups="beanLifecycle") @SpecAssertion(section="5.3")
+   public void testCreateReturnsInstanceOfBean()
+   {
+      Bean<RedSnapper> bean = createSimpleWebBean(RedSnapper.class, manager);
+      assert bean.create() instanceof RedSnapper;
+   }
+   
+   @Test(groups={"beanLifecycle", "interceptors"}) @SpecAssertion(section="5.3")
+   public void testCreateBindsInterceptorStack()
+   {
+      assert false;
+   }
+   
+   @Test(groups={"beanLifecycle", "decorators"}) @SpecAssertion(section="5.3")
+   public void testCreateBindsDecoratorStack()
+   {
+      assert false;
+   }
+   
+   @Test(groups={"beanLifecycle", "ejb3"}) @SpecAssertion(section="5.3")
+   public void testCreateInjectsEjb()
+   {
+      assert false;
+   }
+   
+   @Test(groups={"beanLifecycle", "ejb3"}) @SpecAssertion(section="5.3")
+   public void testCreateInjectsPersistenceContext()
+   {
+      assert false;
+   }
+   
+   @Test(groups={"beanLifecycle", "commonAnnotations"}) @SpecAssertion(section="5.3")
+   public void testCreateInjectsResource()
+   {
+      assert false;
+   }
+   
+   @Test(groups="injection") @SpecAssertion(section="5.3")
+   public void testCreateInjectsFieldsDeclaredInJava()
+   {
+      SimpleBeanImpl<TunaFarm> tunaFarmBean = createSimpleWebBean(TunaFarm.class, manager);
+      Bean<Tuna> tunaBean = createSimpleWebBean(Tuna.class, manager);
+      manager.addBean(tunaBean);
+      TunaFarm tunaFarm = tunaFarmBean.create();
+      assert tunaFarm.tuna != null;
+   }
+   
+   @Test(groups="injection") 
+   public void testFieldMissingBindingAnnotationsAreNotInjected()
+   {
+      SimpleBeanImpl<TunaFarm> tunaFarmBean = createSimpleWebBean(TunaFarm.class, manager);
+      Bean<Tuna> tunaBean = createSimpleWebBean(Tuna.class, manager);
+      manager.addBean(tunaBean);
+      TunaFarm tunaFarm = tunaFarmBean.create();
+      assert tunaFarm.notInjectedTuna != manager.getInstance(tunaBean);
+   }
+	
 }

Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/FishFarm.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/FishFarm.java	2008-10-28 17:25:28 UTC (rev 199)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/FishFarm.java	2008-10-28 20:27:32 UTC (rev 200)
@@ -13,29 +13,29 @@
 
    @SuppressWarnings("unused")
    @Current
-   private Tuna tuna;
+   public Tuna tuna;
    
    @SuppressWarnings("unused")
    @Current
-   private Animal animal;
+   public Animal animal;
    
    @SuppressWarnings("unused")
    @Whitefish
-   private ScottishFish whiteScottishFish;
+   public ScottishFish whiteScottishFish;
    
    @SuppressWarnings("unused")
    @Whitefish
-   private Animal whiteFish;
+   public Animal whiteFish;
    
    @SuppressWarnings("unused")
    @Whitefish @Chunky(realChunky=true)
-   private Animal realChunkyWhiteFish;
+   public Animal realChunkyWhiteFish;
    
    @SuppressWarnings("unused")
    @Current
-   private Farmer<ScottishFish> scottishFishFarmer;
+   public Farmer<ScottishFish> scottishFishFarmer;
    
    @Expensive(cost=60, veryExpensive=true) @Whitefish
-   private Animal veryExpensiveWhitefish;
+   public Animal veryExpensiveWhitefish;
    
 }

Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/FoxRun.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/FoxRun.java	                        (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/FoxRun.java	2008-10-28 20:27:32 UTC (rev 200)
@@ -0,0 +1,14 @@
+package org.jboss.webbeans.test.beans;
+
+import javax.webbeans.Current;
+
+public class FoxRun
+{
+   
+   @Current
+   public Fox fox;
+   
+   @Current
+   public Fox anotherFox;
+   
+}


Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/FoxRun.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Tuna.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Tuna.java	2008-10-28 17:25:28 UTC (rev 199)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Tuna.java	2008-10-28 20:27:32 UTC (rev 200)
@@ -1,8 +1,11 @@
 package org.jboss.webbeans.test.beans;
 
+import javax.webbeans.RequestScoped;
+
 import org.jboss.webbeans.test.annotations.AnotherDeploymentType;
 
 @AnotherDeploymentType
+ at RequestScoped
 public class Tuna
 {
 

Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/TunaFarm.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/TunaFarm.java	                        (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/TunaFarm.java	2008-10-28 20:27:32 UTC (rev 200)
@@ -0,0 +1,17 @@
+package org.jboss.webbeans.test.beans;
+
+import javax.webbeans.Current;
+import javax.webbeans.Production;
+
+ at Production
+public class TunaFarm
+{
+
+   @SuppressWarnings("unused")
+   @Current
+   public Tuna tuna;
+   
+   public Tuna notInjectedTuna = new Tuna();
+
+   
+}


Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/TunaFarm.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockManagerImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockManagerImpl.java	2008-10-28 17:25:28 UTC (rev 199)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockManagerImpl.java	2008-10-28 20:27:32 UTC (rev 200)
@@ -8,6 +8,7 @@
 
 import javax.webbeans.Observer;
 import javax.webbeans.TypeLiteral;
+import javax.webbeans.manager.Context;
 import javax.webbeans.manager.Manager;
 
 import org.jboss.webbeans.ManagerImpl;
@@ -97,5 +98,10 @@
    {
       initEnabledDeploymentTypes(enabledDeploymentTypes);
    }
+   
+   public void setContexts(Context ... contexts)
+   {
+      initContexts(contexts);
+   }
 
 }

Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java	2008-10-28 17:25:28 UTC (rev 199)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java	2008-10-28 20:27:32 UTC (rev 200)
@@ -3,8 +3,8 @@
 import java.lang.annotation.Annotation;
 import java.util.HashMap;
 
-import org.jboss.webbeans.BeanImpl;
 import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.SimpleBeanImpl;
 import org.jboss.webbeans.introspector.AnnotatedType;
 import org.jboss.webbeans.introspector.SimpleAnnotatedType;
 import org.jboss.webbeans.model.bean.SimpleBeanModel;
@@ -12,9 +12,9 @@
 
 public class Util
 {
-   public static <T> BeanImpl<T> createSimpleWebBean(Class<T> clazz, ManagerImpl manager)
+   public static <T> SimpleBeanImpl<T> createSimpleWebBean(Class<T> clazz, ManagerImpl manager)
    {
-      return new BeanImpl<T>(createSimpleModel(clazz, manager), manager);
+      return new SimpleBeanImpl<T>(createSimpleModel(clazz, manager), manager);
    }
    
    public static <T> SimpleBeanModel<T> createSimpleModel(Class<T> clazz, ManagerImpl manager)

Modified: ri/trunk/webbeans-ri/testng.xml
===================================================================
--- ri/trunk/webbeans-ri/testng.xml	2008-10-28 17:25:28 UTC (rev 199)
+++ ri/trunk/webbeans-ri/testng.xml	2008-10-28 20:27:32 UTC (rev 200)
@@ -12,7 +12,6 @@
             <exclude name="producerMethod" />
             <exclude name="observerMethod" />
             <exclude name="deferredEvent" />
-            <exclude name="injection" />
             <exclude name="ejb3" />
             <exclude name="webservice" />
             <exclude name="annotationDefinition" />
@@ -20,6 +19,7 @@
             <exclude name="el" />
             <exclude name="jms" />
             <exclude name="interceptors" />
+            <exclude name="decorators" />
             <exclude name="innerClass" />
             <exclude name="servlet" />
             <exclude name="clientProxy" />




More information about the weld-commits mailing list