[jboss-cvs] JBossAS SVN: r90661 - 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:38:22 EDT 2009
Author: alesj
Date: 2009-06-27 08:38:21 -0400 (Sat, 27 Jun 2009)
New Revision: 90661
Added:
projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/BeanMetaData2XML.java
projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/ConverterFactory.java
Modified:
projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/AliasMetaDataConverter.java
projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/AnnotationMetaDataConverter.java
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/AttributeValueMetaDataConverter.java
projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/ConstructorMetaDataConverter.java
projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/DependencyMetaDataConverter.java
projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/DependencyValueMetaDataConverter.java
projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/ElementValueMetaDataConverter.java
projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/InjectionValueMetaDataConverter.java
projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/JBXBValueMetaDataConverter.java
projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/JavaBeanValueMetaDateConverter.java
projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/MetaDataConverter.java
projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/ServiceMetaDataConverter.java
projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/TextValueMetaDataConverter.java
projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/ValueFactoryMetaDataConverter.java
projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/ValueMetaDataConverter.java
Log:
Add converter factory.
Modified: projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/AliasMetaDataConverter.java
===================================================================
--- projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/AliasMetaDataConverter.java 2009-06-26 22:07:20 UTC (rev 90660)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/AliasMetaDataConverter.java 2009-06-27 12:38:21 UTC (rev 90661)
@@ -24,15 +24,26 @@
import java.util.Collection;
import org.jboss.beans.metadata.plugins.AbstractAliasMetaData;
+import org.jboss.beans.metadata.spi.AliasMetaData;
/**
* @author <a href="flavia.rainone at jboss.com">Flavia Rainone</a>
* @version $Revision$
*/
-class AliasMetaDataConverter extends AbstractMetaDataConverter<String, AbstractAliasMetaData>
+class AliasMetaDataConverter extends AbstractMetaDataConverter<String, AliasMetaData>
{
- public AbstractAliasMetaData toMCMetaData(String alias, Collection<String> unhandledAtributes)
+ public Class<String> input()
{
+ return String.class;
+ }
+
+ public Class<AliasMetaData> output()
+ {
+ return AliasMetaData.class;
+ }
+
+ public AliasMetaData toMCMetaData(String alias, Collection<String> unhandledAtributes)
+ {
AbstractAliasMetaData newAlias = new AbstractAliasMetaData();
newAlias.setAliasValue(alias);
return newAlias;
@@ -43,7 +54,7 @@
return "alias";
}
- public String toXML(AbstractAliasMetaData beanMetaData)
+ public String toXML(AliasMetaData beanMetaData)
{
return simpleElement(beanMetaData.getAliasValue());
}
Modified: projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/AnnotationMetaDataConverter.java
===================================================================
--- projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/AnnotationMetaDataConverter.java 2009-06-26 22:07:20 UTC (rev 90660)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/AnnotationMetaDataConverter.java 2009-06-27 12:38:21 UTC (rev 90661)
@@ -24,6 +24,7 @@
import java.util.Collection;
import org.jboss.beans.metadata.plugins.AbstractAnnotationMetaData;
+import org.jboss.beans.metadata.spi.AnnotationMetaData;
import org.jboss.system.metadata.ServiceAnnotationMetaData;
/**
@@ -31,10 +32,20 @@
* @version $Revision$
*
*/
-class AnnotationMetaDataConverter extends AbstractMetaDataConverter <ServiceAnnotationMetaData, AbstractAnnotationMetaData>
+class AnnotationMetaDataConverter extends AbstractMetaDataConverter <ServiceAnnotationMetaData, AnnotationMetaData>
{
- public AbstractAnnotationMetaData toMCMetaData(ServiceAnnotationMetaData annotation, Collection<String> unhandled)
+ public Class<ServiceAnnotationMetaData> input()
{
+ return ServiceAnnotationMetaData.class;
+ }
+
+ public Class<AnnotationMetaData> output()
+ {
+ return AnnotationMetaData.class;
+ }
+
+ public AnnotationMetaData toMCMetaData(ServiceAnnotationMetaData annotation, Collection<String> unhandled)
+ {
return new AbstractAnnotationMetaData(annotation.getAnnotation());
}
@@ -43,8 +54,9 @@
return "annotation";
}
- public String toXML(AbstractAnnotationMetaData beanMetaData)
+ public String toXML(AnnotationMetaData beanMetaData)
{
- return simpleElement(beanMetaData.getAnnotation());
+ // TODO - check if this is proper output
+ return simpleElement(beanMetaData.getAnnotationInstance());
}
}
\ No newline at end of file
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-26 22:07:20 UTC (rev 90660)
+++ 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)
@@ -27,6 +27,7 @@
import java.util.Map;
import org.jboss.beans.metadata.plugins.AbstractPropertyMetaData;
+import org.jboss.beans.metadata.spi.PropertyMetaData;
import org.jboss.beans.metadata.spi.ValueMetaData;
import org.jboss.system.metadata.ServiceAttributeMetaData;
import org.jboss.system.metadata.ServiceValueMetaData;
@@ -36,7 +37,7 @@
* @author <a href="flavia.rainone at jboss.com">Flavia Rainone</a>
* @version $Revision$
*/
-class AttributeMetaDataConverter extends AbstractMetaDataConverter<ServiceAttributeMetaData, AbstractPropertyMetaData>
+class AttributeMetaDataConverter extends AbstractMetaDataConverter<ServiceAttributeMetaData, PropertyMetaData>
{
Map<Class<?>, AttributeValueMetaDataConverter<?, ?>> valueConverters;
private ValueMetaDataConverter defaultValueConverter = new ValueMetaDataConverter();
@@ -59,9 +60,19 @@
valueConverter = new TextValueMetaDataConverter();
valueConverters.put(valueConverter.getClass(), valueConverter);
}
-
- public AbstractPropertyMetaData toMCMetaData(ServiceAttributeMetaData attribute, Collection<String> unhandledAttributes)
+
+ public Class<ServiceAttributeMetaData> input()
{
+ return ServiceAttributeMetaData.class;
+ }
+
+ public Class<PropertyMetaData> output()
+ {
+ return PropertyMetaData.class;
+ }
+
+ public PropertyMetaData toMCMetaData(ServiceAttributeMetaData attribute, Collection<String> unhandledAttributes)
+ {
ServiceValueMetaData serviceValue = attribute.getValue();
AttributeValueMetaDataConverter<?, ?> valueConverter = valueConverters.get(serviceValue.getChildren());
if (valueConverter == null)
@@ -78,7 +89,7 @@
return "property";
}
- public String toXML(AbstractPropertyMetaData beanMetaData)
+ public String toXML(PropertyMetaData beanMetaData)
{
String start = startTag(Collections.singletonMap("name", beanMetaData.getName()));
AttributeValueMetaDataConverter converter = null; // TODO
Modified: projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/AttributeValueMetaDataConverter.java
===================================================================
--- projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/AttributeValueMetaDataConverter.java 2009-06-26 22:07:20 UTC (rev 90660)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/AttributeValueMetaDataConverter.java 2009-06-27 12:38:21 UTC (rev 90661)
@@ -33,8 +33,6 @@
*/
abstract class AttributeValueMetaDataConverter<V extends ServiceValueMetaData, B extends ValueMetaData> extends AbstractMetaDataConverter<V, B>
{
- public abstract Class<V> getCompatibleClass();
-
/**
* @param serviceValue
* @param unhandledAttributes
Copied: projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/BeanMetaData2XML.java (from rev 90629, projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/MetaDataConverter.java)
===================================================================
--- projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/BeanMetaData2XML.java (rev 0)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/BeanMetaData2XML.java 2009-06-27 12:38:21 UTC (rev 90661)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.mc.tools.jmx.convert;
+
+/**
+ * Converts BeanMetaData to XML.
+ *
+ * @author <a href="flavia.rainone at jboss.com">Flavia Rainone</a>
+ */
+interface BeanMetaData2XML<B>
+{
+ String toXML(B beanMetaData);
+}
\ No newline at end of file
Modified: projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/ConstructorMetaDataConverter.java
===================================================================
--- projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/ConstructorMetaDataConverter.java 2009-06-26 22:07:20 UTC (rev 90660)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/ConstructorMetaDataConverter.java 2009-06-27 12:38:21 UTC (rev 90661)
@@ -28,6 +28,7 @@
import org.jboss.beans.metadata.plugins.AbstractConstructorMetaData;
import org.jboss.beans.metadata.plugins.AbstractParameterMetaData;
import org.jboss.beans.metadata.plugins.AbstractValueMetaData;
+import org.jboss.beans.metadata.spi.ConstructorMetaData;
import org.jboss.beans.metadata.spi.ParameterMetaData;
import org.jboss.system.ConfigurationException;
import org.jboss.system.metadata.ServiceConstructorMetaData;
@@ -36,10 +37,20 @@
* @author <a href="flavia.rainone at jboss.com">Flavia Rainone</a>
* @version $Revision$
*/
-class ConstructorMetaDataConverter extends AbstractMetaDataConverter<ServiceConstructorMetaData, AbstractConstructorMetaData>
+class ConstructorMetaDataConverter extends AbstractMetaDataConverter<ServiceConstructorMetaData, ConstructorMetaData>
{
- public AbstractConstructorMetaData toMCMetaData(ServiceConstructorMetaData constructor, Collection<String> unhandled)
+ public Class<ServiceConstructorMetaData> input()
{
+ return ServiceConstructorMetaData.class;
+ }
+
+ public Class<ConstructorMetaData> output()
+ {
+ return ConstructorMetaData.class;
+ }
+
+ public ConstructorMetaData toMCMetaData(ServiceConstructorMetaData constructor, Collection<String> unhandled)
+ {
String[] parameters = constructor.getParams();
String[] signature;
try
@@ -72,7 +83,7 @@
return "constructor";
}
- public String toXML(AbstractConstructorMetaData beanMetaData)
+ public String toXML(ConstructorMetaData beanMetaData)
{
List<ParameterMetaData> params = beanMetaData.getParameters();
if (params == null || params.isEmpty())
Added: projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/ConverterFactory.java
===================================================================
--- projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/ConverterFactory.java (rev 0)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/ConverterFactory.java 2009-06-27 12:38:21 UTC (rev 90661)
@@ -0,0 +1,130 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.mc.tools.jmx.convert;
+
+import java.util.Map;
+import java.util.HashMap;
+
+/**
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public final class ConverterFactory
+{
+ private static ConverterFactory instance = new ConverterFactory();
+ private Map<Class<?>, MetaDataConverter> converters = new HashMap<Class<?>, MetaDataConverter>();
+ private Map<Class<?>, BeanMetaData2XML> xmls = new HashMap<Class<?>, BeanMetaData2XML>();
+
+ public static ConverterFactory getInstance()
+ {
+ return instance;
+ }
+
+ @SuppressWarnings("unchecked")
+ public <S> MetaDataConverter<S, ?> getConverter(S value)
+ {
+ if (value == null)
+ return null;
+
+ Class<?> input = value.getClass();
+ MetaDataConverter<S, ?> converter = converters.get(input);
+ if (converter != null)
+ return converter;
+
+ for (Map.Entry<Class<?>, MetaDataConverter> entry : converters.entrySet())
+ {
+ if (entry.getKey().isInstance(value))
+ {
+ return entry.getValue();
+ }
+ }
+ throw new IllegalArgumentException("No such converter for value: " + value);
+ }
+
+ @SuppressWarnings("unchecked")
+ public <B> BeanMetaData2XML<B> getXMLTransfomer(B value)
+ {
+ if (value == null)
+ return null;
+
+ Class<?> output = value.getClass();
+ BeanMetaData2XML<B> transformer = xmls.get(output);
+ if (transformer != null)
+ return transformer;
+
+ for (Map.Entry<Class<?>, BeanMetaData2XML> entry : xmls.entrySet())
+ {
+ if (entry.getKey().isInstance(value))
+ {
+ return entry.getValue();
+ }
+ }
+ throw new IllegalArgumentException("No such transformer for value: " + value);
+ }
+
+ public <S, B> B convert(S value, Class<B> expectedType)
+ {
+ if (value == null)
+ return null;
+ if (expectedType == null)
+ throw new IllegalArgumentException("Null expected type");
+
+ MetaDataConverter<S, ?> converter = getConverter(value);
+ Object result = converter.toMCMetaData(value, null);
+ if (expectedType.isInstance(result) == false)
+ throw new IllegalArgumentException("Wrong result type: " + result + ", expected: " + expectedType);
+
+ return expectedType.cast(result);
+ }
+
+ @SuppressWarnings("unchecked")
+ public String transform(Object value)
+ {
+ BeanMetaData2XML transfomer = getXMLTransfomer(value);
+ return transfomer.toXML(value);
+ }
+
+ public void registerConverter(MetaDataConverter converter)
+ {
+ if (converter == null)
+ return;
+
+ Class<?> input = converter.input();
+ Class<?> output = converter.output();
+ if (input != null)
+ converters.put(input, converter);
+ if (output != null)
+ xmls.put(output, converter);
+ }
+
+ public void unregisterConverter(MetaDataConverter converter)
+ {
+ if (converter == null)
+ return;
+
+ Class<?> input = converter.input();
+ Class<?> output = converter.output();
+ if (input != null)
+ converters.remove(input);
+ if (output != null)
+ xmls.remove(output);
+ }
+}
Modified: projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/DependencyMetaDataConverter.java
===================================================================
--- projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/DependencyMetaDataConverter.java 2009-06-26 22:07:20 UTC (rev 90660)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/DependencyMetaDataConverter.java 2009-06-27 12:38:21 UTC (rev 90661)
@@ -24,6 +24,7 @@
import java.util.Collection;
import org.jboss.beans.metadata.plugins.AbstractDependencyMetaData;
+import org.jboss.beans.metadata.spi.DependencyMetaData;
import org.jboss.system.metadata.ServiceDependencyMetaData;
/**
@@ -31,10 +32,20 @@
* @version $Revision$
*
*/
-class DependencyMetaDataConverter extends AbstractMetaDataConverter<ServiceDependencyMetaData, AbstractDependencyMetaData>
+class DependencyMetaDataConverter extends AbstractMetaDataConverter<ServiceDependencyMetaData, DependencyMetaData>
{
- public AbstractDependencyMetaData toMCMetaData(ServiceDependencyMetaData valueMetaData, Collection<String> unhandledAttributes)
+ public Class<ServiceDependencyMetaData> input()
{
+ return ServiceDependencyMetaData.class;
+ }
+
+ public Class<DependencyMetaData> output()
+ {
+ return DependencyMetaData.class;
+ }
+
+ public DependencyMetaData toMCMetaData(ServiceDependencyMetaData valueMetaData, Collection<String> unhandledAttributes)
+ {
String dependencyName = NAME_TRANSLATOR.translate(valueMetaData.getIDependOn());
return new AbstractDependencyMetaData(dependencyName);
}
@@ -44,7 +55,7 @@
return "depends";
}
- public String toXML(AbstractDependencyMetaData beanMetaData)
+ public String toXML(DependencyMetaData beanMetaData)
{
return simpleElement(beanMetaData.getDependency());
}
Modified: projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/DependencyValueMetaDataConverter.java
===================================================================
--- projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/DependencyValueMetaDataConverter.java 2009-06-26 22:07:20 UTC (rev 90660)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/DependencyValueMetaDataConverter.java 2009-06-27 12:38:21 UTC (rev 90661)
@@ -33,14 +33,18 @@
*/
class DependencyValueMetaDataConverter extends AttributeValueMetaDataConverter<ServiceDependencyValueMetaData, AbstractInjectionValueMetaData>
{
- public Class<ServiceDependencyValueMetaData> getCompatibleClass()
+ public Class<ServiceDependencyValueMetaData> input()
{
return ServiceDependencyValueMetaData.class;
}
-
- public AbstractInjectionValueMetaData toMCMetaData(ServiceDependencyValueMetaData valueMetaData, Collection<String> unhandledAttributes)
+
+ public Class<AbstractInjectionValueMetaData> output()
{
- ServiceDependencyValueMetaData value = (ServiceDependencyValueMetaData) valueMetaData;
+ return AbstractInjectionValueMetaData.class;
+ }
+
+ public AbstractInjectionValueMetaData toMCMetaData(ServiceDependencyValueMetaData value, Collection<String> unhandledAttributes)
+ {
if (value.getProxyType() != null)
{
// TODO
Modified: projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/ElementValueMetaDataConverter.java
===================================================================
--- projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/ElementValueMetaDataConverter.java 2009-06-26 22:07:20 UTC (rev 90660)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/ElementValueMetaDataConverter.java 2009-06-27 12:38:21 UTC (rev 90661)
@@ -32,11 +32,16 @@
*/
class ElementValueMetaDataConverter<B extends ValueMetaData> extends AttributeValueMetaDataConverter<ServiceElementValueMetaData, B>
{
- public Class<ServiceElementValueMetaData> getCompatibleClass()
+ public Class<ServiceElementValueMetaData> input()
{
return ServiceElementValueMetaData.class;
}
-
+
+ public Class<B> output()
+ {
+ return null; // TODO - real output?
+ }
+
public B toMCMetaData(ServiceElementValueMetaData valueMetaData, Collection<String> unhandledAttributes)
{
//ServiceElementValueMetaData
Modified: projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/InjectionValueMetaDataConverter.java
===================================================================
--- projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/InjectionValueMetaDataConverter.java 2009-06-26 22:07:20 UTC (rev 90660)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/InjectionValueMetaDataConverter.java 2009-06-27 12:38:21 UTC (rev 90661)
@@ -35,14 +35,18 @@
*/
class InjectionValueMetaDataConverter extends AttributeValueMetaDataConverter<ServiceInjectionValueMetaData, AbstractInjectionValueMetaData>
{
- public Class<ServiceInjectionValueMetaData> getCompatibleClass()
+ public Class<ServiceInjectionValueMetaData> input()
{
return ServiceInjectionValueMetaData.class;
}
-
- public AbstractInjectionValueMetaData toMCMetaData(ServiceInjectionValueMetaData valueMetaData, Collection<String> unhandledAttributes)
+
+ public Class<AbstractInjectionValueMetaData> output()
{
- ServiceInjectionValueMetaData value = (ServiceInjectionValueMetaData) valueMetaData;
+ return AbstractInjectionValueMetaData.class;
+ }
+
+ public AbstractInjectionValueMetaData toMCMetaData(ServiceInjectionValueMetaData value, Collection<String> unhandledAttributes)
+ {
String dependency = (String) value.getDependency();
String property = value.getProperty();
return new AbstractInjectionValueMetaData(NAME_TRANSLATOR.translate(dependency), property);
Modified: projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/JBXBValueMetaDataConverter.java
===================================================================
--- projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/JBXBValueMetaDataConverter.java 2009-06-26 22:07:20 UTC (rev 90660)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/JBXBValueMetaDataConverter.java 2009-06-27 12:38:21 UTC (rev 90661)
@@ -34,11 +34,16 @@
*/
class JBXBValueMetaDataConverter<B extends ValueMetaData> extends AttributeValueMetaDataConverter<ServiceJBXBValueMetaData, B>
{
- public Class<ServiceJBXBValueMetaData> getCompatibleClass()
+ public Class<ServiceJBXBValueMetaData> input()
{
return ServiceJBXBValueMetaData.class;
}
-
+
+ public Class<B> output()
+ {
+ return null; // TODO - real output?
+ }
+
public B toMCMetaData(ServiceJBXBValueMetaData valueMetaData, Collection<String> unhandledAttributes)
{
//ServiceJBXBValueMetaData
Modified: projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/JavaBeanValueMetaDateConverter.java
===================================================================
--- projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/JavaBeanValueMetaDateConverter.java 2009-06-26 22:07:20 UTC (rev 90660)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/JavaBeanValueMetaDateConverter.java 2009-06-27 12:38:21 UTC (rev 90661)
@@ -26,6 +26,7 @@
import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
import org.jboss.beans.metadata.plugins.AbstractPropertyMetaData;
+import org.jboss.beans.metadata.spi.BeanMetaData;
import org.jboss.system.metadata.ServiceJavaBeanValueMetaData;
import org.jboss.system.metadata.ServiceMetaDataParser;
import org.w3c.dom.Element;
@@ -37,15 +38,20 @@
* @version $Revision$
*
*/
-class JavaBeanValueMetaDataConverter extends AttributeValueMetaDataConverter<ServiceJavaBeanValueMetaData, AbstractBeanMetaData>
+class JavaBeanValueMetaDataConverter extends AttributeValueMetaDataConverter<ServiceJavaBeanValueMetaData, BeanMetaData>
{
- public Class<ServiceJavaBeanValueMetaData> getCompatibleClass()
+ public Class<ServiceJavaBeanValueMetaData> input()
{
return ServiceJavaBeanValueMetaData.class;
}
-
- public AbstractBeanMetaData toMCMetaData(ServiceJavaBeanValueMetaData beanMetaData, Collection<String> unhandledAttributes)
+
+ public Class<BeanMetaData> output()
{
+ return BeanMetaData.class;
+ }
+
+ public BeanMetaData toMCMetaData(ServiceJavaBeanValueMetaData beanMetaData, Collection<String> unhandledAttributes)
+ {
Element element = beanMetaData.getElement();
AbstractBeanMetaData result = new AbstractBeanMetaData(element.getAttribute("attributeClass"));
NodeList properties = element.getElementsByTagName("property");
@@ -70,7 +76,7 @@
return "bean";
}
- public String toXML(AbstractBeanMetaData beanMetaData)
+ public String toXML(BeanMetaData beanMetaData)
{
Map<String, ?> attributes = null; // TODO; name, class
String start = startTag(attributes);
Modified: projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/MetaDataConverter.java
===================================================================
--- projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/MetaDataConverter.java 2009-06-26 22:07:20 UTC (rev 90660)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/MetaDataConverter.java 2009-06-27 12:38:21 UTC (rev 90661)
@@ -32,11 +32,13 @@
* @author <a href="flavia.rainone at jboss.com">Flavia Rainone</a>
* @version $Revision$
*/
-interface MetaDataConverter<S,B>
+interface MetaDataConverter<S,B> extends BeanMetaData2XML<B>
{
BeanNameService NAME_TRANSLATOR = new InputNameService();
-
+
+ Class<S> input();
+
+ Class<B> output();
+
B toMCMetaData(S serviceMetaData, Collection<String> unhandledAtributes);
-
- String toXML(B beanMetaData);
}
\ No newline at end of file
Modified: projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/ServiceMetaDataConverter.java
===================================================================
--- projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/ServiceMetaDataConverter.java 2009-06-26 22:07:20 UTC (rev 90660)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/ServiceMetaDataConverter.java 2009-06-27 12:38:21 UTC (rev 90661)
@@ -59,7 +59,17 @@
this.aliasConverter = new AliasMetaDataConverter();
this.annotationConverter = new AnnotationMetaDataConverter();
}
-
+
+ public Class<ServiceMetaData> input()
+ {
+ return ServiceMetaData.class;
+ }
+
+ public Class<BeanMetaData> output()
+ {
+ return BeanMetaData.class;
+ }
+
/**
* Converts jmxMetaData (old MicroKernel) into BeanMetaData (Microcontainer)
*
Modified: projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/TextValueMetaDataConverter.java
===================================================================
--- projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/TextValueMetaDataConverter.java 2009-06-26 22:07:20 UTC (rev 90660)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/TextValueMetaDataConverter.java 2009-06-27 12:38:21 UTC (rev 90661)
@@ -34,11 +34,16 @@
*/
class TextValueMetaDataConverter extends AttributeValueMetaDataConverter<ServiceTextValueMetaData, StringValueMetaData>
{
- public Class<ServiceTextValueMetaData> getCompatibleClass()
+ public Class<ServiceTextValueMetaData> input()
{
return ServiceTextValueMetaData.class;
}
-
+
+ public Class<StringValueMetaData> output()
+ {
+ return StringValueMetaData.class;
+ }
+
public StringValueMetaData toMCMetaData(ServiceTextValueMetaData valueMetaData, Collection<String> unhandledAttributes)
{
return new StringValueMetaData(valueMetaData.getText());
Modified: projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/ValueFactoryMetaDataConverter.java
===================================================================
--- projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/ValueFactoryMetaDataConverter.java 2009-06-26 22:07:20 UTC (rev 90660)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/ValueFactoryMetaDataConverter.java 2009-06-27 12:38:21 UTC (rev 90661)
@@ -40,11 +40,16 @@
*/
class ValueFactoryMetaDataConverter extends AttributeValueMetaDataConverter<ServiceValueFactoryValueMetaData, AbstractValueFactoryMetaData>
{
- public Class<ServiceValueFactoryValueMetaData> getCompatibleClass()
+ public Class<ServiceValueFactoryValueMetaData> input()
{
return ServiceValueFactoryValueMetaData.class;
}
-
+
+ public Class<AbstractValueFactoryMetaData> output()
+ {
+ return AbstractValueFactoryMetaData.class;
+ }
+
public AbstractValueFactoryMetaData toMCMetaData(ServiceValueFactoryValueMetaData value, Collection<String> unhandledAttributes)
{
String dependency = NAME_TRANSLATOR.translate((String) value.getDependency());
Modified: projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/ValueMetaDataConverter.java
===================================================================
--- projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/ValueMetaDataConverter.java 2009-06-26 22:07:20 UTC (rev 90660)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/ValueMetaDataConverter.java 2009-06-27 12:38:21 UTC (rev 90661)
@@ -34,11 +34,16 @@
*/
public class ValueMetaDataConverter extends AttributeValueMetaDataConverter<ServiceValueMetaData, ValueMetaData>
{
- public Class<ServiceValueMetaData> getCompatibleClass()
+ public Class<ServiceValueMetaData> input()
{
return ServiceValueMetaData.class;
}
-
+
+ public Class<ValueMetaData> output()
+ {
+ return null; // TODO - real output?
+ }
+
public ValueMetaData toMCMetaData(ServiceValueMetaData valueMetaData, Collection<String> unhandledAttributes)
{
throw new RuntimeException("Unexpected value type: " + (valueMetaData == null? valueMetaData: valueMetaData.getClass().getName()));
More information about the jboss-cvs-commits
mailing list