[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