[jboss-cvs] JBossAS SVN: r72183 - in projects/microcontainer/trunk/kernel/src: main/org/jboss/beans/metadata/plugins/factory and 4 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Apr 14 11:40:07 EDT 2008


Author: alesj
Date: 2008-04-14 11:40:07 -0400 (Mon, 14 Apr 2008)
New Revision: 72183

Removed:
   projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/OldConfigureAction.java
Modified:
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractCallbackMetaData.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractTypeMetaData.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/factory/GenericBeanFactory.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/ConfigureAction.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/config/KernelConfigurator.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/AbstractKernelConfigTest.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/ConfigureAttributeFromObjectTestCase.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/ConfigureAttributeFromStringTestCase.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/ConfigureFromStringTestCase.java
Log:
[JBMICROCONT-25]; removing getter/setter property joinpoint.

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractCallbackMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractCallbackMetaData.java	2008-04-14 15:33:06 UTC (rev 72182)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractCallbackMetaData.java	2008-04-14 15:40:07 UTC (rev 72183)
@@ -22,7 +22,6 @@
 package org.jboss.beans.metadata.plugins;
 
 import java.io.Serializable;
-
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlTransient;
 

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractTypeMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractTypeMetaData.java	2008-04-14 15:33:06 UTC (rev 72182)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractTypeMetaData.java	2008-04-14 15:40:07 UTC (rev 72183)
@@ -180,10 +180,10 @@
                if (target != null)
                {
                   BeanInfo beanInfo = configurator.getBeanInfo(target.getClass());
-                  PropertyInfo pi = Configurator.resolveProperty(log.isTraceEnabled(), beanInfo, cl, propertyName, null);
+                  PropertyInfo pi = beanInfo.getProperty(propertyName);
                   if (pi.isReadable())
                   {
-                     result = ((AttributeDispatchContext)context).get(propertyName);
+                     result = pi.get(target);
                   }
                }
             }

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-04-14 15:33:06 UTC (rev 72182)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/factory/GenericBeanFactory.java	2008-04-14 15:40:07 UTC (rev 72183)
@@ -24,10 +24,10 @@
 import java.util.Map;
 
 import org.jboss.beans.info.spi.BeanInfo;
+import org.jboss.beans.info.spi.PropertyInfo;
 import org.jboss.beans.metadata.spi.ValueMetaData;
 import org.jboss.beans.metadata.spi.factory.AbstractBeanFactory;
 import org.jboss.joinpoint.spi.Joinpoint;
-import org.jboss.joinpoint.spi.TargettedJoinpoint;
 import org.jboss.kernel.plugins.config.Configurator;
 import org.jboss.kernel.spi.config.KernelConfigurator;
 import org.jboss.kernel.spi.dependency.KernelControllerContext;
@@ -97,9 +97,8 @@
          {
             String property = entry.getKey();
             ValueMetaData vmd = entry.getValue();
-            TargettedJoinpoint jp = configurator.getPropertySetterJoinPoint(info, property, cl, vmd);
-            jp.setTarget(result);
-            jp.dispatch();
+            PropertyInfo pi = info.getProperty(property);
+            pi.set(result, vmd.getValue(pi.getType(), cl));
          }
       }
       invokeLifecycle("create", create, info, cl, result);

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-04-14 15:33:06 UTC (rev 72182)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/AbstractKernelConfigurator.java	2008-04-14 15:40:07 UTC (rev 72183)
@@ -22,19 +22,14 @@
 package org.jboss.kernel.plugins.config;
 
 import java.util.List;
-import java.util.Set;
 
-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.info.spi.BeanInfo;
 import org.jboss.beans.metadata.spi.BeanMetaData;
 import org.jboss.beans.metadata.spi.ConstructorMetaData;
 import org.jboss.beans.metadata.spi.ParameterMetaData;
-import org.jboss.beans.metadata.spi.PropertyMetaData;
-import org.jboss.beans.metadata.spi.ValueMetaData;
 import org.jboss.joinpoint.spi.Joinpoint;
 import org.jboss.joinpoint.spi.MethodJoinpoint;
-import org.jboss.joinpoint.spi.TargettedJoinpoint;
 import org.jboss.kernel.Kernel;
 import org.jboss.kernel.plugins.AbstractKernelObject;
 import org.jboss.kernel.spi.config.KernelConfig;
@@ -137,47 +132,6 @@
       return Configurator.getConstructorJoinPoint(config, info, metaData, beanMetaData);
    }
 
