[jboss-cvs] JBossAS SVN: r59968 - in projects/microcontainer/trunk: container/src/main/org/jboss/reflect/plugins and 8 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Jan 24 09:54:37 EST 2007
Author: alesj
Date: 2007-01-24 09:54:37 -0500 (Wed, 24 Jan 2007)
New Revision: 59968
Modified:
projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/xml/AOPBeansSchemaInitializer.java
projects/microcontainer/trunk/container/src/main/org/jboss/reflect/plugins/ClassInfoImpl.java
projects/microcontainer/trunk/container/src/main/org/jboss/reflect/plugins/ValueConvertor.java
projects/microcontainer/trunk/container/src/main/org/jboss/reflect/plugins/introspection/ParameterizedClassInfo.java
projects/microcontainer/trunk/container/src/main/org/jboss/reflect/plugins/javassist/JavassistTypeInfo.java
projects/microcontainer/trunk/container/src/main/org/jboss/reflect/spi/PrimitiveInfo.java
projects/microcontainer/trunk/container/src/main/org/jboss/reflect/spi/TypeInfo.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/xml/JavaBeanSchemaInitializer.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/xml/JavaBeanSchemaInitializer20.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanSchemaBinding.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanSchemaBinding20.java
projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/ConfigTestSuite.java
projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/PropertyTestCase.java
projects/microcontainer/trunk/spring-int/src/main/org/jboss/spring/deployment/xml/SpringSchemaBinding.java
Log:
Moved property replecament into MC - and disabled XB replecament.
Modified: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/xml/AOPBeansSchemaInitializer.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/xml/AOPBeansSchemaInitializer.java 2007-01-24 14:53:03 UTC (rev 59967)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/xml/AOPBeansSchemaInitializer.java 2007-01-24 14:54:37 UTC (rev 59968)
@@ -76,6 +76,9 @@
public SchemaBinding init(SchemaBinding schema)
{
+ // ignore XB property replacement
+ schema.setReplacePropertyRefs(false);
+
// aspect binding
TypeBinding aspectType = schema.getType(aspectTypeQName);
BeanSchemaBindingHelper.initBeanFactoryHandlers(aspectType);
Modified: projects/microcontainer/trunk/container/src/main/org/jboss/reflect/plugins/ClassInfoImpl.java
===================================================================
--- projects/microcontainer/trunk/container/src/main/org/jboss/reflect/plugins/ClassInfoImpl.java 2007-01-24 14:53:03 UTC (rev 59967)
+++ projects/microcontainer/trunk/container/src/main/org/jboss/reflect/plugins/ClassInfoImpl.java 2007-01-24 14:54:37 UTC (rev 59968)
@@ -25,7 +25,14 @@
import java.lang.reflect.Modifier;
import java.util.HashMap;
-import org.jboss.reflect.spi.*;
+import org.jboss.reflect.spi.AnnotationValue;
+import org.jboss.reflect.spi.ClassInfo;
+import org.jboss.reflect.spi.ConstructorInfo;
+import org.jboss.reflect.spi.FieldInfo;
+import org.jboss.reflect.spi.InterfaceInfo;
+import org.jboss.reflect.spi.MethodInfo;
+import org.jboss.reflect.spi.TypeInfo;
+import org.jboss.reflect.spi.TypeInfoFactory;
import org.jboss.util.JBossStringBuilder;
import org.jboss.util.UnreachableStatementException;
@@ -452,6 +459,11 @@
return ValueConvertor.convertValue(getType(), value);
}
+ public Object convertValue(Object value, boolean replaceProperties) throws Throwable
+ {
+ return ValueConvertor.convertValue(getType(), value, replaceProperties);
+ }
+
public boolean isArray()
{
return getType().isArray();
@@ -545,6 +557,11 @@
throw new UnreachableStatementException();
}
+ public Object convertValue(Object value, boolean replaceProperties) throws Throwable
+ {
+ throw new UnreachableStatementException();
+ }
+
public TypeInfo getArrayType(int depth)
{
throw new UnreachableStatementException();
Modified: projects/microcontainer/trunk/container/src/main/org/jboss/reflect/plugins/ValueConvertor.java
===================================================================
--- projects/microcontainer/trunk/container/src/main/org/jboss/reflect/plugins/ValueConvertor.java 2007-01-24 14:53:03 UTC (rev 59967)
+++ projects/microcontainer/trunk/container/src/main/org/jboss/reflect/plugins/ValueConvertor.java 2007-01-24 14:54:37 UTC (rev 59968)
@@ -31,6 +31,7 @@
import org.jboss.reflect.plugins.introspection.ReflectionUtils;
import org.jboss.reflect.spi.ProgressionConvertor;
import org.jboss.reflect.spi.ProgressionConvertorFactory;
+import org.jboss.util.StringPropertyReplacer;
import org.jboss.util.propertyeditor.PropertyEditors;
/**
@@ -72,12 +73,34 @@
@SuppressWarnings("unchecked")
public static Object convertValue(Class<? extends Object> clazz, Object value) throws Throwable
{
+ return convertValue(clazz, value, false);
+ }
+
+ /**
+ * Convert a value
+ *
+ * @param clazz the class
+ * @param value the value
+ * @param replaceProperties whether to replace system properties
+ * @return the value or null if there is no editor
+ * @throws Throwable for any error
+ */
+ public static Object convertValue(Class<? extends Object> clazz, Object value, boolean replaceProperties) throws Throwable
+ {
if (clazz == null)
throw new IllegalArgumentException("Null class");
if (value == null)
return null;
Class<? extends Object> valueClass = value.getClass();
+
+ // If we have a string replace any system properties when requested
+ if (replaceProperties && valueClass == String.class)
+ {
+ String string = (String)value;
+ value = StringPropertyReplacer.replaceProperties(string);
+ }
+
if (clazz.isAssignableFrom(valueClass))
return value;
@@ -94,7 +117,7 @@
PropertyEditor editor = PropertyEditorManager.findEditor(clazz);
if (editor != null)
{
- editor.setAsText((String) value);
+ editor.setAsText((String)value);
return editor.getValue();
}
}
Modified: projects/microcontainer/trunk/container/src/main/org/jboss/reflect/plugins/introspection/ParameterizedClassInfo.java
===================================================================
--- projects/microcontainer/trunk/container/src/main/org/jboss/reflect/plugins/introspection/ParameterizedClassInfo.java 2007-01-24 14:53:03 UTC (rev 59967)
+++ projects/microcontainer/trunk/container/src/main/org/jboss/reflect/plugins/introspection/ParameterizedClassInfo.java 2007-01-24 14:54:37 UTC (rev 59968)
@@ -24,7 +24,14 @@
import java.lang.reflect.ParameterizedType;
import org.jboss.reflect.plugins.ClassInfoImpl;
-import org.jboss.reflect.spi.*;
+import org.jboss.reflect.spi.AnnotationValue;
+import org.jboss.reflect.spi.ClassInfo;
+import org.jboss.reflect.spi.ConstructorInfo;
+import org.jboss.reflect.spi.FieldInfo;
+import org.jboss.reflect.spi.InterfaceInfo;
+import org.jboss.reflect.spi.MethodInfo;
+import org.jboss.reflect.spi.TypeInfo;
+import org.jboss.reflect.spi.TypeInfoFactory;
import org.jboss.util.JBossObject;
import org.jboss.util.JBossStringBuilder;
@@ -168,6 +175,11 @@
return delegate.convertValue(value);
}
+ public Object convertValue(Object value, boolean replaceProperties) throws Throwable
+ {
+ return delegate.convertValue(value, replaceProperties);
+ }
+
public TypeInfo getArrayType(int depth)
{
return delegate.getArrayType(depth);
Modified: projects/microcontainer/trunk/container/src/main/org/jboss/reflect/plugins/javassist/JavassistTypeInfo.java
===================================================================
--- projects/microcontainer/trunk/container/src/main/org/jboss/reflect/plugins/javassist/JavassistTypeInfo.java 2007-01-24 14:53:03 UTC (rev 59967)
+++ projects/microcontainer/trunk/container/src/main/org/jboss/reflect/plugins/javassist/JavassistTypeInfo.java 2007-01-24 14:54:37 UTC (rev 59968)
@@ -32,9 +32,15 @@
import javassist.CtField;
import javassist.CtMethod;
import javassist.NotFoundException;
-
import org.jboss.reflect.plugins.ValueConvertor;
-import org.jboss.reflect.spi.*;
+import org.jboss.reflect.spi.AnnotationValue;
+import org.jboss.reflect.spi.ClassInfo;
+import org.jboss.reflect.spi.ConstructorInfo;
+import org.jboss.reflect.spi.FieldInfo;
+import org.jboss.reflect.spi.InterfaceInfo;
+import org.jboss.reflect.spi.MethodInfo;
+import org.jboss.reflect.spi.TypeInfo;
+import org.jboss.reflect.spi.TypeInfoFactory;
import org.jboss.util.JBossStringBuilder;
/**
@@ -355,6 +361,11 @@
return ValueConvertor.convertValue(getType(), value);
}
+ public Object convertValue(Object value, boolean replaceProperties) throws Throwable
+ {
+ return ValueConvertor.convertValue(getType(), value, replaceProperties);
+ }
+
protected int getHashCode()
{
return getName().hashCode();
Modified: projects/microcontainer/trunk/container/src/main/org/jboss/reflect/spi/PrimitiveInfo.java
===================================================================
--- projects/microcontainer/trunk/container/src/main/org/jboss/reflect/spi/PrimitiveInfo.java 2007-01-24 14:53:03 UTC (rev 59967)
+++ projects/microcontainer/trunk/container/src/main/org/jboss/reflect/spi/PrimitiveInfo.java 2007-01-24 14:54:37 UTC (rev 59968)
@@ -154,6 +154,16 @@
return ValueConvertor.convertValue(type, value);
}
+ public Object convertValue(Object value, boolean replaceProperties) throws Throwable
+ {
+ Object progressResult = ValueConvertor.progressValue(type, value);
+ if (progressResult != null)
+ {
+ return progressResult;
+ }
+ return ValueConvertor.convertValue(type, value, replaceProperties);
+ }
+
public boolean isArray()
{
return false;
Modified: projects/microcontainer/trunk/container/src/main/org/jboss/reflect/spi/TypeInfo.java
===================================================================
--- projects/microcontainer/trunk/container/src/main/org/jboss/reflect/spi/TypeInfo.java 2007-01-24 14:53:03 UTC (rev 59967)
+++ projects/microcontainer/trunk/container/src/main/org/jboss/reflect/spi/TypeInfo.java 2007-01-24 14:54:37 UTC (rev 59968)
@@ -56,6 +56,16 @@
Object convertValue(Object value) throws Throwable;
/**
+ * Convert a value
+ *
+ * @param value the original value
+ * @param replaceProperties whether to replace properties
+ * @return the converted value
+ * @throws Throwable for any error
+ */
+ Object convertValue(Object value, boolean replaceProperties) throws Throwable;
+
+ /**
* Whether this type is an array
*
* @return true when an array
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 2007-01-24 14:53:03 UTC (rev 59967)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/StringValueMetaData.java 2007-01-24 14:54:37 UTC (rev 59968)
@@ -21,10 +21,10 @@
*/
package org.jboss.beans.metadata.plugins;
+import org.jboss.beans.metadata.spi.MetaDataVisitor;
+import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
import org.jboss.logging.Logger;
import org.jboss.reflect.spi.TypeInfo;
-import org.jboss.beans.metadata.spi.MetaDataVisitor;
-import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
/**
* String value.
@@ -90,9 +90,9 @@
if (typeInfo != info && info != null)
{
Object typeValue = typeInfo.convertValue(value);
- return info.convertValue(typeValue);
+ return info.convertValue(typeValue, true);
}
- return typeInfo.convertValue(value);
+ return typeInfo.convertValue(value, true);
}
public Class getType(MetaDataVisitor visitor, MetaDataVisitorNode previous) throws Throwable
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/xml/JavaBeanSchemaInitializer.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/xml/JavaBeanSchemaInitializer.java 2007-01-24 14:53:03 UTC (rev 59967)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/xml/JavaBeanSchemaInitializer.java 2007-01-24 14:54:37 UTC (rev 59968)
@@ -65,6 +65,9 @@
public SchemaBinding init(SchemaBinding schema)
{
+ // ignore XB property replacement
+ schema.setReplacePropertyRefs(false);
+
// javabean binding
TypeBinding beanType = schema.getType(javabeanTypeQName);
beanType.setHandler(new DefaultElementHandler()
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/xml/JavaBeanSchemaInitializer20.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/xml/JavaBeanSchemaInitializer20.java 2007-01-24 14:53:03 UTC (rev 59967)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/xml/JavaBeanSchemaInitializer20.java 2007-01-24 14:54:37 UTC (rev 59968)
@@ -63,6 +63,9 @@
public SchemaBinding init(SchemaBinding schema)
{
+ // ignore XB property replacement
+ schema.setReplacePropertyRefs(false);
+
// javabean binding
TypeBinding beanType = schema.getType(javabeanTypeQName);
beanType.setHandler(JavaBeanHandler.HANDLER);
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanSchemaBinding.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanSchemaBinding.java 2007-01-24 14:53:03 UTC (rev 59967)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanSchemaBinding.java 2007-01-24 14:54:37 UTC (rev 59968)
@@ -25,11 +25,28 @@
import java.util.HashSet;
import java.util.List;
import java.util.Set;
-
import javax.xml.namespace.NamespaceContext;
import javax.xml.namespace.QName;
-import org.jboss.beans.metadata.plugins.*;
+import org.jboss.beans.metadata.plugins.AbstractArrayMetaData;
+import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
+import org.jboss.beans.metadata.plugins.AbstractClassLoaderMetaData;
+import org.jboss.beans.metadata.plugins.AbstractCollectionMetaData;
+import org.jboss.beans.metadata.plugins.AbstractConstructorMetaData;
+import org.jboss.beans.metadata.plugins.AbstractDemandMetaData;
+import org.jboss.beans.metadata.plugins.AbstractDependencyMetaData;
+import org.jboss.beans.metadata.plugins.AbstractDependencyValueMetaData;
+import org.jboss.beans.metadata.plugins.AbstractInjectionValueMetaData;
+import org.jboss.beans.metadata.plugins.AbstractLifecycleMetaData;
+import org.jboss.beans.metadata.plugins.AbstractListMetaData;
+import org.jboss.beans.metadata.plugins.AbstractMapMetaData;
+import org.jboss.beans.metadata.plugins.AbstractParameterMetaData;
+import org.jboss.beans.metadata.plugins.AbstractPropertyMetaData;
+import org.jboss.beans.metadata.plugins.AbstractSetMetaData;
+import org.jboss.beans.metadata.plugins.AbstractSupplyMetaData;
+import org.jboss.beans.metadata.plugins.AbstractValueMetaData;
+import org.jboss.beans.metadata.plugins.InjectionType;
+import org.jboss.beans.metadata.plugins.StringValueMetaData;
import org.jboss.beans.metadata.plugins.factory.GenericBeanFactoryMetaData;
import org.jboss.beans.metadata.spi.BeanMetaDataFactory;
import org.jboss.beans.metadata.spi.DemandMetaData;
@@ -39,7 +56,6 @@
import org.jboss.beans.metadata.spi.PropertyMetaData;
import org.jboss.beans.metadata.spi.SupplyMetaData;
import org.jboss.beans.metadata.spi.ValueMetaData;
-import org.jboss.beans.metadata.plugins.InjectionType;
import org.jboss.dependency.spi.ControllerMode;
import org.jboss.dependency.spi.ControllerState;
import org.jboss.kernel.plugins.deployment.AbstractKernelDeployment;
@@ -223,6 +239,9 @@
BeanSchemaBinding.schemaBinding = schemaBinding;
+ // ignore XB property replacement
+ schemaBinding.setReplacePropertyRefs(false);
+
// deployment binding
TypeBinding deploymentType = schemaBinding.getType(deploymentTypeQName);
deploymentType.setHandler(new DefaultElementHandler()
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanSchemaBinding20.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanSchemaBinding20.java 2007-01-24 14:53:03 UTC (rev 59967)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanSchemaBinding20.java 2007-01-24 14:54:37 UTC (rev 59968)
@@ -204,6 +204,9 @@
*/
public static void init(SchemaBinding schemaBinding)
{
+ // ignore XB property replacement
+ schemaBinding.setReplacePropertyRefs(false);
+ // init
initDeployment(schemaBinding);
initBean(schemaBinding);
initBeanFactory(schemaBinding);
Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/ConfigTestSuite.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/ConfigTestSuite.java 2007-01-24 14:53:03 UTC (rev 59967)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/ConfigTestSuite.java 2007-01-24 14:54:37 UTC (rev 59968)
@@ -65,6 +65,8 @@
suite.addTest(ProgressionTestCase.suite());
suite.addTest(ProgressionXMLTestCase.suite());
suite.addTest(BeanMetaDataBuilderTestCase.suite());
+ suite.addTest(PropertyTestCase.suite());
+ suite.addTest(PropertyXMLTestCase.suite());
return suite;
}
Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/PropertyTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/PropertyTestCase.java 2007-01-24 14:53:03 UTC (rev 59967)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/PropertyTestCase.java 2007-01-24 14:54:37 UTC (rev 59968)
@@ -22,14 +22,10 @@
package org.jboss.test.kernel.config.test;
import junit.framework.Test;
-import org.jboss.beans.metadata.spi.PropertyMetaData;
-import org.jboss.beans.metadata.plugins.AbstractTypeMetaData;
import org.jboss.beans.metadata.plugins.AbstractPropertyMetaData;
-import org.jboss.test.AbstractTestDelegate;
+import org.jboss.beans.metadata.plugins.AbstractTypeMetaData;
+import org.jboss.beans.metadata.spi.PropertyMetaData;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-
/**
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@@ -52,34 +48,28 @@
public void testPropertyWithPropertyValue() throws Throwable
{
- // set property to be replaced
- final String CONST = "PropertyReplaceTestCase";
-
- AbstractTestDelegate delegate = getDelegate();
- delegate.enableSecurity = false;
- AccessController.doPrivileged(new PrivilegedAction<Object>()
+ SecurityManager sm = suspendSecurity();
+ try
{
- public Object run()
- {
- System.setProperty("test.property.value", CONST);
- return null;
- }
- });
-
- // get property
- Object value = instantiateReplacePropertyValue();
- assertNotNull(value);
- assertEquals(String.class, value.getClass());
- assertEquals(CONST, value);
+ // set property to be replaced
+ final String CONST = "PropertyReplaceTestCase";
+ System.setProperty("test.property.value", CONST);
+ // get property
+ Object value = instantiateReplacePropertyValue();
+ assertNotNull(value);
+ assertEquals(String.class, value.getClass());
+ assertEquals(CONST, value);
+ }
+ finally
+ {
+ resumeSecurity(sm);
+ }
}
protected Object instantiateReplacePropertyValue() throws Throwable
{
PropertyMetaData property = new AbstractPropertyMetaData("test", "${test.property.value}", String.class.getName());
- // TODO - update with jboss-test.jar
-// AbstractTypeMetaData atmd = assertInstanceOf(property.getValue(), AbstractTypeMetaData.class, false);
- assertTrue(property.getValue() instanceof AbstractTypeMetaData);
- AbstractTypeMetaData atmd = (AbstractTypeMetaData)property.getValue();
+ AbstractTypeMetaData atmd = assertInstanceOf(property.getValue(), AbstractTypeMetaData.class, false);
atmd.setConfigurator(bootstrap().getConfigurator());
return atmd.getValue(null, Thread.currentThread().getContextClassLoader());
}
Modified: projects/microcontainer/trunk/spring-int/src/main/org/jboss/spring/deployment/xml/SpringSchemaBinding.java
===================================================================
--- projects/microcontainer/trunk/spring-int/src/main/org/jboss/spring/deployment/xml/SpringSchemaBinding.java 2007-01-24 14:53:03 UTC (rev 59967)
+++ projects/microcontainer/trunk/spring-int/src/main/org/jboss/spring/deployment/xml/SpringSchemaBinding.java 2007-01-24 14:54:37 UTC (rev 59968)
@@ -169,6 +169,9 @@
public static void init(SchemaBinding schemaBinding)
{
+ // ignore XB property replacement
+ schemaBinding.setReplacePropertyRefs(false);
+ // init
initDeployment(schemaBinding);
initBean(schemaBinding);
initArtifacts(schemaBinding);
More information about the jboss-cvs-commits
mailing list