[jboss-cvs] JBossAS SVN: r60019 - in projects/microcontainer/trunk/kernel/src: main/org/jboss/kernel/plugins/deployment/xml and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Jan 26 08:06:11 EST 2007
Author: alesj
Date: 2007-01-26 08:06:11 -0500 (Fri, 26 Jan 2007)
New Revision: 60019
Added:
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/ValueMetaDataAware.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/StringValueCharactersHandler.java
Modified:
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractConstructorMetaData.java
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/kernel/plugins/deployment/xml/BeanSchemaBinding.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/ParameterCharactersHandler.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/ParameterHandler.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/PropertyCharactersHandler.java
projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/PropertyXMLTestCase.java
Log:
Optional string replacement - additional support for parameter.
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractConstructorMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractConstructorMetaData.java 2007-01-26 12:27:37 UTC (rev 60018)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractConstructorMetaData.java 2007-01-26 13:06:11 UTC (rev 60019)
@@ -22,11 +22,16 @@
package org.jboss.beans.metadata.plugins;
import java.io.Serializable;
-import java.util.*;
+import java.util.List;
+import java.util.Set;
import org.jboss.beans.info.spi.BeanInfo;
import org.jboss.beans.metadata.plugins.builder.MutableParameterizedMetaData;
-import org.jboss.beans.metadata.spi.*;
+import org.jboss.beans.metadata.spi.ConstructorMetaData;
+import org.jboss.beans.metadata.spi.MetaDataVisitor;
+import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
+import org.jboss.beans.metadata.spi.ParameterMetaData;
+import org.jboss.beans.metadata.spi.ValueMetaData;
import org.jboss.kernel.plugins.config.Configurator;
import org.jboss.kernel.spi.config.KernelConfigurator;
import org.jboss.kernel.spi.dependency.KernelControllerContext;
@@ -43,7 +48,7 @@
* @version $Revision$
*/
public class AbstractConstructorMetaData extends AbstractFeatureMetaData
- implements ConstructorMetaData, MutableParameterizedMetaData, Serializable
+ implements ConstructorMetaData, MutableParameterizedMetaData, ValueMetaDataAware, Serializable
{
private static final long serialVersionUID = 1L;
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 2007-01-26 12:27:37 UTC (rev 60018)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractParameterMetaData.java 2007-01-26 13:06:11 UTC (rev 60019)
@@ -42,7 +42,7 @@
* @version $Revision$
*/
public class AbstractParameterMetaData extends AbstractFeatureMetaData
- implements ParameterMetaData, Serializable
+ implements ParameterMetaData, ValueMetaDataAware, Serializable
{
private static final long serialVersionUID = 1L;
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 2007-01-26 12:27:37 UTC (rev 60018)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractPropertyMetaData.java 2007-01-26 13:06:11 UTC (rev 60019)
@@ -31,9 +31,9 @@
import org.jboss.beans.metadata.spi.PropertyMetaData;
import org.jboss.beans.metadata.spi.ValueMetaData;
import org.jboss.dependency.spi.ControllerState;
+import org.jboss.kernel.plugins.config.Configurator;
+import org.jboss.kernel.spi.config.KernelConfigurator;
import org.jboss.kernel.spi.dependency.KernelControllerContext;
-import org.jboss.kernel.spi.config.KernelConfigurator;
-import org.jboss.kernel.plugins.config.Configurator;
import org.jboss.util.JBossStringBuilder;
/**
@@ -43,7 +43,7 @@
* @version $Revision$
*/
public class AbstractPropertyMetaData extends AbstractFeatureMetaData
- implements PropertyMetaData, TypeProvider, Serializable
+ implements PropertyMetaData, ValueMetaDataAware, TypeProvider, Serializable
{
private static final long serialVersionUID = 1L;
Added: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/ValueMetaDataAware.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/ValueMetaDataAware.java (rev 0)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/ValueMetaDataAware.java 2007-01-26 13:06:11 UTC (rev 60019)
@@ -0,0 +1,46 @@
+/*
+* 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.beans.metadata.plugins;
+
+import org.jboss.beans.metadata.spi.ValueMetaData;
+
+/**
+ * Simple ValueMetaData aware.
+ *
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
+ */
+public interface ValueMetaDataAware
+{
+ /**
+ * Get the value.
+ *
+ * @return the value.
+ */
+ ValueMetaData getValue();
+
+ /**
+ * Set the value.
+ *
+ * @param value the value
+ */
+ void setValue(ValueMetaData value);
+}
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-26 12:27:37 UTC (rev 60018)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/BeanSchemaBinding.java 2007-01-26 13:06:11 UTC (rev 60019)
@@ -509,6 +509,12 @@
String localName = attrs.getLocalName(i);
if ("class".equals(localName))
parameter.setType(attrs.getValue(i));
+ else if ("replace".equals(localName))
+ {
+ StringValueMetaData svmd = new StringValueMetaData();
+ svmd.setReplace(Boolean.parseBoolean(attrs.getValue(i)));
+ parameter.setValue(svmd);
+ }
}
}
});
@@ -524,8 +530,17 @@
public void setValue(QName qName, ElementBinding element, Object owner, Object value)
{
AbstractParameterMetaData parameter = (AbstractParameterMetaData) owner;
- parameter.setValue((StringValueMetaData) value);
- }
+ StringValueMetaData svmd = (StringValueMetaData) value;
+ ValueMetaData vmd = parameter.getValue();
+ if (vmd != null && vmd instanceof StringValueMetaData)
+ {
+ StringValueMetaData previous = (StringValueMetaData) vmd;
+ svmd.setReplace(previous.isReplace());
+ String type = previous.getType();
+ if (type != null)
+ svmd.setType(type);
+ }
+ parameter.setValue(svmd); }
});
// bean has a create
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/ParameterCharactersHandler.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/ParameterCharactersHandler.java 2007-01-26 12:27:37 UTC (rev 60018)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/ParameterCharactersHandler.java 2007-01-26 13:06:11 UTC (rev 60019)
@@ -21,14 +21,11 @@
*/
package org.jboss.kernel.plugins.deployment.xml;
-import javax.xml.namespace.NamespaceContext;
import javax.xml.namespace.QName;
import org.jboss.beans.metadata.plugins.AbstractParameterMetaData;
import org.jboss.beans.metadata.plugins.StringValueMetaData;
-import org.jboss.xb.binding.sunday.unmarshalling.CharactersHandler;
import org.jboss.xb.binding.sunday.unmarshalling.ElementBinding;
-import org.jboss.xb.binding.sunday.unmarshalling.TypeBinding;
/**
* ParameterCharactersHandler.
@@ -36,19 +33,14 @@
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
*/
-public class ParameterCharactersHandler extends CharactersHandler
+public class ParameterCharactersHandler extends StringValueCharactersHandler
{
/** The interceptor */
public static final ParameterCharactersHandler HANDLER = new ParameterCharactersHandler();
- public Object unmarshal(QName qName, TypeBinding typeBinding, NamespaceContext nsCtx, org.jboss.xb.binding.metadata.ValueMetaData valueMetaData, String value)
- {
- return new StringValueMetaData(value);
- }
-
public void setValue(QName qName, ElementBinding element, Object owner, Object value)
{
AbstractParameterMetaData parameter = (AbstractParameterMetaData) owner;
- parameter.setValue((StringValueMetaData) value);
+ setStringValue(parameter, (StringValueMetaData)value);
}
}
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/ParameterHandler.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/ParameterHandler.java 2007-01-26 12:27:37 UTC (rev 60018)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/ParameterHandler.java 2007-01-26 13:06:11 UTC (rev 60019)
@@ -25,19 +25,22 @@
import javax.xml.namespace.QName;
import org.jboss.beans.metadata.plugins.AbstractParameterMetaData;
+import org.jboss.beans.metadata.plugins.StringValueMetaData;
import org.jboss.xb.binding.sunday.unmarshalling.DefaultElementHandler;
import org.jboss.xb.binding.sunday.unmarshalling.ElementBinding;
import org.xml.sax.Attributes;
/**
* CollectionHandler.
- *
+ *
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
*/
public class ParameterHandler extends DefaultElementHandler
{
- /** The handler */
+ /**
+ * The handler
+ */
public static final ParameterHandler HANDLER = new ParameterHandler();
public Object startElement(Object parent, QName name, ElementBinding element)
@@ -47,12 +50,18 @@
public void attributes(Object o, QName elementName, ElementBinding element, Attributes attrs, NamespaceContext nsCtx)
{
- AbstractParameterMetaData parameter = (AbstractParameterMetaData) o;
+ AbstractParameterMetaData parameter = (AbstractParameterMetaData)o;
for (int i = 0; i < attrs.getLength(); ++i)
{
String localName = attrs.getLocalName(i);
if ("class".equals(localName))
parameter.setType(attrs.getValue(i));
+ else if ("replace".equals(localName))
+ {
+ StringValueMetaData svmd = new StringValueMetaData();
+ svmd.setReplace(Boolean.parseBoolean(attrs.getValue(i)));
+ parameter.setValue(svmd);
+ }
}
}
}
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/PropertyCharactersHandler.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/PropertyCharactersHandler.java 2007-01-26 12:27:37 UTC (rev 60018)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/PropertyCharactersHandler.java 2007-01-26 13:06:11 UTC (rev 60019)
@@ -21,15 +21,11 @@
*/
package org.jboss.kernel.plugins.deployment.xml;
-import javax.xml.namespace.NamespaceContext;
import javax.xml.namespace.QName;
import org.jboss.beans.metadata.plugins.AbstractPropertyMetaData;
import org.jboss.beans.metadata.plugins.StringValueMetaData;
-import org.jboss.beans.metadata.spi.ValueMetaData;
-import org.jboss.xb.binding.sunday.unmarshalling.CharactersHandler;
import org.jboss.xb.binding.sunday.unmarshalling.ElementBinding;
-import org.jboss.xb.binding.sunday.unmarshalling.TypeBinding;
/**
* PropertyCharactersHandler.
@@ -37,29 +33,15 @@
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
*/
-public class PropertyCharactersHandler extends CharactersHandler
+public class PropertyCharactersHandler extends StringValueCharactersHandler
{
/** The interceptor */
public static final PropertyCharactersHandler HANDLER = new PropertyCharactersHandler();
- public Object unmarshal(QName qName, TypeBinding typeBinding, NamespaceContext nsCtx, org.jboss.xb.binding.metadata.ValueMetaData valueMetaData, String value)
- {
- return new StringValueMetaData(value);
- }
-
public void setValue(QName qName, ElementBinding element, Object owner, Object value)
{
AbstractPropertyMetaData property = (AbstractPropertyMetaData) owner;
StringValueMetaData svmd = (StringValueMetaData) value;
- ValueMetaData vmd = property.getValue();
- if (vmd != null && vmd instanceof StringValueMetaData)
- {
- StringValueMetaData previous = (StringValueMetaData) vmd;
- svmd.setReplace(previous.isReplace());
- String type = previous.getType();
- if (type != null)
- svmd.setType(type);
- }
- property.setValue(svmd);
+ setStringValue(property, svmd);
}
}
Added: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/StringValueCharactersHandler.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/StringValueCharactersHandler.java (rev 0)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/xml/StringValueCharactersHandler.java 2007-01-26 13:06:11 UTC (rev 60019)
@@ -0,0 +1,59 @@
+/*
+* 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.deployment.xml;
+
+import javax.xml.namespace.NamespaceContext;
+import javax.xml.namespace.QName;
+
+import org.jboss.beans.metadata.plugins.StringValueMetaData;
+import org.jboss.beans.metadata.plugins.ValueMetaDataAware;
+import org.jboss.beans.metadata.spi.ValueMetaData;
+import org.jboss.xb.binding.sunday.unmarshalling.CharactersHandler;
+import org.jboss.xb.binding.sunday.unmarshalling.TypeBinding;
+
+/**
+ * PropertyCharactersHandler.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 59990 $
+ */
+public abstract class StringValueCharactersHandler extends CharactersHandler
+{
+ public Object unmarshal(QName qName, TypeBinding typeBinding, NamespaceContext nsCtx, org.jboss.xb.binding.metadata.ValueMetaData valueMetaData, String value)
+ {
+ return new StringValueMetaData(value);
+ }
+
+ protected void setStringValue(ValueMetaDataAware vmda, StringValueMetaData svmd)
+ {
+ ValueMetaData vmd = vmda.getValue();
+ if (vmd != null && vmd instanceof StringValueMetaData)
+ {
+ StringValueMetaData previous = (StringValueMetaData) vmd;
+ svmd.setReplace(previous.isReplace());
+ String type = previous.getType();
+ if (type != null)
+ svmd.setType(type);
+ }
+ vmda.setValue(svmd);
+ }
+}
Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/PropertyXMLTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/PropertyXMLTestCase.java 2007-01-26 12:27:37 UTC (rev 60018)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/config/test/PropertyXMLTestCase.java 2007-01-26 13:06:11 UTC (rev 60019)
@@ -81,8 +81,6 @@
}
};
result.add(property);
-/*
- TODO
ObjectCreator parameter = new ObjectCreator()
{
public Object createObject() throws Throwable
@@ -91,7 +89,6 @@
}
};
result.add(parameter);
-*/
ObjectCreator plainValue = new ObjectCreator()
{
public Object createObject() throws Throwable
More information about the jboss-cvs-commits
mailing list