[jboss-cvs] JBossAS SVN: r70935 - in projects/microcontainer/trunk: build and 16 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Mar 17 18:36:27 EDT 2008


Author: alesj
Date: 2008-03-17 18:36:26 -0400 (Mon, 17 Mar 2008)
New Revision: 70935

Added:
   projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryWithAccessMode.xml
   projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/deployment/xml/test/BeanWithAccessMode.xml
Modified:
   projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/beanmetadatafactory/package-info.java
   projects/microcontainer/trunk/build/pom.xml
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractBeanMetaData.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/builder/BeanMetaDataBuilderImpl.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/factory/GenericBeanFactory.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/factory/GenericBeanFactoryMetaData.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/spi/BeanMetaData.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/spi/builder/BeanMetaDataBuilder.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/spi/factory/GenericBeanFactoryMetaData.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/AbstractBeanAnnotationAdapter.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/AbstractKernelConfig.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/AbstractKernelConfigurator.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/Configurator.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/InstantiateAction.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/KernelScopeInfo.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanFactoryHandler.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanHandler.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/config/KernelConfig.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/config/KernelConfigurator.java
   projects/microcontainer/trunk/kernel/src/resources/main/schema/bean-deployer_2_0.xsd
   projects/microcontainer/trunk/kernel/src/resources/main/schema/jboss-beans-common_2_0.xsd
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/annotations/test/AbstractRunAnnotationsTest.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/annotations/test/field/SimpleFieldTestCase.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryJaxbTestCase.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryTestCase.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanJaxbTestCase.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanTestCase.java
Log:
Introduction of BeanAccessMode.
Initial changes to BeanAnnotationAdapter to handle field injection.

Modified: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/beanmetadatafactory/package-info.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/beanmetadatafactory/package-info.java	2008-03-17 22:35:21 UTC (rev 70934)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/beanmetadatafactory/package-info.java	2008-03-17 22:36:26 UTC (rev 70935)
@@ -22,23 +22,23 @@
 @JBossXmlAdaptedTypes
 ({
    @JBossXmlAdaptedType(type=Cardinality.class, valueAdapter=CardinalityValueAdapter.class),
-   @JBossXmlAdaptedType(type=ControllerMode.class, valueAdapter= ControllerModeValueAdapter.class),
+   @JBossXmlAdaptedType(type=ControllerMode.class, valueAdapter=ControllerModeValueAdapter.class),
    @JBossXmlAdaptedType(type=ControllerState.class, valueAdapter=ControllerStateValueAdapter.class),
    @JBossXmlAdaptedType(type=FromContext.class, valueAdapter=FromContextValueAdapter.class),
-   @JBossXmlAdaptedType(type= InjectOption.class, valueAdapter=InjectionOptionValueAdapter.class),
-   @JBossXmlAdaptedType(type=AutowireType.class, valueAdapter= AutowireTypeValueAdapter.class)
+   @JBossXmlAdaptedType(type=InjectOption.class, valueAdapter=InjectionOptionValueAdapter.class),
+   @JBossXmlAdaptedType(type=AutowireType.class, valueAdapter=AutowireTypeValueAdapter.class)
 })
 package org.jboss.aop.microcontainer.beans.beanmetadatafactory;
 
+import org.jboss.beans.metadata.api.model.AutowireType;
 import org.jboss.beans.metadata.api.model.AutowireTypeValueAdapter;
-import org.jboss.beans.metadata.plugins.CardinalityValueAdapter;
-import org.jboss.beans.metadata.plugins.ControllerModeValueAdapter;
-import org.jboss.beans.metadata.plugins.ControllerStateValueAdapter;
 import org.jboss.beans.metadata.api.model.FromContext;
 import org.jboss.beans.metadata.api.model.FromContextValueAdapter;
 import org.jboss.beans.metadata.api.model.InjectOption;
 import org.jboss.beans.metadata.api.model.InjectionOptionValueAdapter;
-import org.jboss.beans.metadata.api.model.AutowireType;
+import org.jboss.beans.metadata.plugins.CardinalityValueAdapter;
+import org.jboss.beans.metadata.plugins.ControllerModeValueAdapter;
+import org.jboss.beans.metadata.plugins.ControllerStateValueAdapter;
 import org.jboss.dependency.spi.Cardinality;
 import org.jboss.dependency.spi.ControllerMode;
 import org.jboss.dependency.spi.ControllerState;

Modified: projects/microcontainer/trunk/build/pom.xml
===================================================================
--- projects/microcontainer/trunk/build/pom.xml	2008-03-17 22:35:21 UTC (rev 70934)
+++ projects/microcontainer/trunk/build/pom.xml	2008-03-17 22:36:26 UTC (rev 70935)
@@ -43,7 +43,7 @@
     <version.jboss.aop>2.0.0.CR3</version.jboss.aop>
     <version.jboss.classloading.spi>5.0.0.Beta3</version.jboss.classloading.spi>
     <version.org.jboss.reflect>2.0.0-SNAPSHOT</version.org.jboss.reflect>
-    <version.org.jboss.mdr>2.0.0.Beta11</version.org.jboss.mdr>
+    <version.org.jboss.mdr>2.0.0-SNAPSHOT</version.org.jboss.mdr>
     <version.org.jboss.test>1.0.4.GA</version.org.jboss.test>
     <version.junit>3.8.1</version.junit>
     <version.jboss.profiler.jvmti>1.0.0.CR5</version.jboss.profiler.jvmti>

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractBeanMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractBeanMetaData.java	2008-03-17 22:35:21 UTC (rev 70934)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractBeanMetaData.java	2008-03-17 22:36:26 UTC (rev 70935)
@@ -49,6 +49,7 @@
 import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
 import org.jboss.beans.metadata.spi.PropertyMetaData;
 import org.jboss.beans.metadata.spi.SupplyMetaData;
+import org.jboss.beans.info.spi.BeanAccessMode;
 import org.jboss.dependency.plugins.AbstractDependencyItem;
 import org.jboss.dependency.spi.Controller;
 import org.jboss.dependency.spi.ControllerContext;
