[jboss-cvs] JBossAS SVN: r90662 - projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Sat Jun 27 08:43:27 EDT 2009


Author: alesj
Date: 2009-06-27 08:43:26 -0400 (Sat, 27 Jun 2009)
New Revision: 90662

Modified:
   projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/AttributeMetaDataConverter.java
Log:
An example of ConverterFactory usage.

Modified: projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/AttributeMetaDataConverter.java
===================================================================
--- projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/AttributeMetaDataConverter.java	2009-06-27 12:38:21 UTC (rev 90661)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/AttributeMetaDataConverter.java	2009-06-27 12:43:26 UTC (rev 90662)
@@ -23,8 +23,6 @@
 
 import java.util.Collection;
 import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
 
 import org.jboss.beans.metadata.plugins.AbstractPropertyMetaData;
 import org.jboss.beans.metadata.spi.PropertyMetaData;
@@ -33,34 +31,13 @@
 import org.jboss.system.metadata.ServiceValueMetaData;
 
 /**
- * 
+ * Service attribute to property metadata converter.
+ *
  * @author  <a href="flavia.rainone at jboss.com">Flavia Rainone</a>
- * @version $Revision$
+ * @author  <a href="ales.justin at jboss.com">Ales Justin</a>
  */
 class AttributeMetaDataConverter extends AbstractMetaDataConverter<ServiceAttributeMetaData, PropertyMetaData>
 {
-   Map<Class<?>, AttributeValueMetaDataConverter<?, ?>> valueConverters;
-   private ValueMetaDataConverter defaultValueConverter = new ValueMetaDataConverter(); 
-   
-   public AttributeMetaDataConverter()
-   {
-      valueConverters = new HashMap<Class<?>, AttributeValueMetaDataConverter<?, ?>>();
-      AttributeValueMetaDataConverter<?,?> valueConverter = new JavaBeanValueMetaDataConverter(); 
-      valueConverters.put(valueConverter.getClass(), valueConverter);
-      valueConverter = new JBXBValueMetaDataConverter();
-      valueConverters.put(valueConverter.getClass(), valueConverter);
-      valueConverter = new InjectionValueMetaDataConverter();
-      valueConverters.put(valueConverter.getClass(), valueConverter);
-      valueConverter = new DependencyValueMetaDataConverter();
-      valueConverters.put(valueConverter.getClass(), valueConverter);
-      valueConverter = new ValueFactoryMetaDataConverter();
-      valueConverters.put(valueConverter.getClass(), valueConverter);
-      valueConverter = new ElementValueMetaDataConverter();
-      valueConverters.put(valueConverter.getClass(), valueConverter);
-      valueConverter = new TextValueMetaDataConverter();
-      valueConverters.put(valueConverter.getClass(), valueConverter);
-    }
-
    public Class<ServiceAttributeMetaData> input()
    {
       return ServiceAttributeMetaData.class;
@@ -74,12 +51,8 @@
    public PropertyMetaData toMCMetaData(ServiceAttributeMetaData attribute, Collection<String> unhandledAttributes)
    {
       ServiceValueMetaData serviceValue = attribute.getValue();
-      AttributeValueMetaDataConverter<?, ?> valueConverter = valueConverters.get(serviceValue.getChildren());
-      if (valueConverter == null)
-      {
-         valueConverter = defaultValueConverter;
-      }
-      ValueMetaData newValue = valueConverter.toMCMetaData(serviceValue, unhandledAttributes);
+      ConverterFactory factory = ConverterFactory.getInstance();
+      ValueMetaData newValue = factory.convert(serviceValue, ValueMetaData.class);
       String name = attribute.getName().substring(0, 1).toLowerCase() + attribute.getName().substring(1);
       return new AbstractPropertyMetaData(name, newValue);
    }
@@ -92,8 +65,8 @@
    public String toXML(PropertyMetaData beanMetaData)
    {
       String start = startTag(Collections.singletonMap("name", beanMetaData.getName()));
-      AttributeValueMetaDataConverter converter = null; // TODO
-      String value = converter.toXML(beanMetaData.getValue());
+      ConverterFactory factory = ConverterFactory.getInstance();
+      String value = factory.transform(beanMetaData.getValue());
       String end = endTag();
       return start + value + end;
    }




More information about the jboss-cvs-commits mailing list