[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