@@ -76,7 +77,7 @@
 public class AbstractBeanMetaData extends AbstractFeatureMetaData
    implements BeanMetaData, BeanMetaDataFactory, MutableLifecycleHolder, Serializable
 {
-   private static final long serialVersionUID = 3L;
+   private static final long serialVersionUID = 4L;
 
    /** The bean fully qualified class name */
    protected String bean;
@@ -102,6 +103,9 @@
    /** The mode */
    protected ControllerMode mode;
 
+   /** The access mode */
+   protected BeanAccessMode accessMode;
+
    /** Is contextual injection candidate */
    protected boolean autowireCandidate = true;
 
@@ -447,6 +451,17 @@
       flushJBossObjectCache();
    }
 
+   public BeanAccessMode getAccessMode()
+   {
+      return accessMode;
+   }
+
+   @XmlAttribute(name="access-mode")
+   public void setAccessMode(BeanAccessMode accessMode)
+   {
+      this.accessMode = accessMode;
+   }
+
    public boolean isAutowireCandidate()
    {
       return autowireCandidate;

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/builder/BeanMetaDataBuilderImpl.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/builder/BeanMetaDataBuilderImpl.java	2008-03-17 22:35:21 UTC (rev 70934)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/builder/BeanMetaDataBuilderImpl.java	2008-03-17 22:36:26 UTC (rev 70935)
@@ -54,6 +54,7 @@
 import org.jboss.beans.metadata.spi.ValueMetaData;
 import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
 import org.jboss.beans.metadata.spi.builder.ParameterMetaDataBuilder;
+import org.jboss.beans.info.spi.BeanAccessMode;
 import org.jboss.dependency.spi.ControllerMode;
 import org.jboss.dependency.spi.ControllerState;
 
@@ -148,6 +149,12 @@
       return this;
    }
 
