[jboss-cvs] JBossAS SVN: r70535 - in projects/microcontainer/trunk/kernel/src: main/org/jboss/kernel/plugins/config and 2 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Mar 7 05:27:19 EST 2008
Author: adrian at jboss.org
Date: 2008-03-07 05:27:18 -0500 (Fri, 07 Mar 2008)
New Revision: 70535
Modified:
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractParameterMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractPropertyMetaData.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/StringValueMetaData.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/spi/config/KernelConfig.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/config/KernelConfigurator.java
projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/PropertyJaxbTestCase.java
Log:
[JBMICROCONT-219] - Move the replace/trim, etc to the correct type and initiate in initialVisit. Use getTypeInfo() in StringValueMetaData since a string could be a primitive
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractParameterMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractParameterMetaData.java 2008-03-07 05:18:26 UTC (rev 70534)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractParameterMetaData.java 2008-03-07 10:27:18 UTC (rev 70535)
@@ -72,6 +72,12 @@
*/
protected int index;
+ /** Whether to replace */
+ protected Boolean replace;
+
+ /** Whether to trim */
+ protected Boolean trim;
+
/**
* Create a new parameter meta data
*/
@@ -208,6 +214,36 @@
}
}
+ @XmlAttribute(name="replace")
+ @ManagementProperty(ignored = true)
+ public void setPropertyReplace(boolean replace)
+ {
+ this.replace = replace;
+ }
+
+ @XmlAttribute(name="trim")
+ @ManagementProperty(ignored = true)
+ public void setPropertyTrim(boolean trim)
+ {
+ this.trim = trim;
+ }
+
+ @Override
+ public void initialVisit(MetaDataVisitor visitor)
+ {
+ ValueMetaData vmd = getValue();
+ if (vmd != null && vmd instanceof StringValueMetaData)
+ {
+ StringValueMetaData svmd = (StringValueMetaData) vmd;
+ if (replace != null)
+ svmd.setReplace(replace);
+ if (trim != null)
+ svmd.setTrim(trim);
+ }
+
+ super.initialVisit(visitor);
+ }
+
protected void addChildren(Set<MetaDataVisitorNode> children)
{
super.addChildren(children);
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractPropertyMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractPropertyMetaData.java 2008-03-07 05:18:26 UTC (rev 70534)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractPropertyMetaData.java 2008-03-07 10:27:18 UTC (rev 70535)
@@ -66,6 +66,15 @@
/** The property value */
protected ValueMetaData value;
+ /** The property type */
+ protected String type;
+
+ /** The property replace */
+ private Boolean replace;
+
+ /** Whether to trim */
+ private Boolean trim;
+
/**
* Create a new property meta data
*/
@@ -224,49 +233,30 @@
}
}
+ public String getPropertyType()
+ {
+ return type;
+ }
+
@XmlAttribute(name="class")
@ManagementProperty(ignored = true)
public void setPropertyType(String type)
{
- ValueMetaData valueMetaData = getValue();
- if (valueMetaData != null && valueMetaData instanceof StringValueMetaData == false)
- throw new IllegalArgumentException("Property is not a string");
- if (valueMetaData == null)
- {
- valueMetaData = new StringValueMetaData();
- setValue(valueMetaData);
- }
- ((StringValueMetaData) valueMetaData).setType(type);
+ this.type = type;
}
@XmlAttribute(name="replace")
@ManagementProperty(ignored = true)
public void setPropertyReplace(boolean replace)
{
- ValueMetaData valueMetaData = getValue();
- if (valueMetaData != null && valueMetaData instanceof StringValueMetaData == false)
- throw new IllegalArgumentException("Property is not a string");
- if (valueMetaData == null)
- {
- valueMetaData = new StringValueMetaData();
- setValue(valueMetaData);
- }
- ((StringValueMetaData) valueMetaData).setReplace(replace);
+ this.replace = replace;
}
@XmlAttribute(name="trim")
@ManagementProperty(ignored = true)
public void setPropertyTrim(boolean trim)
{
- ValueMetaData valueMetaData = getValue();
- if (valueMetaData != null && valueMetaData instanceof StringValueMetaData == false)
- throw new IllegalArgumentException("Property is not a string");
- if (valueMetaData == null)
- {
- valueMetaData = new StringValueMetaData();
- setValue(valueMetaData);
- }
- ((StringValueMetaData) valueMetaData).setTrim(trim);
+ this.trim = trim;
}
public void initialVisit(MetaDataVisitor visitor)
@@ -278,6 +268,17 @@
ValueMetaData vmd = getValue();
if (vmd != null && vmd instanceof AbstractInjectionValueMetaData)
((AbstractInjectionValueMetaData) vmd).setPropertyMetaData(this);
+
+ if (vmd != null && vmd instanceof StringValueMetaData)
+ {
+ StringValueMetaData svmd = (StringValueMetaData) vmd;
+ if (type != null)
+ svmd.setType(type);
+ if (replace != null)
+ svmd.setReplace(replace);
+ if (trim != null)
+ svmd.setTrim(trim);
+ }
visitor.setContextState(ControllerState.CONFIGURED);
super.initialVisit(visitor);
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-03-07 05:18:26 UTC (rev 70534)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractTypeMetaData.java 2008-03-07 10:27:18 UTC (rev 70535)
@@ -353,6 +353,26 @@
return configurator.getClassInfo(classType, cl);
}
+ /**
+ * Get the type info for this type
+ *
+ * @param cl classloader
+ * @return the type info
+ * @throws Throwable for any error
+ */
+ protected TypeInfo getTypeInfo(ClassLoader cl) throws Throwable
+ {
+ return getTypeInfo(type, cl);
+ }
+
+ protected TypeInfo getTypeInfo(String classType, ClassLoader cl) throws Throwable
+ {
+ if (classType == null)
+ return null;
+
+ return configurator.getTypeInfo(classType, cl);
+ }
+
protected ClassInfo getClass(MetaDataVisitor visitor, String classType) throws Throwable
{
KernelControllerContext context = visitor.getControllerContext();
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/StringValueMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/StringValueMetaData.java 2008-03-07 05:18:26 UTC (rev 70534)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/StringValueMetaData.java 2008-03-07 10:27:18 UTC (rev 70535)
@@ -104,7 +104,7 @@
if (trace)
log.trace("getValue value=" + getUnderlyingValue() + " type=" + type + " info=" + info);
- TypeInfo typeInfo = getClassInfo(cl);
+ TypeInfo typeInfo = getTypeInfo(cl);
if (typeInfo == null)
typeInfo = info;
if (typeInfo == null)
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-07 05:18:26 UTC (rev 70534)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/AbstractKernelConfig.java 2008-03-07 10:27:18 UTC (rev 70535)
@@ -74,6 +74,16 @@
return configuration.getBeanInfo(typeInfo);
}
+ public TypeInfo getTypeInfo(String className, ClassLoader cl) throws Throwable
+ {
+ return configuration.getTypeInfo(className, cl);
+ }
+
+ public TypeInfo getTypeInfo(Class<?> clazz) throws Throwable
+ {
+ return configuration.getTypeInfo(clazz);
+ }
+
public ClassInfo getClassInfo(String className, ClassLoader cl) throws Throwable
{
return configuration.getClassInfo(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-07 05:18:26 UTC (rev 70534)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/AbstractKernelConfigurator.java 2008-03-07 10:27:18 UTC (rev 70535)
@@ -85,6 +85,16 @@
return getBeanInfo(className, cl);
}
+ public TypeInfo getTypeInfo(String className, ClassLoader cl) throws Throwable
+ {
+ return config.getTypeInfo(className, cl);
+ }
+
+ public TypeInfo getTypeInfo(Class<?> clazz) throws Throwable
+ {
+ return config.getTypeInfo(clazz);
+ }
+
public ClassInfo getClassInfo(String className, ClassLoader cl) throws Throwable
{
return config.getClassInfo(className, cl);
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-07 05:18:26 UTC (rev 70534)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/config/KernelConfig.java 2008-03-07 10:27:18 UTC (rev 70535)
@@ -73,6 +73,25 @@
BeanInfo getBeanInfo(TypeInfo type) throws Throwable;
/**
+ * Get the type info for a class
+ *
+ * @param className the class name
+ * @param cl the classloader
+ * @return the type info
+ * @throws Throwable for any error
+ */
+ TypeInfo getTypeInfo(String className, ClassLoader cl) throws Throwable;
+
+ /**
+ * Get the type info for a class
+ *
+ * @param clazz the class
+ * @return the type info
+ * @throws Throwable for any error
+ */
+ TypeInfo getTypeInfo(Class<?> clazz) throws Throwable;
+
+ /**
* Get the class 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-07 05:18:26 UTC (rev 70534)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/config/KernelConfigurator.java 2008-03-07 10:27:18 UTC (rev 70535)
@@ -87,6 +87,25 @@
BeanInfo getBeanInfo(BeanMetaData metaData) throws Throwable;
/**
+ * Get the type info for a class
+ *
+ * @param className the class name
+ * @param cl the classloader
+ * @return the type info
+ * @throws Throwable for any error
+ */
+ TypeInfo getTypeInfo(String className, ClassLoader cl) throws Throwable;
+
+ /**
+ * Get the type info for a class
+ *
+ * @param clazz the class
+ * @return the type info
+ * @throws Throwable for any error
+ */
+ TypeInfo getTypeInfo(Class<?> clazz) throws Throwable;
+
+ /**
* Get the class info for a class
*
* @param className the class name
Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/PropertyJaxbTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/PropertyJaxbTestCase.java 2008-03-07 05:18:26 UTC (rev 70534)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/PropertyJaxbTestCase.java 2008-03-07 10:27:18 UTC (rev 70535)
@@ -26,6 +26,7 @@
import junit.framework.Test;
import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
+import org.jboss.beans.metadata.plugins.AbstractPropertyMetaData;
import org.jboss.beans.metadata.plugins.StringValueMetaData;
import org.jboss.beans.metadata.spi.PropertyMetaData;
import org.jboss.beans.metadata.spi.ValueMetaData;
@@ -74,11 +75,8 @@
PropertyMetaData property = getProperty();
assertNotNull("PropertyName", property.getName());
assertNull(property.getAnnotations());
- ValueMetaData value = property.getValue();
- assertNotNull(value);
- assertTrue(value instanceof StringValueMetaData);
- StringValueMetaData string = (StringValueMetaData) value;
- assertEquals("PropertyClass", string.getType());
+ AbstractPropertyMetaData apmd = assertInstanceOf(property, AbstractPropertyMetaData.class);
+ assertEquals("PropertyClass", apmd.getPropertyType());
}
public void testPropertyWithAnnotation() throws Exception
More information about the jboss-cvs-commits
mailing list