[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