+   public BeanMetaDataBuilder setAccessMode(BeanAccessMode mode)
+   {
+      beanMetaData.setAccessMode(mode);
+      return this;
+   }
+
    public BeanMetaDataBuilder setClassLoader(ValueMetaData classLoader)
    {
       beanMetaData.setClassLoader(new AbstractClassLoaderMetaData(classLoader));

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/factory/GenericBeanFactory.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/factory/GenericBeanFactory.java	2008-03-17 22:35:21 UTC (rev 70934)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/factory/GenericBeanFactory.java	2008-03-17 22:36:26 UTC (rev 70935)
@@ -25,6 +25,7 @@
 import java.util.Map;
 
 import org.jboss.beans.info.spi.BeanInfo;
+import org.jboss.beans.info.spi.BeanAccessMode;
 import org.jboss.beans.metadata.spi.ClassLoaderMetaData;
 import org.jboss.beans.metadata.spi.ConstructorMetaData;
 import org.jboss.beans.metadata.spi.LifecycleMetaData;
@@ -60,7 +61,10 @@
    
    /** The bean class name */
    protected String bean;
-   
+
+   /** The access mode */
+   protected BeanAccessMode accessMode;
+
    /** The classloader */
    protected ClassLoaderMetaData classLoader;
    
@@ -111,12 +115,12 @@
          cl = Configurator.getClassLoader(classLoader);
       BeanInfo info = null;
       if (bean != null)
-         info = configurator.getBeanInfo(bean, cl);
+         info = configurator.getBeanInfo(bean, cl, accessMode);
 
       Joinpoint joinpoint = configurator.getConstructorJoinPoint(info, constructor, null);
       Object result = joinpoint.dispatch();
       if (info == null && result != null)
-         info = configurator.getBeanInfo(result.getClass());
+         info = configurator.getBeanInfo(result.getClass(), accessMode);
 
       if (properties != null && properties.size() > 0)
       {
@@ -163,8 +167,28 @@
    {
       this.bean = bean;
    }
-   
+
    /**
+    * Get the access mode.
+    *
+    * @return the access mode
+    */
+   public BeanAccessMode getAccessMode()
+   {
+      return accessMode;
+   }
+
+   /**
+    * Set the access mode.
+    *
+    * @param accessMode the access mode.
+    */
+   public void setAccessMode(BeanAccessMode accessMode)
+   {
+      this.accessMode = accessMode;
+   }
+
+   /**
     * Get the classLoader.
     * 
     * @return the classLoader.

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/factory/GenericBeanFactoryMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/factory/GenericBeanFactoryMetaData.java	2008-03-17 22:35:21 UTC (rev 70934)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/factory/GenericBeanFactoryMetaData.java	2008-03-17 22:36:26 UTC (rev 70935)
@@ -27,6 +27,7 @@
 import java.util.Map;
 import java.util.Set;
 
+import org.jboss.beans.info.spi.BeanAccessMode;
 import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
 import org.jboss.beans.metadata.plugins.AbstractConstructorMetaData;
 import org.jboss.beans.metadata.plugins.AbstractDependencyValueMetaData;
@@ -128,6 +129,12 @@
       properties.add(new AbstractPropertyMetaData("classLoader", new AbstractValueMetaData(classLoader)));
    }
 
+   public void setAccessMode(BeanAccessMode accessMode)
+   {
+      Set<PropertyMetaData> properties = getProperties();
+      properties.add(new AbstractPropertyMetaData("accessMode", new AbstractValueMetaData(accessMode)));
+   }
+
    /**
     * Set the bean constructor
     * 

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/spi/BeanMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/spi/BeanMetaData.java	2008-03-17 22:35:21 UTC (rev 70934)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/spi/BeanMetaData.java	2008-03-17 22:36:26 UTC (rev 70935)
@@ -26,6 +26,7 @@
 
 import org.jboss.dependency.spi.ControllerMode;
 import org.jboss.beans.metadata.api.model.AutowireType;
+import org.jboss.beans.info.spi.BeanAccessMode;
 
 /**
  * Metadata about a bean.
@@ -92,6 +93,13 @@
    ControllerMode getMode();
    
    /**
+    * Get the access mode
+    *
+    * @return the mode
+    */
+   BeanAccessMode getAccessMode();
+
+   /**
     * Set the name
     * 
     * @param mode the mode

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/spi/builder/BeanMetaDataBuilder.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/spi/builder/BeanMetaDataBuilder.java	2008-03-17 22:35:21 UTC (rev 70934)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/spi/builder/BeanMetaDataBuilder.java	2008-03-17 22:36:26 UTC (rev 70935)
@@ -31,6 +31,7 @@
 import org.jboss.beans.metadata.spi.BeanMetaData;
 import org.jboss.beans.metadata.spi.ClassLoaderMetaData;
 import org.jboss.beans.metadata.spi.ValueMetaData;
+import org.jboss.beans.info.spi.BeanAccessMode;
 import org.jboss.dependency.spi.ControllerMode;
 import org.jboss.dependency.spi.ControllerState;
 
@@ -115,6 +116,14 @@
    public abstract BeanMetaDataBuilder setMode(ControllerMode mode);
 
    /**
+    * Set the access mode
+    *
+    * @param mode the access mode
+    * @return the builder
+    */
+   public abstract BeanMetaDataBuilder setAccessMode(BeanAccessMode mode);
+
+   /**
     * Set that we don't want to use the deployment classloader
     * 
     * @return the builder

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/spi/factory/GenericBeanFactoryMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/spi/factory/GenericBeanFactoryMetaData.java	2008-03-17 22:35:21 UTC (rev 70934)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/spi/factory/GenericBeanFactoryMetaData.java	2008-03-17 22:36:26 UTC (rev 70935)
@@ -67,6 +67,7 @@
 import org.jboss.beans.metadata.spi.ValueMetaData;
 import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
 import org.jboss.beans.metadata.spi.builder.ParameterMetaDataBuilder;
+import org.jboss.beans.info.spi.BeanAccessMode;
 import org.jboss.dependency.spi.ControllerMode;
 import org.jboss.kernel.plugins.bootstrap.basic.KernelConstants;
 import org.jboss.kernel.spi.config.KernelConfigurator;
@@ -90,6 +91,9 @@
    /** The bean class name */
    protected String bean;
 
+   /** The access mode */
+   protected BeanAccessMode accessMode;
+
    /** The controller mode */
    protected ControllerMode mode;
 
@@ -199,6 +203,27 @@
    }
 
    /**
+    * Get the access mode.
+    *
+    * @return the access mode
+    */
+   public BeanAccessMode getAccessMode()
+   {
+      return accessMode;
+   }
+
+   /**
+    * Set the access mode.
+    *
+    * @param accessMode the access mode
+    */
+   @XmlAttribute(name = "access-mode")
+   public void setAccessMode(BeanAccessMode accessMode)
+   {
+      this.accessMode = accessMode;
+   }
+
+   /**
     * Get the mode
     * 
     * @return the mode
@@ -514,6 +539,7 @@
          builder.setAliases(theAliases);
       }
       builder.setMode(mode);
+      builder.setAccessMode(accessMode);
       ValueMetaData injectKernelConfigurator = builder.createInject(KernelConstants.KERNEL_CONFIGURATOR_NAME);
       builder.addConstructorParameter(KernelConfigurator.class.getName(), injectKernelConfigurator);
       builder.addPropertyMetaData("bean", bean);

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/AbstractBeanAnnotationAdapter.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/AbstractBeanAnnotationAdapter.java	2008-03-17 22:35:21 UTC (rev 70934)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/AbstractBeanAnnotationAdapter.java	2008-03-17 22:36:26 UTC (rev 70935)
@@ -220,6 +220,8 @@
          for(PropertyInfo pi : properties)
          {
             MethodInfo setter = pi.getSetter();
+            FieldInfo field = pi.getFieldInfo();
+
             if (setter != null)
             {
                visitedMethods.add(setter);
@@ -238,6 +240,23 @@
                else if (trace)
                   log.trace("No annotations for property " + pi.getName());
             }
+            else if (field != null)
+            {
+               Signature sis = new FieldSignature(field);
+               MetaData cmdr = retrieval.getComponentMetaData(sis);
+               if (cmdr != null)
+               {
+                  for(AnnotationPlugin plugin : fieldAnnotationPlugins)
+                  {
+                     if (isApplyPhase)
+                        plugin.applyAnnotation(field, cmdr, visitor);
+                     else
+                        plugin.cleanAnnotation(field, cmdr, visitor);
+                  }
+               }
+               else if (trace)
+                  log.trace("No annotations for field " + field.getName());
+            }
          }
       }
       else if (trace)
@@ -299,29 +318,6 @@
       else if (trace)
          log.trace("No static methods");
 
-      // fields
-      FieldInfo[] fields = classInfo.getDeclaredFields();
-      if (fields != null && fields.length > 0)
-      {
-         for(FieldInfo fi : fields)
-         {
-            Signature fis = new FieldSignature(fi.getName());
-            MetaData cmdr = retrieval.getComponentMetaData(fis);
-            if (cmdr != null)
-            {
-               for(AnnotationPlugin plugin : fieldAnnotationPlugins)
-               {
-                  if (isApplyPhase)
-                     plugin.applyAnnotation(fi, cmdr, visitor);
-                  else
-                     plugin.cleanAnnotation(fi, cmdr, visitor);
-               }
-            }
-            else if (trace)
-               log.trace("No annotations for field " + fi.getName());
-         }
-      }
-      else if (trace)
-         log.trace("No fields");
+      // fields - if accessible - are already handled with propertys
    }
 }

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/AbstractKernelConfig.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/AbstractKernelConfig.java	2008-03-17 22:35:21 UTC (rev 70934)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/AbstractKernelConfig.java	2008-03-17 22:36:26 UTC (rev 70935)
@@ -23,6 +23,7 @@
 
 import org.jboss.beans.info.spi.BeanInfo;
 import org.jboss.beans.info.spi.BeanInfoFactory;
+import org.jboss.beans.info.spi.BeanAccessMode;
 import org.jboss.classadapter.spi.ClassAdapterFactory;
 import org.jboss.config.spi.Configuration;
 import org.jboss.config.spi.ConfigurationPermission;
@@ -73,7 +74,22 @@
    {
       return configuration.getBeanInfo(typeInfo);
    }
-   
+
+   public BeanInfo getBeanInfo(String className, ClassLoader cl, BeanAccessMode mode) throws Throwable
+   {
+      return configuration.getBeanInfo(className, cl, mode);
+   }
+
+   public BeanInfo getBeanInfo(Class<?> clazz, BeanAccessMode mode) throws Throwable
+   {
+      return configuration.getBeanInfo(clazz, mode);
+   }
+
+   public BeanInfo getBeanInfo(TypeInfo type, BeanAccessMode mode) throws Throwable
+   {
+      return configuration.getBeanInfo(type, mode);
+   }
+
    public TypeInfo getTypeInfo(String className, ClassLoader cl) throws Throwable
    {
       return configuration.getTypeInfo(className, cl);

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/AbstractKernelConfigurator.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/AbstractKernelConfigurator.java	2008-03-17 22:35:21 UTC (rev 70934)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/AbstractKernelConfigurator.java	2008-03-17 22:36:26 UTC (rev 70935)
@@ -26,6 +26,7 @@
 
 import org.jboss.beans.info.spi.BeanInfo;
 import org.jboss.beans.info.spi.PropertyInfo;
+import org.jboss.beans.info.spi.BeanAccessMode;
 import org.jboss.beans.metadata.spi.BeanMetaData;
 import org.jboss.beans.metadata.spi.ConstructorMetaData;
 import org.jboss.beans.metadata.spi.ParameterMetaData;
@@ -76,13 +77,28 @@
       return config.getBeanInfo(type);
    }
 
+   public BeanInfo getBeanInfo(String className, ClassLoader cl, BeanAccessMode mode) throws Throwable
+   {
+      return config.getBeanInfo(className, cl, mode);
+   }
+
+   public BeanInfo getBeanInfo(Class<?> clazz, BeanAccessMode mode) throws Throwable
+   {
+      return config.getBeanInfo(clazz, mode);
+   }
+
+   public BeanInfo getBeanInfo(TypeInfo type, BeanAccessMode mode) throws Throwable
+   {
+      return config.getBeanInfo(type, mode);
+   }
+
    public BeanInfo getBeanInfo(BeanMetaData metaData) throws Throwable
    {
       ClassLoader cl = Configurator.getClassLoader(metaData);
       String className = metaData.getBean();
       if (className == null)
          return null;
-      return getBeanInfo(className, cl);
+      return getBeanInfo(className, cl, metaData.getAccessMode());
    }
 
    public TypeInfo getTypeInfo(String className, ClassLoader cl) throws Throwable

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/Configurator.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/Configurator.java	2008-03-17 22:35:21 UTC (rev 70934)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/Configurator.java	2008-03-17 22:36:26 UTC (rev 70935)
@@ -98,7 +98,7 @@
     * @param config the kernel config
     * @param info the bean info
     * @param metaData the constructor metadata
-    * @param beanMetaData
+    * @param beanMetaData the bean metadata
     * @return the joinpoint
     * @throws Throwable for any error
     */
@@ -706,8 +706,6 @@
       if (trace)
          log.trace("Resolving property on bean info=" + info + " name=" + name);
 
-      // FIXME the isAssignable and isProgression currently needs a classloader
-      //       to work properly, use the bean's classloader if there isn't one provided
       if (cl == null)
          cl = info.getClassInfo().getType().getClassLoader();
 

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/InstantiateAction.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/InstantiateAction.java	2008-03-17 22:35:21 UTC (rev 70934)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/InstantiateAction.java	2008-03-17 22:36:26 UTC (rev 70935)
@@ -60,7 +60,7 @@
       {
          if (info == null)
          {
-            info = configurator.getBeanInfo(object.getClass());
+            info = configurator.getBeanInfo(object.getClass(), metaData.getAccessMode());
             context.setBeanInfo(info);
          }
 

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/KernelScopeInfo.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/KernelScopeInfo.java	2008-03-17 22:35:21 UTC (rev 70934)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/KernelScopeInfo.java	2008-03-17 22:36:26 UTC (rev 70935)
@@ -38,7 +38,9 @@
 import org.jboss.metadata.spi.scope.Scope;
 import org.jboss.metadata.spi.scope.ScopeKey;
 import org.jboss.metadata.spi.signature.MethodSignature;
+import org.jboss.metadata.spi.signature.FieldSignature;
 import org.jboss.reflect.spi.MethodInfo;
+import org.jboss.reflect.spi.FieldInfo;
 
 /**
  * KernelScopeInfo.
@@ -181,22 +183,18 @@
       if (propertyAnnotations == null || propertyAnnotations.size() == 0)
          return;
 
-      Set<PropertyInfo> propertyInfos = beanInfo.getProperties();
-      if (propertyInfos != null && propertyInfos.size() > 0)
-      {
-         for (PropertyInfo propertyInfo : propertyInfos)
-         {
-            if (propertyInfo.getName().equals(propertyMetaData.getName()))
-            {
-               MethodInfo methodInfo = propertyInfo.getGetter();
-               if (methodInfo != null)
-                  addAnnotations(classloader, mutable, methodInfo, propertyAnnotations);
-               methodInfo = propertyInfo.getSetter();
-               if (methodInfo != null)
-                  addAnnotations(classloader, mutable, methodInfo, propertyAnnotations);
-            }
-         }
-      }
+      PropertyInfo propertyInfo = beanInfo.getProperty(propertyMetaData.getName());
+      // method annotations
+      MethodInfo methodInfo = propertyInfo.getGetter();
+      if (methodInfo != null)
+         addAnnotations(classloader, mutable, methodInfo, propertyAnnotations);
+      methodInfo = propertyInfo.getSetter();
+      if (methodInfo != null)
+         addAnnotations(classloader, mutable, methodInfo, propertyAnnotations);
+      // field annotations
+      FieldInfo fieldInfo = propertyInfo.getFieldInfo();
+      if (fieldInfo != null)
+         addAnnotations(classloader, mutable, fieldInfo, propertyAnnotations);
    }
    
    /**
@@ -216,6 +214,22 @@
    }
    
    /**
+    * Add annotations for a field
+    *
+    * @param classloader the classloader
+    * @param mutable the mutable metadata
+    * @param fieldInfo the field info
+    * @param annotations the annotations
+    */
+   private void addAnnotations(ClassLoader classloader, MemoryMetaDataLoader mutable, FieldInfo fieldInfo, Set<AnnotationMetaData> annotations)
+   {
+      ScopeKey scope = new ScopeKey(CommonLevels.JOINPOINT_OVERRIDE, fieldInfo.getName());
+      MemoryMetaDataLoader loader = new MemoryMetaDataLoader(scope);
+      addAnnotations(classloader, loader, annotations);
+      mutable.addComponentMetaDataRetrieval(new FieldSignature(fieldInfo), loader);
+   }
+
+   /**
     * Add annotations to a mutable metadata
     *
     * @param classloader the classloader

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanFactoryHandler.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanFactoryHandler.java	2008-03-17 22:35:21 UTC (rev 70934)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanFactoryHandler.java	2008-03-17 22:36:26 UTC (rev 70935)
@@ -28,6 +28,7 @@
 import org.jboss.beans.metadata.spi.ConstructorMetaData;
 import org.jboss.beans.metadata.spi.PropertyMetaData;
 import org.jboss.beans.metadata.spi.ValueMetaData;
+import org.jboss.beans.info.spi.BeanAccessMode;
 import org.jboss.dependency.spi.ControllerMode;
 import org.jboss.xb.binding.sunday.unmarshalling.DefaultElementHandler;
 import org.jboss.xb.binding.sunday.unmarshalling.ElementBinding;
@@ -61,6 +62,15 @@
             bean.setBeanClass(attrs.getValue(i));
          else if ("mode".equals(localName))
             bean.setMode(ControllerMode.getInstance(attrs.getValue(i)));
+         else if ("access-mode".equals(localName))
+         {
+            BeanAccessMode mode = BeanAccessMode.STANDARD;
+            if ("fields".equalsIgnoreCase(localName))
+               mode = BeanAccessMode.FIELDS;
+            else if ("all".equals(localName))
+               mode = BeanAccessMode.ALL;
+            bean.setAccessMode(mode);
+         }
       }
    }
 

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanHandler.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanHandler.java	2008-03-17 22:35:21 UTC (rev 70934)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanHandler.java	2008-03-17 22:36:26 UTC (rev 70935)
@@ -27,6 +27,7 @@
 import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
 import org.jboss.beans.metadata.api.model.AutowireType;
 import org.jboss.beans.metadata.spi.ConstructorMetaData;
+import org.jboss.beans.info.spi.BeanAccessMode;
 import org.jboss.dependency.spi.ControllerMode;
 import org.jboss.xb.binding.sunday.unmarshalling.DefaultElementHandler;
 import org.jboss.xb.binding.sunday.unmarshalling.ElementBinding;
@@ -60,6 +61,15 @@
             bean.setBean(attrs.getValue(i));
          else if ("mode".equals(localName))
             bean.setMode(ControllerMode.getInstance(attrs.getValue(i)));
+         else if ("access-mode".equals(localName))
+         {
+            BeanAccessMode mode = BeanAccessMode.STANDARD;
+            if ("fields".equalsIgnoreCase(localName))
+               mode = BeanAccessMode.FIELDS;
+            else if ("all".equals(localName))
+               mode = BeanAccessMode.ALL;
+            bean.setAccessMode(mode);
+         }
          else if ("parent".equals(localName))
             bean.setParent(attrs.getValue(i));
          else if ("abstract".equals(localName))

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/config/KernelConfig.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/config/KernelConfig.java	2008-03-17 22:35:21 UTC (rev 70934)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/config/KernelConfig.java	2008-03-17 22:36:26 UTC (rev 70935)
@@ -22,6 +22,7 @@
 package org.jboss.kernel.spi.config;
 
 import org.jboss.beans.info.spi.BeanInfo;
+import org.jboss.beans.info.spi.BeanAccessMode;
 import org.jboss.kernel.spi.KernelObject;
 import org.jboss.kernel.spi.bootstrap.KernelInitializer;
 import org.jboss.kernel.spi.dependency.DependencyBuilder;
@@ -73,6 +74,37 @@
    BeanInfo getBeanInfo(TypeInfo type) throws Throwable;
    
    /**
+    * Get the bean info
+    *
+    * @param className the class name
+    * @param cl the classloader
+    * @param mode the access mode
+    * @return the bean info
+    * @throws Throwable for any error
+    */
+   BeanInfo getBeanInfo(String className, ClassLoader cl, BeanAccessMode mode) throws Throwable;
+
+   /**
+    * Get the bean info
+    *
+    * @param clazz the class
+    * @param mode the access mode
+    * @return the bean info
+    * @throws Throwable for any error
+    */
+   BeanInfo getBeanInfo(Class<?> clazz, BeanAccessMode mode) throws Throwable;
+
+   /**
+    * Get the bean info
+    *
+    * @param type the type info
+    * @param mode the access mode
+    * @return the bean info
+    * @throws Throwable for any error
+    */
+   BeanInfo getBeanInfo(TypeInfo type, BeanAccessMode mode) throws Throwable;
+
+   /**
     * Get the type info for a class
     * 
     * @param className the class name

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/config/KernelConfigurator.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/config/KernelConfigurator.java	2008-03-17 22:35:21 UTC (rev 70934)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/config/KernelConfigurator.java	2008-03-17 22:36:26 UTC (rev 70935)
@@ -26,6 +26,7 @@
 
 import org.jboss.beans.info.spi.PropertyInfo;
 import org.jboss.beans.info.spi.BeanInfo;
+import org.jboss.beans.info.spi.BeanAccessMode;
 import org.jboss.beans.metadata.spi.ConstructorMetaData;
 import org.jboss.beans.metadata.spi.ParameterMetaData;
 import org.jboss.beans.metadata.spi.PropertyMetaData;
@@ -78,6 +79,37 @@
    BeanInfo getBeanInfo(TypeInfo type) throws Throwable;
    
    /**
+    * Get the BeanInfo
+    *
+    * @param className the class name
+    * @param cl the classloader
+    * @param mode the access mode
+    * @return the bean info
+    * @throws Throwable for any error
+    */
+   BeanInfo getBeanInfo(String className, ClassLoader cl, BeanAccessMode mode) throws Throwable;
+
+   /**
+    * Get the BeanInfo
+    *
+    * @param clazz the class
+    * @return the bean info
+    * @param mode the access mode
+    * @throws Throwable for any error
+    */
+   BeanInfo getBeanInfo(Class<?> clazz, BeanAccessMode mode) throws Throwable;
+
+   /**
+    * Get the BeanInfo
+    *
+    * @param type the type info
+    * @param mode the access mode
+    * @return the bean info
+    * @throws Throwable for any error
+    */
+   BeanInfo getBeanInfo(TypeInfo type, BeanAccessMode mode) throws Throwable;
+
+   /**
     * Get the BeanInfo for some metadata
     * 
     * @param metaData the metadata

Modified: projects/microcontainer/trunk/kernel/src/resources/main/schema/bean-deployer_2_0.xsd
===================================================================
--- projects/microcontainer/trunk/kernel/src/resources/main/schema/bean-deployer_2_0.xsd	2008-03-17 22:35:21 UTC (rev 70934)
+++ projects/microcontainer/trunk/kernel/src/resources/main/schema/bean-deployer_2_0.xsd	2008-03-17 22:36:26 UTC (rev 70935)
@@ -111,6 +111,7 @@
       <xsd:attribute name="abstract" type="xsd:boolean" use="optional"/>
       <xsd:attribute name="autowire-type" type="autowireTypeType" use="optional"/>
       <xsd:attribute name="autowire-candidate" type="xsd:boolean" use="optional"/>
+      <xsd:attribute name="access-mode" type="accessModeType" use="optional"/>
    </xsd:complexType>
 
    <xsd:complexType name="classloaderType" mixed="true">
@@ -159,6 +160,7 @@
 -->
       </xsd:sequence>
       <xsd:attribute name="name" type="xsd:string" use="optional"/>
+      <xsd:attribute name="access-mode" type="accessModeType" use="optional"/>
    </xsd:complexType>
 
    <xsd:complexType name="beanfactoryType">
@@ -1076,6 +1078,22 @@
       </xsd:restriction>
    </xsd:simpleType>
 
+   <xsd:simpleType name="accessModeType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+            Access type, valid values include:
+            property (default)
+            field
+            public_member
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:restriction base="xsd:string">
+         <xsd:whiteSpace value="collapse"/>
+      </xsd:restriction>
+   </xsd:simpleType>
+
    <xsd:simpleType name="autowireTypeType">
       <xsd:annotation>
          <xsd:documentation>

Modified: projects/microcontainer/trunk/kernel/src/resources/main/schema/jboss-beans-common_2_0.xsd
===================================================================
--- projects/microcontainer/trunk/kernel/src/resources/main/schema/jboss-beans-common_2_0.xsd	2008-03-17 22:35:21 UTC (rev 70934)
+++ projects/microcontainer/trunk/kernel/src/resources/main/schema/jboss-beans-common_2_0.xsd	2008-03-17 22:36:26 UTC (rev 70935)
@@ -62,6 +62,7 @@
       <xsd:attribute name="parent" type="xsd:string" use="optional"/>
       <xsd:attribute name="abstract" type="xsd:boolean" use="optional"/>
       <xsd:attribute name="autowire-type" type="autowireTypeType" use="optional"/>
+      <xsd:attribute name="access-mode" type="accessModeType" use="optional"/>
       <xsd:attribute name="autowire-candidate" type="xsd:boolean" use="optional"/>
    </xsd:complexType>
 
@@ -147,6 +148,7 @@
       <xsd:complexContent>
          <xsd:extension base="abstractBeanfactoryType">
             <xsd:attribute name="class" type="xsd:token" use="required"/>
+            <xsd:attribute name="access-mode" type="accessModeType" use="optional"/>
          </xsd:extension>
       </xsd:complexContent>
    </xsd:complexType>
@@ -1048,6 +1050,22 @@
       </xsd:restriction>
    </xsd:simpleType>
 
+   <xsd:simpleType name="accessModeType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+            Access type, valid values include:
+            property (default)
+            field
+            public_member
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:restriction base="xsd:string">
+         <xsd:whiteSpace value="collapse"/>
+      </xsd:restriction>
+   </xsd:simpleType>
+
    <xsd:simpleType name="optionType">
       <xsd:annotation>
          <xsd:documentation>

Added: projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryWithAccessMode.xml
===================================================================
--- projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryWithAccessMode.xml	                        (rev 0)
+++ projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryWithAccessMode.xml	2008-03-17 22:36:26 UTC (rev 70935)
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<beanfactory xmlns="urn:jboss:bean-deployer:2.0" class="Dummy" access-mode="FIELDS"/>

Added: projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/deployment/xml/test/BeanWithAccessMode.xml
===================================================================
--- projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/deployment/xml/test/BeanWithAccessMode.xml	                        (rev 0)
+++ projects/microcontainer/trunk/kernel/src/resources/tests/org/jboss/test/kernel/deployment/xml/test/BeanWithAccessMode.xml	2008-03-17 22:36:26 UTC (rev 70935)
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<bean xmlns="urn:jboss:bean-deployer:2.0" class="Dummy" access-mode="FIELDS"/>

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/annotations/test/AbstractRunAnnotationsTest.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/annotations/test/AbstractRunAnnotationsTest.java	2008-03-17 22:35:21 UTC (rev 70934)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/annotations/test/AbstractRunAnnotationsTest.java	2008-03-17 22:36:26 UTC (rev 70935)
@@ -22,6 +22,7 @@
 package org.jboss.test.kernel.annotations.test;
 
 import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
+import org.jboss.beans.info.spi.BeanAccessMode;
 import org.jboss.kernel.Kernel;
 import org.jboss.kernel.plugins.bootstrap.basic.BasicBootstrap;
 import org.jboss.kernel.spi.config.KernelConfig;
@@ -62,21 +63,37 @@
 
    protected void runAnnotationsOnTarget(Object target) throws Throwable
    {
+      runAnnotationsOnTarget(target, BeanAccessMode.STANDARD);
+   }
+
+   protected void runAnnotationsOnTarget(Object target, BeanAccessMode mode) throws Throwable
+   {
       assertNotNull("Target is null", target);
-      runAnnotations(target.getClass(), target);
+      runAnnotations(target.getClass(), target, mode);
    }
 
    protected void runAnnotationsOnClass(Class<?> clazz) throws Throwable
    {
+      runAnnotationsOnClass(clazz, BeanAccessMode.STANDARD);      
+   }
+
+   protected void runAnnotationsOnClass(Class<?> clazz, BeanAccessMode mode) throws Throwable
+   {
       runAnnotations(clazz, null);
    }
 
    protected void runAnnotations(Class<?> clazz, Object target) throws Throwable
    {
+      runAnnotations(clazz, target, BeanAccessMode.STANDARD);
+   }
+
+   protected void runAnnotations(Class<?> clazz, Object target, BeanAccessMode mode) throws Throwable
+   {
       KernelController controller = getController();
       String className = clazz.getName();
       String name = target != null ? target.toString() : (className + System.currentTimeMillis());
       AbstractBeanMetaData beanMetaData = new AbstractBeanMetaData(name, className);
+      beanMetaData.setAccessMode(mode);
       try
       {
          KernelControllerContext context = controller.install(beanMetaData, target);

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/annotations/test/field/SimpleFieldTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/annotations/test/field/SimpleFieldTestCase.java	2008-03-17 22:35:21 UTC (rev 70934)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/annotations/test/field/SimpleFieldTestCase.java	2008-03-17 22:36:26 UTC (rev 70935)
@@ -31,6 +31,7 @@
 import org.jboss.test.kernel.annotations.support.MockFieldBeanAnnotationAdapter;
 import org.jboss.test.kernel.annotations.support.MockFieldTester;
 import org.jboss.test.kernel.annotations.support.MockInjectPlugin;
+import org.jboss.beans.info.spi.BeanAccessMode;
 
 /**
  * Simple field test.
@@ -59,8 +60,8 @@
       MockFieldTester tester = new MockFieldTester();
       try
       {
-         runAnnotationsOnTarget(tester);
-         Set<String> expected = new HashSet<String>(Arrays.asList("date"));//, "time", "string"));
+         runAnnotationsOnTarget(tester, BeanAccessMode.ALL);
+         Set<String> expected = new HashSet<String>(Arrays.asList("date", "time", "string"));
          assertEquals(expected, MockInjectPlugin.INSTANCE.getFieldNames());
       }
       finally

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryJaxbTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryJaxbTestCase.java	2008-03-17 22:35:21 UTC (rev 70934)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryJaxbTestCase.java	2008-03-17 22:36:26 UTC (rev 70935)
@@ -28,6 +28,7 @@
 import junit.framework.Test;
 
 import org.jboss.beans.metadata.spi.factory.GenericBeanFactoryMetaData;
+import org.jboss.beans.info.spi.BeanAccessMode;
 import org.jboss.dependency.spi.ControllerMode;
 
 /**
@@ -44,6 +45,7 @@
       assertEquals("Name1", factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -65,6 +67,7 @@
       assertNull(factory.getName());
       assertEquals(Object.class.getName(), factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -86,6 +89,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertEquals(ControllerMode.MANUAL, factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -101,12 +105,35 @@
       assertNull(factory.getUninstallCallbacks());
    }
 
+   public void testBeanFactoryWithAccessMode() throws Exception
+   {
+      GenericBeanFactoryMetaData factory = unmarshalBeanFactory();
+      assertNull(factory.getName());
+      assertEquals("Dummy", factory.getBean());
+      assertNull(factory.getMode());
+      assertEquals(BeanAccessMode.FIELDS, factory.getAccessMode());
+      assertNull(factory.getAnnotations());
+      assertNull(factory.getClassLoader());
+      assertNull(factory.getConstructor());
+      assertNull(factory.getProperties());
+      assertNull(factory.getCreate());
+      assertNull(factory.getStart());
+      assertNull(factory.getDepends());
+      assertNull(factory.getDemands());
+      assertNull(factory.getSupplies());
+      assertNull(factory.getInstalls());
+      assertNull(factory.getUninstalls());
+      assertNull(factory.getInstallCallbacks());
+      assertNull(factory.getUninstallCallbacks());
+   }
+
    public void testBeanFactoryWithClassLoader() throws Exception
    {
       GenericBeanFactoryMetaData factory = unmarshalBeanFactory();
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNotNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -128,6 +155,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNotNull(factory.getConstructor());
@@ -150,6 +178,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -174,6 +203,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -200,6 +230,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -221,6 +252,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -242,6 +274,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -265,6 +298,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -290,6 +324,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -313,6 +348,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -338,6 +374,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -361,6 +398,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -386,6 +424,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -409,6 +448,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -434,6 +474,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -457,6 +498,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -482,6 +524,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -505,6 +548,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -530,6 +574,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -553,6 +598,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryTestCase.java	2008-03-17 22:35:21 UTC (rev 70934)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanFactoryTestCase.java	2008-03-17 22:36:26 UTC (rev 70935)
@@ -27,6 +27,7 @@
 import junit.framework.Test;
 
 import org.jboss.beans.metadata.spi.factory.GenericBeanFactoryMetaData;
+import org.jboss.beans.info.spi.BeanAccessMode;
 import org.jboss.dependency.spi.ControllerMode;
 
 /**
@@ -43,6 +44,7 @@
       assertEquals("Name1", factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -63,6 +65,7 @@
       assertNull(factory.getName());
       assertEquals(Object.class.getName(), factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -83,6 +86,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertEquals(ControllerMode.MANUAL, factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -97,12 +101,34 @@
       assertNull(factory.getUninstallCallbacks());
    }
 
+   public void testBeanFactoryWithAccessMode() throws Exception
+   {
+      GenericBeanFactoryMetaData factory = unmarshalBeanFactory("BeanFactoryWithAccessMode.xml");
+      assertNull(factory.getName());
+      assertEquals("Dummy", factory.getBean());
+      assertNull(factory.getMode());
+      assertEquals(BeanAccessMode.FIELDS, factory.getAccessMode());
+      assertNull(factory.getAnnotations());
+      assertNull(factory.getClassLoader());
+      assertNull(factory.getConstructor());
+      assertNull(factory.getProperties());
+      assertNull(factory.getCreate());
+      assertNull(factory.getStart());
+      assertNull(factory.getDemands());
+      assertNull(factory.getSupplies());
+      assertNull(factory.getInstalls());
+      assertNull(factory.getUninstalls());
+      assertNull(factory.getInstallCallbacks());
+      assertNull(factory.getUninstallCallbacks());
+   }
+
    public void testBeanFactoryWithClassLoader() throws Exception
    {
       GenericBeanFactoryMetaData factory = unmarshalBeanFactory("BeanFactoryWithClassLoader.xml");
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNotNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -123,6 +149,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNotNull(factory.getConstructor());
@@ -143,6 +170,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -165,6 +193,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -189,6 +218,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -209,6 +239,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -229,6 +260,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -251,6 +283,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -275,6 +308,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -297,6 +331,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -321,6 +356,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -343,6 +379,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -367,6 +404,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -389,6 +427,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -413,6 +452,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());
@@ -435,6 +475,7 @@
       assertNull(factory.getName());
       assertEquals("Dummy", factory.getBean());
       assertNull(factory.getMode());
+      assertNull(factory.getAccessMode());
       assertNull(factory.getAnnotations());
       assertNull(factory.getClassLoader());
       assertNull(factory.getConstructor());

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanJaxbTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanJaxbTestCase.java	2008-03-17 22:35:21 UTC (rev 70934)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanJaxbTestCase.java	2008-03-17 22:36:26 UTC (rev 70935)
@@ -26,6 +26,7 @@
 
 import junit.framework.Test;
 import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
+import org.jboss.beans.info.spi.BeanAccessMode;
 import org.jboss.dependency.spi.ControllerMode;
 import org.jboss.test.kernel.deployment.xml.support.Annotation1;
 import org.jboss.test.kernel.deployment.xml.support.Annotation2;
@@ -45,6 +46,7 @@
       assertEquals("Name1", bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -67,6 +69,7 @@
       assertNull(bean.getName());
       assertEquals(Object.class.getName(), bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -89,6 +92,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertEquals(ControllerMode.MANUAL, bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -105,12 +109,36 @@
       assertNull(bean.getUninstallCallbacks());
    }
 
+   public void testBeanWithAccessMode() throws Exception
+   {
+      AbstractBeanMetaData bean = unmarshalBean();
+      assertNull(bean.getName());
+      assertEquals("Dummy", bean.getBean());
+      assertNull(bean.getMode());
+      assertEquals(BeanAccessMode.FIELDS, bean.getAccessMode());
+      assertNull(bean.getAnnotations());
+      assertNull(bean.getClassLoader());
+      assertNull(bean.getConstructor());
+      assertNull(bean.getProperties());
+      assertNull(bean.getCreate());
+      assertNull(bean.getStart());
+      assertNull(bean.getStop());
+      assertNull(bean.getDestroy());
+      assertNull(bean.getDemands());
+      assertNull(bean.getSupplies());
+      assertNull(bean.getInstalls());
+      assertNull(bean.getUninstalls());
+      assertNull(bean.getInstallCallbacks());
+      assertNull(bean.getUninstallCallbacks());
+   }
+
    public void testBeanWithAnnotation() throws Exception
    {
       AbstractBeanMetaData bean = unmarshalBean();
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       HashSet<String> expected = new HashSet<String>();
       expected.add(Annotation1.class.getName());
       assertAnnotations(expected, bean.getAnnotations());
@@ -135,6 +163,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       HashSet<String> expected = new HashSet<String>();
       expected.add(Annotation1.class.getName());
       expected.add(Annotation2.class.getName());
@@ -161,6 +190,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNotNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -183,6 +213,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNotNull(bean.getConstructor());
@@ -205,6 +236,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -229,6 +261,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -255,6 +288,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -277,6 +311,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -299,6 +334,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -321,6 +357,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -343,6 +380,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -367,6 +405,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -393,6 +432,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -417,6 +457,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -443,6 +484,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -467,6 +509,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -493,6 +536,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -517,6 +561,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -543,6 +588,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -567,6 +613,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -593,6 +640,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -617,6 +665,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -643,6 +692,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -667,6 +717,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanTestCase.java	2008-03-17 22:35:21 UTC (rev 70934)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/BeanTestCase.java	2008-03-17 22:36:26 UTC (rev 70935)
@@ -27,6 +27,7 @@
 import junit.framework.Test;
 import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
 import org.jboss.beans.metadata.api.model.AutowireType;
+import org.jboss.beans.info.spi.BeanAccessMode;
 import org.jboss.dependency.spi.ControllerMode;
 
 /**
@@ -43,6 +44,7 @@
       assertEquals("Name1", bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -65,6 +67,7 @@
       assertNull(bean.getName());
       assertEquals(Object.class.getName(), bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -87,6 +90,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertEquals(ControllerMode.MANUAL, bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -103,12 +107,36 @@
       assertNull(bean.getUninstallCallbacks());
    }
 
+   public void testBeanWithAccessMode() throws Exception
+   {
+      AbstractBeanMetaData bean = unmarshalBean("BeanWithAccessMode.xml");
+      assertNull(bean.getName());
+      assertEquals("Dummy", bean.getBean());
+      assertNull(bean.getMode());
+      assertEquals(BeanAccessMode.FIELDS, bean.getAccessMode());
+      assertNull(bean.getAnnotations());
+      assertNull(bean.getClassLoader());
+      assertNull(bean.getConstructor());
+      assertNull(bean.getProperties());
+      assertNull(bean.getCreate());
+      assertNull(bean.getStart());
+      assertNull(bean.getStop());
+      assertNull(bean.getDestroy());
+      assertNull(bean.getDemands());
+      assertNull(bean.getSupplies());
+      assertNull(bean.getInstalls());
+      assertNull(bean.getUninstalls());
+      assertNull(bean.getInstallCallbacks());
+      assertNull(bean.getUninstallCallbacks());
+   }
+
    public void testBeanWithAnnotation() throws Exception
    {
       AbstractBeanMetaData bean = unmarshalBean("BeanWithAnnotation.xml");
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       HashSet<String> expected = new HashSet<String>();
       expected.add("org.jboss.test.kernel.deployment.xml.support.Annotation1");
       assertAnnotations(expected, bean.getAnnotations());
@@ -133,6 +161,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       HashSet<String> expected = new HashSet<String>();
       expected.add("org.jboss.test.kernel.deployment.xml.support.Annotation1");
       expected.add("org.jboss.test.kernel.deployment.xml.support.Annotation2");
@@ -159,6 +188,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNotNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -181,6 +211,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNotNull(bean.getConstructor());
@@ -203,6 +234,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -227,6 +259,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -253,6 +286,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -275,6 +309,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -297,6 +332,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -319,6 +355,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -341,6 +378,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -365,6 +403,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -391,6 +430,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -415,6 +455,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -441,6 +482,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -465,6 +507,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -491,6 +534,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -515,6 +559,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -541,6 +586,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -565,6 +611,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -591,6 +638,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -615,6 +663,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -641,6 +690,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -665,6 +715,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -692,6 +743,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -715,6 +767,7 @@
       assertNull(bean.getName());
       assertNull(bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -738,6 +791,7 @@
       assertNull(bean.getName());
       assertNull(bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());
@@ -761,6 +815,7 @@
       assertNull(bean.getName());
       assertEquals("Dummy", bean.getBean());
       assertNull(bean.getMode());
+      assertNull(bean.getAccessMode());
       assertNull(bean.getAnnotations());
       assertNull(bean.getClassLoader());
       assertNull(bean.getConstructor());




More information about the jboss-cvs-commits mailing list