[jboss-cvs] JBossAS SVN: r86791 - branches/Branch_5_x/system-jmx/src/main/org/jboss/system/deployers/managed.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Sat Apr 4 14:51:35 EDT 2009
Author: emuckenhuber
Date: 2009-04-04 14:51:34 -0400 (Sat, 04 Apr 2009)
New Revision: 86791
Modified:
branches/Branch_5_x/system-jmx/src/main/org/jboss/system/deployers/managed/ServiceMetaDataICF.java
Log:
[JBAS-6716] missing changes to handle ServiceElementValueMetaData
Modified: branches/Branch_5_x/system-jmx/src/main/org/jboss/system/deployers/managed/ServiceMetaDataICF.java
===================================================================
--- branches/Branch_5_x/system-jmx/src/main/org/jboss/system/deployers/managed/ServiceMetaDataICF.java 2009-04-04 17:18:09 UTC (rev 86790)
+++ branches/Branch_5_x/system-jmx/src/main/org/jboss/system/deployers/managed/ServiceMetaDataICF.java 2009-04-04 18:51:34 UTC (rev 86791)
@@ -42,9 +42,11 @@
import org.jboss.system.metadata.ServiceAnnotationMetaData;
import org.jboss.system.metadata.ServiceAttributeMetaData;
import org.jboss.system.metadata.ServiceDependencyValueMetaData;
+import org.jboss.system.metadata.ServiceElementValueMetaData;
import org.jboss.system.metadata.ServiceMetaData;
import org.jboss.system.metadata.ServiceTextValueMetaData;
import org.jboss.system.metadata.ServiceValueMetaData;
+import org.w3c.dom.Element;
/**
* The InstanceClassFactory implementation for ServiceMetaData.
@@ -190,12 +192,24 @@
ServiceDependencyValueMetaData depends = (ServiceDependencyValueMetaData) value;
value = depends.getDependency();
}
+ else if (value instanceof ServiceElementValueMetaData)
+ {
+ value = ((ServiceElementValueMetaData)value).getElement();
+ }
// TODO: unwrap other ServiceValueMetaData types
PropertyInfo propertyInfo = beanInfo.getProperty(name);
+ MetaMapper metaMapper = property.getTransientAttachment(MetaMapper.class);
try
{
- mvalue = metaValueFactory.create(value, propertyInfo.getType());
+ if(metaMapper != null)
+ {
+ mvalue = metaMapper.createMetaValue(property.getMetaType(), value);
+ }
+ else
+ {
+ mvalue = metaValueFactory.create(value, propertyInfo.getType());
+ }
}
catch(Exception e)
{
@@ -242,6 +256,7 @@
}
}
// There may not be an attribute value, see if there is a matching property
+
if (attributeValue == null)
{
String aname = mapAttributeName(md, name);
@@ -269,13 +284,16 @@
PropertyInfo propertyInfo = beanInfo.getProperty(name);
plainValue = metaValueFactory.unwrap(value, propertyInfo.getType());
}
-
// Unwrap the ServiceValueMetaData types
if (attributeValue instanceof ServiceTextValueMetaData)
{
ServiceTextValueMetaData text = (ServiceTextValueMetaData) attributeValue;
text.setText(String.valueOf(plainValue));
}
+ else if (attributeValue instanceof ServiceElementValueMetaData)
+ {
+ ((ServiceElementValueMetaData) attributeValue).setElement((Element) plainValue);
+ }
else if (attributeValue instanceof ServiceDependencyValueMetaData)
{
ServiceDependencyValueMetaData depends = (ServiceDependencyValueMetaData) attributeValue;
More information about the jboss-cvs-commits
mailing list