-   public TargettedJoinpoint getPropertyGetterJoinPoint(BeanInfo info, String property) throws Throwable
-   {
-      return Configurator.getPropertyGetterJoinPoint(info, property);
-   }
-
-   public Set<TargettedJoinpoint> getPropertySetterJoinPoints(BeanInfo info, BeanMetaData metaData) throws Throwable
-   {
-      return Configurator.getPropertySetterJoinPoints(info, metaData);
-   }
-
-   public TargettedJoinpoint getPropertySetterJoinPoint(BeanInfo info, ClassLoader cl, PropertyMetaData metaData) throws Throwable
-   {
-      return Configurator.getPropertySetterJoinPoint(info, cl, metaData);
-   }
-
-   public TargettedJoinpoint getPropertySetterJoinPoint(PropertyInfo info, ClassLoader cl, PropertyMetaData metaData) throws Throwable
-   {
-      return Configurator.getPropertySetterJoinPoint(info, cl,  metaData);
-   }
-
-   public TargettedJoinpoint getPropertySetterJoinPoint(BeanInfo info, String property, ClassLoader cl, ValueMetaData vmd) throws Throwable
-   {
-      return Configurator.getPropertySetterJoinPoint(info, property, cl, vmd);
-   }
-
-   public Set<TargettedJoinpoint> getPropertyNullerJoinPoints(BeanInfo info, BeanMetaData metaData) throws Throwable
-   {
-      return Configurator.getPropertyNullerJoinPoints(info, metaData);
-   }
-
-   @Deprecated
-   public TargettedJoinpoint getPropertyNullerJoinPoint(BeanInfo info, PropertyMetaData metaData) throws Throwable
-   {
-      return Configurator.getPropertyNullerJoinPoint(info, metaData);
-   }
-
-   public TargettedJoinpoint getPropertyNullerJoinPoint(PropertyInfo info, PropertyMetaData metaData) throws Throwable
-   {
-      return Configurator.getPropertyNullerJoinPoint(info, metaData);
-   }
-   
    public MethodJoinpoint getMethodJoinPoint(BeanInfo info, ClassLoader cl, String name, List<ParameterMetaData> parameters, boolean isStatic, boolean isPublic) throws Throwable
    {
       return Configurator.findMethod(info, cl, name, parameters, isStatic, isPublic);

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-04-14 15:33:06 UTC (rev 72182)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/Configurator.java	2008-04-14 15:40:07 UTC (rev 72183)
@@ -22,7 +22,6 @@
 package org.jboss.kernel.plugins.config;
 
 import java.util.Collections;
-import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
@@ -41,9 +40,12 @@
 import org.jboss.joinpoint.spi.JoinpointException;
 import org.jboss.joinpoint.spi.JoinpointFactory;
 import org.jboss.joinpoint.spi.MethodJoinpoint;
-import org.jboss.joinpoint.spi.TargettedJoinpoint;
 import org.jboss.kernel.spi.config.KernelConfig;
-import org.jboss.reflect.spi.*;
+import org.jboss.reflect.spi.ClassInfo;
+import org.jboss.reflect.spi.ConstructorInfo;
+import org.jboss.reflect.spi.MethodInfo;
+import org.jboss.reflect.spi.TypeInfo;
+import org.jboss.reflect.spi.TypeInfoFactory;
 
 /**
  * Configuration utilities.
@@ -345,191 +347,12 @@
       if (trace)
          log.trace("Configuring info=" + info + " metaData=" + metaData);
 
-      TargettedJoinpoint joinPoint = getPropertySetterJoinPoint(trace, info, cl, metaData.getValue());
-      joinPoint.setTarget(object);
-
       if (trace)
-         log.trace("Setting property " + joinPoint);
-
-      joinPoint.dispatch();
+         log.trace("Setting property " + info);
+      info.set(object, metaData.getValue().getValue(info.getType(), cl));
    }
 
    /**
-    * Get property getter for an property
-    *
-    * @param info the bean info
-    * @param property the property name
-    * @return the joinpoint
-    * @throws Throwable for any error
-    */
-   public static TargettedJoinpoint getPropertyGetterJoinPoint(BeanInfo info, String property) throws Throwable
-   {
-      boolean trace = log.isTraceEnabled();
-      PropertyInfo ainfo = resolveProperty(trace, info, property);
-      return getPropertyGetterJoinPoint(trace, ainfo);
-   }
-
-   /**
-    * Get an property getter joinpoint
-    *
-    * @param trace whether trace is enabled
-    * @param info the property info
-    * @return the joinpoint
-    * @throws Throwable for any error
-    */
-   public static TargettedJoinpoint getPropertyGetterJoinPoint(boolean trace, PropertyInfo info) throws Throwable
-   {
-      if (trace)
-         log.trace("Get property setter join point info=" + info);
-
-      if (info == null)
-         throw new IllegalArgumentException("Null property info");
-
-      JoinpointFactory jpf = info.getBeanInfo().getJoinpointFactory();
-      MethodInfo minfo = info.getGetter();
-      FieldInfo finfo = info.getFieldInfo();
-      if (minfo != null)
-         return getMethodJoinpoint(null, jpf, minfo.getName(), null, null);
-      else if (finfo != null)
-         return getFieldGetJoinpoint(null, jpf, finfo.getName());
-      else
-         throw new IllegalArgumentException("Property is write only: " + info);
-   }
-
-   /**
-    * Get the property setters for a bean
-    *
-    * @param info the bean info
-    * @param metaData the bean metadata
-    * @return the property setters
-    * @throws Throwable for any error
-    */
-   public static Set<TargettedJoinpoint> getPropertySetterJoinPoints(BeanInfo info, BeanMetaData metaData) throws Throwable
-   {
-      boolean trace = log.isTraceEnabled();
-
-      if (info == null)
-         throw new IllegalArgumentException("Null bean info");
-      if (metaData == null)
-         throw new IllegalArgumentException("Null bean metadata");
-
-      Set<TargettedJoinpoint> result = new HashSet<TargettedJoinpoint>();
-      Set<PropertyMetaData> propertys = metaData.getProperties();
-      if (propertys != null && propertys.isEmpty() == false)
-      {
-         ClassLoader cl = getClassLoader(metaData);
-
-         for (Iterator<PropertyMetaData> i = metaData.getProperties().iterator(); i.hasNext();)
-         {
-            PropertyMetaData property = i.next();
-            TargettedJoinpoint joinPoint = getPropertySetterJoinPoint(trace, info, cl, property);
-            result.add(joinPoint);
-         }
-      }
-
-      return result;
-   }
-
-   /**
-    * Get property setter for an property
-    *
-    * @param info the bean info
-    * @param cl the classloader
-    * @param metaData the property metadata
-    * @return the joinpoint
-    * @throws Throwable for any error
-    */
-   public static TargettedJoinpoint getPropertySetterJoinPoint(BeanInfo info, ClassLoader cl, PropertyMetaData metaData) throws Throwable
-   {
-      boolean trace = log.isTraceEnabled();
-      return getPropertySetterJoinPoint(trace, info, cl, metaData);
-   }
-
-   /**
-    * Get property setter for an property
-    *
-    * @param trace whether trace is enabled
-    * @param info the bean info
-    * @param cl the classloader
-    * @param metaData the property metadata
-    * @return the joinpoint
-    * @throws Throwable for any error
-    */
-   public static TargettedJoinpoint getPropertySetterJoinPoint(boolean trace, BeanInfo info, ClassLoader cl, PropertyMetaData metaData) throws Throwable
-   {
-      PropertyInfo ainfo = resolveProperty(trace, info, cl, metaData.getName(), metaData.getType());
-      return getPropertySetterJoinPoint(trace, ainfo, cl, metaData.getValue());
-   }
-
-   /**
-    * Get property setter for an property
-    *
-    * @param info the property info
-    * @param cl the classloader
-    * @param metaData the property metadata
-    * @return the joinpoint
-    * @throws Throwable for any error
-    */
-   public static TargettedJoinpoint getPropertySetterJoinPoint(PropertyInfo info, ClassLoader cl, PropertyMetaData metaData) throws Throwable
-   {
-      boolean trace = log.isTraceEnabled();
-      return getPropertySetterJoinPoint(trace, info, cl, metaData.getValue());
-   }
-
-   /**
-    * Get property setter for an property
-    *
-    * @param info the bean info
-    * @param property the property name
-    * @param cl the classloader
-    * @param vmd the value meta data
-    * @return the joinpoint
-    * @throws Throwable for any error
-    */
-   public static TargettedJoinpoint getPropertySetterJoinPoint(BeanInfo info, String property, ClassLoader cl, ValueMetaData vmd) throws Throwable
-   {
-      boolean trace = log.isTraceEnabled();
-      PropertyInfo ainfo = resolveProperty(trace, info, property);
-      return getPropertySetterJoinPoint(trace, ainfo, cl, vmd);
-   }
-
-   /**
-    * Get an property setter joinpoint
-    *
-    * @param trace whether trace is enabled
-    * @param info the property info
-    * @param cl the classloader
-    * @param metaData the value metadata
-    * @return the joinpoint
-    * @throws Throwable for any error
-    */
-   public static TargettedJoinpoint getPropertySetterJoinPoint(boolean trace, PropertyInfo info, ClassLoader cl, ValueMetaData metaData) throws Throwable
-   {
-      if (trace)
-         log.trace("Get property setter join point info=" + info + " metaData=" + metaData);
-
-      if (info == null)
-         throw new IllegalArgumentException("Null property info");
-      if (metaData == null)
-         throw new IllegalArgumentException("Null value metadata");
-
-      TypeInfo type = info.getType();
-      Object value = metaData.getValue(type, cl);
-      JoinpointFactory jpf = info.getBeanInfo().getJoinpointFactory();
-      MethodInfo minfo = info.getSetter();
-      FieldInfo finfo = info.getFieldInfo();
-      if (minfo != null)
-      {
-         String[] parameterTypes = getParameterTypes(trace, minfo.getParameterTypes());
-         return getMethodJoinpoint(null, jpf, minfo.getName(), parameterTypes, new Object[] { value });
-      }
-      else if (finfo != null)
-         return getFieldSetJoinpoint(null, jpf, finfo.getName(), value);
-      else
-         throw new IllegalArgumentException("Property is read only: " + info);
-   }
-
-   /**
     * Unconfigure a bean
     *
     * @param object the object to unconfigure
@@ -588,106 +411,12 @@
       if (trace)
          log.trace("Unconfiguring info=" + info + " metaData=" + metaData);
 
-      TargettedJoinpoint joinPoint = getPropertyNullerJoinPoint(info, metaData);
-      joinPoint.setTarget(object);
-
       if (trace)
-         log.trace("Unsetting property " + joinPoint);
-
-      joinPoint.dispatch();
+         log.trace("Unsetting property " + info);
+      info.set(object, null);
    }
 
    /**
-    * Get property nuller joinpoints for a bean
-    *
-    * @param info the bean info
-    * @param metaData the bean metadata
-    * @return the join points
-    * @throws Throwable for any error
-    */
-   public static Set<TargettedJoinpoint> getPropertyNullerJoinPoints(BeanInfo info, BeanMetaData metaData) throws Throwable
-   {
-      if (info == null)
-         throw new IllegalArgumentException("Null bean info");
-      if (metaData == null)
-         throw new IllegalArgumentException("Null bean metadata");
-
-      Set<TargettedJoinpoint> result = new HashSet<TargettedJoinpoint>();
-      Set<PropertyMetaData> propertys = metaData.getProperties();
-      if (propertys != null && propertys.isEmpty() == false)
-      {
-         for (Iterator<PropertyMetaData> i = metaData.getProperties().iterator(); i.hasNext();)
-         {
-            PropertyMetaData property = i.next();
-            TargettedJoinpoint joinPoint = getPropertyNullerJoinPoint(info, property);
-            result.add(joinPoint);
-         }
-      }
-      return result;
-   }
-
-   /**
-    * Get property nuller joinpoint for a property
-    *
-    * @param info the bean info
-    * @param metaData the property metadata
-    * @return the join point
-    * @throws Throwable for any error
-    * @deprecated must use ClassLoader when determinig PropertyInfo
-    */
-   public static TargettedJoinpoint getPropertyNullerJoinPoint(BeanInfo info, PropertyMetaData metaData) throws Throwable
-   {
-      return getPropertyNullerJoinPoint(null, info, metaData);
-   }
-
-   /**
-    * Get property nuller joinpoint for a property
-    *
-    * @param cl the bean classloader
-    * @param info the bean info
-    * @param metaData the property metadata
-    * @return the join point
-    * @throws Throwable for any error
-    */
-   public static TargettedJoinpoint getPropertyNullerJoinPoint(ClassLoader cl, BeanInfo info, PropertyMetaData metaData) throws Throwable
-   {
-      boolean trace = log.isTraceEnabled();
-      PropertyInfo ainfo = resolveProperty(trace, info, cl, metaData.getName(), metaData.getType());
-      return getPropertyNullerJoinPoint(ainfo, metaData);
-   }
-
-   /**
-    * Get property nuller joinpoint for a property
-    *
-    * @param info the property info
-    * @param metaData the property metadata
-    * @return the join point
-    * @throws Throwable for any error
-    */
-   public static TargettedJoinpoint getPropertyNullerJoinPoint(PropertyInfo info, PropertyMetaData metaData) throws Throwable
-   {
-      boolean trace = log.isTraceEnabled();
-      if (trace)
-         log.trace("Get property nuller join point info=" + info + " metaData=" + metaData);
-
-      if (info == null)
-         throw new IllegalArgumentException("Null property info");
-
-      JoinpointFactory jpf = info.getBeanInfo().getJoinpointFactory();
-      MethodInfo minfo = info.getSetter();
-      FieldInfo finfo = info.getFieldInfo();
-      if (minfo != null)
-      {
-         String[] parameterTypes = getParameterTypes(trace, minfo.getParameterTypes());
-         return getMethodJoinpoint(null, jpf, minfo.getName(), parameterTypes, new Object[] { null });
-      }
-      else if (finfo != null)
-         return getFieldSetJoinpoint(null, jpf, finfo.getName(), null);
-      else
-         throw new IllegalArgumentException("Property is read only: " + info);
-   }
-
-   /**
     * Get the property info
     *
     * @param trace whether trace is enabled
@@ -726,26 +455,18 @@
       if (cl == null)
          cl = info.getClassInfo().getType().getClassLoader();
 
-      Set<PropertyInfo> properties = info.getProperties();
-      if (properties != null && properties.size() > 0)
-      {
-         ClassInfo classInfo = info.getClassInfo();
-         TypeInfoFactory tif = classInfo.getTypeInfoFactory();
-         if (tif == null)
-            throw new IllegalArgumentException("TypeInfoFactory is null: " + classInfo);
+      PropertyInfo ainfo = info.getProperty(name);
+      ClassInfo classInfo = info.getClassInfo();
+      TypeInfoFactory tif = classInfo.getTypeInfoFactory();
+      if (tif == null)
+         throw new IllegalArgumentException("TypeInfoFactory is null: " + classInfo);
 
-         for (PropertyInfo ainfo : properties)
-         {
-            if (name.equals(ainfo.getName()))
-            {
-               String[] typeNames = {type};
-               TypeInfo[] typeInfos = {ainfo.getType()};
-               if (equals(typeNames, typeInfos) || isAssignable(tif, cl, typeNames, typeInfos))
-               {
-                  return ainfo;
-               }
-            }
-         }
+      // check for possible progression
+      String[] typeNames = {type};
+      TypeInfo[] typeInfos = {ainfo.getType()};
+      if (equals(typeNames, typeInfos) || isAssignable(tif, cl, typeNames, typeInfos))
+      {
+         return ainfo;
       }
 
       throw new JoinpointException("Property " + name + " not found for " + info);

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/ConfigureAction.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/ConfigureAction.java	2008-04-14 15:33:06 UTC (rev 72182)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/ConfigureAction.java	2008-04-14 15:40:07 UTC (rev 72183)
@@ -31,7 +31,6 @@
 
 /**
  * New ConfigureAction.
- * @see org.jboss.kernel.plugins.dependency.OldConfigureAction
  *
  * @author <a href="ales.justin at jboss.com">Ales Justin</a>
  */

Deleted: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/OldConfigureAction.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/OldConfigureAction.java	2008-04-14 15:33:06 UTC (rev 72182)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/OldConfigureAction.java	2008-04-14 15:40:07 UTC (rev 72183)
@@ -1,116 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.kernel.plugins.dependency;
-
-import java.util.Set;
-
-import org.jboss.beans.info.spi.BeanInfo;
-import org.jboss.beans.metadata.spi.BeanMetaData;
-import org.jboss.joinpoint.spi.TargettedJoinpoint;
-import org.jboss.kernel.Kernel;
-import org.jboss.kernel.spi.config.KernelConfigurator;
-import org.jboss.kernel.spi.dependency.KernelController;
-import org.jboss.kernel.spi.dependency.KernelControllerContext;
-
-/**
- * OldConfigureAction.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 64100 $
- */
-public class OldConfigureAction extends AbstractConfigureAction
-{
-   protected void installActionInternal(KernelControllerContext context) throws Throwable
-   {
-      KernelController controller = (KernelController) context.getController();
-      Kernel kernel = controller.getKernel();
-      KernelConfigurator configurator = kernel.getConfigurator();
-
-      Object object = context.getTarget();
-      BeanInfo info = context.getBeanInfo();
-      BeanMetaData metaData = context.getBeanMetaData();
-      Set<TargettedJoinpoint> joinPoints = configurator.getPropertySetterJoinPoints(info, metaData);
-      setAttributes(context, object, joinPoints, false);
-
-      installKernelControllerContextAware(context);
-   }
-
-   protected void uninstallActionInternal(KernelControllerContext context)
-   {
-      uninstallKernelControllerContextAware(context);
-
-      KernelController controller = (KernelController) context.getController();
-      Kernel kernel = controller.getKernel();
-      KernelConfigurator configurator = kernel.getConfigurator();
-
-      Object object = context.getTarget();
-      BeanInfo info = context.getBeanInfo();
-      BeanMetaData metaData = context.getBeanMetaData();
-      try
-      {
-         Set<TargettedJoinpoint> joinPoints = configurator.getPropertyNullerJoinPoints(info, metaData);
-         setAttributes(context, object, joinPoints, true);
-      }
-      catch (Throwable t)
-      {
-         log.warn("Error unconfiguring bean " + context, t);
-      }
-   }
-
-   /**
-    * Set the attributes
-    *
-    * @param context      the context
-    * @param target       the target
-    * @param joinPoints   the attribute setter joinpoints
-    * @param ignoreErrors whether to ignore errors
-    * @throws Throwable for any unignored error
-    */
-   protected void setAttributes(KernelControllerContext context, Object target, Set<TargettedJoinpoint> joinPoints, boolean ignoreErrors) throws Throwable
-   {
-      if (joinPoints.isEmpty() == false)
-      {
-         boolean trace = log.isTraceEnabled();
-
-         for (TargettedJoinpoint joinPoint : joinPoints)
-         {
-            joinPoint.setTarget(target);
-            try
-            {
-               dispatchJoinPoint(context, joinPoint);
-            }
-            catch (Throwable t)
-            {
-               if (ignoreErrors)
-               {
-                  if (trace)
-                     log.trace("Ignored for " + joinPoint, t);
-               }
-               else
-               {
-                  throw t;
-               }
-            }
-         }
-      }
-   }
-}

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-04-14 15:33:06 UTC (rev 72182)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/config/KernelConfigurator.java	2008-04-14 15:40:07 UTC (rev 72183)
@@ -22,19 +22,14 @@
 package org.jboss.kernel.spi.config;
 
 import java.util.List;
-import java.util.Set;
 
-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.info.spi.BeanInfo;
+import org.jboss.beans.metadata.spi.BeanMetaData;
 import org.jboss.beans.metadata.spi.ConstructorMetaData;
 import org.jboss.beans.metadata.spi.ParameterMetaData;
-import org.jboss.beans.metadata.spi.PropertyMetaData;
-import org.jboss.beans.metadata.spi.BeanMetaData;
-import org.jboss.beans.metadata.spi.ValueMetaData;
 import org.jboss.joinpoint.spi.Joinpoint;
 import org.jboss.joinpoint.spi.MethodJoinpoint;
-import org.jboss.joinpoint.spi.TargettedJoinpoint;
 import org.jboss.kernel.spi.KernelObject;
 import org.jboss.reflect.spi.ClassInfo;
 import org.jboss.reflect.spi.TypeInfo;
@@ -179,98 +174,13 @@
     * 
     * @param info the bean info
     * @param metaData the constructor metadata
-    * @param beanMetaData
+    * @param beanMetaData the bean metadata
     * @return the join point
     * @throws Throwable for any error
     */
    Joinpoint getConstructorJoinPoint(BeanInfo info, ConstructorMetaData metaData, BeanMetaData beanMetaData) throws Throwable;
 
    /**
-    * Get property getter join point
-    * 
-    * @param info the bean info
-    * @param property the property name
-    * @return the join point
-    * @throws Throwable for any error
-    */
-   TargettedJoinpoint getPropertyGetterJoinPoint(BeanInfo info, String property) throws Throwable;
-
-   /**
-    * Get property setter join points
-    * 
-    * @param info the bean info
-    * @param metaData the bean metadata
-    * @return the join points
-    * @throws Throwable for any error
-    */
-   Set<TargettedJoinpoint> getPropertySetterJoinPoints(BeanInfo info, BeanMetaData metaData) throws Throwable;
-
-   /**
-    * Get property setter join point
-    * 
-    * @param info the bean info
-    * @param cl the classloader
-    * @param metaData the property metadata
-    * @return the join point
-    * @throws Throwable for any error
-    */
-   TargettedJoinpoint getPropertySetterJoinPoint(BeanInfo info, ClassLoader cl, PropertyMetaData metaData) throws Throwable;
-
-   /**
-    * Get property setter join point
-    * 
-    * @param info the bean info
-    * @param property the property name
-    * @param cl the classloader
-    * @param vmd the value metadata
-    * @return the join point
-    * @throws Throwable for any error
-    */
-   TargettedJoinpoint getPropertySetterJoinPoint(BeanInfo info, String property, ClassLoader cl, ValueMetaData vmd) throws Throwable;
-   
-   /**
-    * Get property setter join point
-    * 
-    * @param info the property info
-    * @param cl the classloader
-    * @param metaData the property metadata
-    * @return the join point
-    * @throws Throwable for any error
-    */
-   TargettedJoinpoint getPropertySetterJoinPoint(PropertyInfo info, ClassLoader cl, PropertyMetaData metaData) throws Throwable;
-
-   /**
-    * Get property nuller join points
-    * 
-    * @param info the bean info
-    * @param metaData the bean metadata
-    * @return the join points
-    * @throws Throwable for any error
-    */
-   Set<TargettedJoinpoint> getPropertyNullerJoinPoints(BeanInfo info, BeanMetaData metaData) throws Throwable;
-
-   /**
-    * Get property nuller join point
-    * 
-    * @param info the bean info
-    * @param metaData the property metadata
-    * @return the join point
-    * @throws Throwable for any error
-    * @deprecated must use ClassLoader when determining PropertyInfo
-    */
-   TargettedJoinpoint getPropertyNullerJoinPoint(BeanInfo info, PropertyMetaData metaData) throws Throwable;
-
-   /**
-    * Get property nuller join point
-    * 
-    * @param info the property info
-    * @param metaData the property metadata
-    * @return the join point
-    * @throws Throwable for any error
-    */
-   TargettedJoinpoint getPropertyNullerJoinPoint(PropertyInfo info, PropertyMetaData metaData) throws Throwable;
-   
-   /**
     * Get a method joinpoint
     * 
     * @param info the bean info

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/AbstractKernelConfigTest.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/AbstractKernelConfigTest.java	2008-04-14 15:33:06 UTC (rev 72182)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/AbstractKernelConfigTest.java	2008-04-14 15:40:07 UTC (rev 72183)
@@ -21,17 +21,20 @@
 */
 package org.jboss.test.kernel.config.test;
 
-import java.util.Iterator;
+import java.util.HashMap;
+import java.util.Map;
 import java.util.Set;
 
 import org.jboss.beans.info.spi.BeanInfo;
+import org.jboss.beans.info.spi.PropertyInfo;
 import org.jboss.beans.metadata.spi.BeanMetaData;
 import org.jboss.beans.metadata.spi.PropertyMetaData;
+import org.jboss.beans.metadata.spi.ValueMetaData;
 import org.jboss.dependency.spi.ControllerMode;
 import org.jboss.dependency.spi.ControllerState;
 import org.jboss.joinpoint.spi.Joinpoint;
-import org.jboss.joinpoint.spi.TargettedJoinpoint;
 import org.jboss.kernel.Kernel;
+import org.jboss.kernel.plugins.config.Configurator;
 import org.jboss.kernel.spi.config.KernelConfigurator;
 import org.jboss.kernel.spi.dependency.KernelController;
 import org.jboss.kernel.spi.dependency.KernelControllerContext;
@@ -131,38 +134,50 @@
    protected void configure(KernelConfigurator configurator, Object bean, BeanMetaData metaData) throws Throwable
    {
       BeanInfo info = configurator.getBeanInfo(metaData);
-      configure(configurator, bean, info, metaData);
+      configure(bean, info, metaData);
    }
 
-   protected void configure(KernelConfigurator configurator, Object bean, BeanInfo info, BeanMetaData metaData) throws Throwable
+   protected static Map<String, ValueMetaData> getPropertyValueMap(BeanMetaData beanMetaData)
    {
-      Set<TargettedJoinpoint> joinPoints = configurator.getPropertySetterJoinPoints(info, metaData);
-      for (Iterator<TargettedJoinpoint> i = joinPoints.iterator(); i.hasNext();)
+      Map<String, ValueMetaData> map = new HashMap<String, ValueMetaData>();
+      Set<PropertyMetaData> properties = beanMetaData.getProperties();
+      if (properties != null && properties.size() > 0)
       {
-         TargettedJoinpoint joinPoint = i.next();
-         joinPoint.setTarget(bean);
-         joinPoint.dispatch();
+         for (PropertyMetaData prop : properties)
+         {
+            map.put(prop.getName(), prop.getValue());
+         }
       }
+      return map;
    }
 
-   protected void configure(KernelConfigurator configurator, Object bean, BeanInfo info, PropertyMetaData metaData) throws Throwable
+   protected void configure(Object bean, BeanInfo info, BeanMetaData metaData) throws Throwable
    {
+      Map<String, ValueMetaData> map = getPropertyValueMap(metaData);
+      Set<PropertyInfo> properties = info.getProperties();
+      for (PropertyInfo pi : properties)
+      {
+         ValueMetaData value = map.get(pi.getName());
+         if (value != null)
+            pi.set(bean, value.getValue(pi.getType(), Configurator.getClassLoader(metaData)));
+      }
+   }
+
+   protected void configure(Object bean, BeanInfo info, PropertyMetaData metaData) throws Throwable
+   {
       ClassLoader cl = getClass().getClassLoader();
-      TargettedJoinpoint joinPoint = configurator.getPropertySetterJoinPoint(info, cl, metaData);
-      joinPoint.setTarget(bean);
-      joinPoint.dispatch();
+      PropertyInfo pi = info.getProperty(metaData.getName());
+      pi.set(bean, metaData.getValue().getValue(pi.getType(), cl));
    }
 
-   protected void unconfigure(KernelConfigurator configurator, Object bean, BeanInfo info, BeanMetaData metaData) throws Throwable
+   protected void unconfigure(Object bean, BeanInfo info) throws Throwable
    {
-      Set<TargettedJoinpoint> joinPoints = configurator.getPropertyNullerJoinPoints(info, metaData);
-      for (Iterator<TargettedJoinpoint> i = joinPoints.iterator(); i.hasNext();)
+      Set<PropertyInfo> properties = info.getProperties();
+      for (PropertyInfo pi : properties)
       {
-         TargettedJoinpoint joinPoint = i.next();
-         joinPoint.setTarget(bean);
          try
          {
-            joinPoint.dispatch();
+            pi.set(bean, null);
          }
          catch (Throwable ignored)
          {

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/ConfigureAttributeFromObjectTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/ConfigureAttributeFromObjectTestCase.java	2008-04-14 15:33:06 UTC (rev 72182)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/ConfigureAttributeFromObjectTestCase.java	2008-04-14 15:40:07 UTC (rev 72183)
@@ -208,7 +208,7 @@
 
       AbstractPropertyMetaData metaData = new AbstractPropertyMetaData(name, value);
       
-      configure(configurator, bean, info, metaData);
+      configure(bean, info, metaData);
       
       return bean;
    }

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/ConfigureAttributeFromStringTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/ConfigureAttributeFromStringTestCase.java	2008-04-14 15:33:06 UTC (rev 72182)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/ConfigureAttributeFromStringTestCase.java	2008-04-14 15:40:07 UTC (rev 72183)
@@ -220,7 +220,7 @@
 
       AbstractPropertyMetaData metaData = new AbstractPropertyMetaData(name, value.toString());
       
-      configure(configurator, bean, info, metaData);
+      configure(bean, info, metaData);
       
       return bean;
    }
@@ -235,7 +235,7 @@
       AbstractPropertyMetaData metaData = new AbstractPropertyMetaData(name, value.toString(), type);
       ((StringValueMetaData) metaData.getValue()).setConfigurator(configurator);
       
-      configure(configurator, bean, info, metaData);
+      configure(bean, info, metaData);
       
       return bean;
    }

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/ConfigureFromStringTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/ConfigureFromStringTestCase.java	2008-04-14 15:33:06 UTC (rev 72182)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/ConfigureFromStringTestCase.java	2008-04-14 15:40:07 UTC (rev 72183)
@@ -182,12 +182,12 @@
 
       metaData.setProperties(attributes);
       
-      configure(configurator, bean, info, metaData);
+      configure(bean, info, metaData);
       return bean;
    }
 
    protected void unconfigure(SimpleBean bean) throws Throwable
    {
-      unconfigure(configurator, bean, info, metaData);
+      unconfigure(bean, info);
    }
 }
\ No newline at end of file




More information about the jboss-cvs-commits mailing list