[jboss-cvs] JBossAS SVN: r110333 - in projects/kernel/branches/Branch_2_2/jmx-mc-int/src: test/resources/org/jboss/test/system/metadata/value/valuefactory/test and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Jan 12 08:04:51 EST 2011
Author: alesj
Date: 2011-01-12 08:04:51 -0500 (Wed, 12 Jan 2011)
New Revision: 110333
Modified:
projects/kernel/branches/Branch_2_2/jmx-mc-int/src/main/java/org/jboss/system/metadata/ServiceMetaDataParser.java
projects/kernel/branches/Branch_2_2/jmx-mc-int/src/test/resources/org/jboss/test/system/metadata/value/valuefactory/test/NullParameter.xml
Log:
Port JBPAPP-4041, whitespace handling.
Modified: projects/kernel/branches/Branch_2_2/jmx-mc-int/src/main/java/org/jboss/system/metadata/ServiceMetaDataParser.java
===================================================================
--- projects/kernel/branches/Branch_2_2/jmx-mc-int/src/main/java/org/jboss/system/metadata/ServiceMetaDataParser.java 2011-01-12 12:47:34 UTC (rev 110332)
+++ projects/kernel/branches/Branch_2_2/jmx-mc-int/src/main/java/org/jboss/system/metadata/ServiceMetaDataParser.java 2011-01-12 13:04:51 UTC (rev 110333)
@@ -21,17 +21,18 @@
*/
package org.jboss.system.metadata;
+import javax.management.ObjectName;
+
import java.security.AccessController;
import java.security.PrivilegedAction;
import java.util.ArrayList;
import java.util.List;
-import javax.management.ObjectName;
-
import org.jboss.dependency.spi.ControllerMode;
import org.jboss.dependency.spi.ControllerState;
import org.jboss.logging.Logger;
import org.jboss.util.StringPropertyReplacer;
+
import org.w3c.dom.Attr;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
@@ -51,6 +52,7 @@
* @author <a href="mailto:jason at planet57.com">Jason Dillon</a>
* @author <a href="mailto:dimitris at jboss.org">Dimitris Andreadis</a>
* @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @author <a href="ales.justin at jboss.org">Ales Justin</a>
* @version $Revision$
*/
public class ServiceMetaDataParser
@@ -619,7 +621,7 @@
Element valueEl = (Element) child;
if ("value".equals(valueEl.getTagName()))
{
- valueType = ((Element)child).getAttribute("class");
+ valueType = valueEl.getAttribute("class");
if (valueType.length() == 0)
valueType = null;
@@ -629,13 +631,39 @@
}
else if ("null".equals(valueEl.getTagName()) == false)
{
- throw new RuntimeException("Element " + ((Element)child).getTagName() + " not supported as a child of value-factory/parameter in a -service.xml");
+ throw new RuntimeException("Element " + valueEl.getTagName() + " not supported as a child of value-factory/parameter in a -service.xml");
}
}
else
{
- textValue = getElementTextContent(el);
- }
+ Node nextChild = child.getNextSibling();
+ while (nextChild != null && nextChild.getNodeType() != Node.ELEMENT_NODE)
+ nextChild = nextChild.getNextSibling();
+
+ // we have nested element in whitespace
+ if (nextChild instanceof Element)
+ {
+ Element valueEl = (Element) nextChild;
+ if ("value".equals(valueEl.getTagName()))
+ {
+ valueType = valueEl.getAttribute("class");
+ if (valueType.length() == 0)
+ valueType = null;
+
+ textValue = getElementTextContent(valueEl);
+ // Deal with any trim/replace from the outer element
+ textValue = trimAndReplace(textValue, getTrim(el), getReplace(el));
+ }
+ else if ("null".equals(valueEl.getTagName()) == false)
+ {
+ throw new RuntimeException("Element " + valueEl.getTagName() + " not supported as a child of value-factory/parameter in a -service.xml");
+ }
+ }
+ else
+ {
+ textValue = getElementTextContent(el);
+ }
+ }
return new ServiceValueFactoryParameterMetaData(textValue, parameterType, valueType);
}
Modified: projects/kernel/branches/Branch_2_2/jmx-mc-int/src/test/resources/org/jboss/test/system/metadata/value/valuefactory/test/NullParameter.xml
===================================================================
--- projects/kernel/branches/Branch_2_2/jmx-mc-int/src/test/resources/org/jboss/test/system/metadata/value/valuefactory/test/NullParameter.xml 2011-01-12 12:47:34 UTC (rev 110332)
+++ projects/kernel/branches/Branch_2_2/jmx-mc-int/src/test/resources/org/jboss/test/system/metadata/value/valuefactory/test/NullParameter.xml 2011-01-12 13:04:51 UTC (rev 110333)
@@ -3,7 +3,9 @@
<mbean name="jboss.test:type=BasicMBeanName" code="BasicMBeanCode">
<attribute name="Attribute">
<value-factory bean="bean" method="method" default="default">
- <parameter><null/>1</parameter>
+ <parameter>
+ <null/>
+ </parameter>
<parameter>2</parameter>
</value-factory>
</attribute>
More information about the jboss-cvs-commits
mailing list