[jboss-cvs] JBossAS SVN: r90629 - in projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx: naming and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Jun 26 09:04:47 EDT 2009


Author: alesj
Date: 2009-06-26 09:04:46 -0400 (Fri, 26 Jun 2009)
New Revision: 90629

Added:
   projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/AbstractMetaDataConverter.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
   projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/naming/AutoIncrementNameService.java
   projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/naming/BeanNameService.java
   projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/naming/InputNameService.java
Log:
Introduce toXML via convertor.

Copied: projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/AbstractMetaDataConverter.java (from rev 90591, 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/AbstractMetaDataConverter.java	                        (rev 0)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/AbstractMetaDataConverter.java	2009-06-26 13:04:46 UTC (rev 90629)
@@ -0,0 +1,72 @@
+/*
+ * 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;
+
+import java.util.Map;
+
+/**
+ * @param <S> service metadata type
+ * @param <B> bean metadata type
+ * @author  <a href="ales.justin at jboss.com">Ales Justin</a>
+ */
+abstract class AbstractMetaDataConverter<S,B> implements MetaDataConverter<S, B>
+{
+   protected abstract String element();
+
+   protected String startTag()
+   {
+      return startTag(null);
+   }
+
+   protected String startTag(Map<String, ?> attributes)
+   {
+      return "<" + element() + toPairs(attributes) + ">";
+   }
+
+   protected String emptyTag(Map<String, ?> attributes)
+   {
+      return "<" + element() + toPairs(attributes) + "/>";
+   }
+
+   protected String simpleElement(Object value)
+   {
+      return startTag() + value + endTag();
+   }
+
+   protected static String toPairs(Map<String, ?> map)
+   {
+      if (map == null || map.isEmpty())
+         return "";
+
+      StringBuilder result = new StringBuilder(" ");
+      for (Map.Entry<String, ?> entry : map.entrySet())
+      {
+         result.append(entry.getKey()).append("=\"").append(entry.getValue()).append("\" ");
+      }
+      return result.toString();
+   }
+
+   protected String endTag()
+   {
+      return "</" + element() + ">";
+   }
+}
\ No newline at end of file

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 13:03:39 UTC (rev 90628)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/AliasMetaDataConverter.java	2009-06-26 13:04:46 UTC (rev 90629)
@@ -29,7 +29,7 @@
  * @author  <a href="flavia.rainone at jboss.com">Flavia Rainone</a>
  * @version $Revision$
  */
-class AliasMetaDataConverter implements MetaDataConverter<String, AbstractAliasMetaData>
+class AliasMetaDataConverter extends AbstractMetaDataConverter<String, AbstractAliasMetaData>
 {
    public AbstractAliasMetaData toMCMetaData(String alias, Collection<String> unhandledAtributes)
    {
@@ -37,4 +37,14 @@
       newAlias.setAliasValue(alias);
       return newAlias;
    }
+
+   protected String element()
+   {
+      return "alias";
+   }
+
+   public String toXML(AbstractAliasMetaData beanMetaData)
+   {
+      return simpleElement(beanMetaData.getAliasValue()); 
+   }
 }
\ No newline at end of file

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 13:03:39 UTC (rev 90628)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/AnnotationMetaDataConverter.java	2009-06-26 13:04:46 UTC (rev 90629)
@@ -31,10 +31,20 @@
  * @version $Revision$
  *
  */
-class AnnotationMetaDataConverter implements MetaDataConverter <ServiceAnnotationMetaData, AbstractAnnotationMetaData>
+class AnnotationMetaDataConverter extends AbstractMetaDataConverter <ServiceAnnotationMetaData, AbstractAnnotationMetaData>
 {
    public AbstractAnnotationMetaData toMCMetaData(ServiceAnnotationMetaData annotation, Collection<String> unhandled)
    {
-      return new AbstractAnnotationMetaData(((ServiceAnnotationMetaData) annotation).getAnnotation());
+      return new AbstractAnnotationMetaData(annotation.getAnnotation());
    }
+
+   protected String element()
+   {
+      return "annotation";
+   }
+
+   public String toXML(AbstractAnnotationMetaData beanMetaData)
+   {
+      return simpleElement(beanMetaData.getAnnotation());
+   }
 }
\ 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 13:03:39 UTC (rev 90628)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/AttributeMetaDataConverter.java	2009-06-26 13:04:46 UTC (rev 90629)
@@ -22,6 +22,7 @@
 package org.jboss.mc.tools.jmx.convert;
 
 import java.util.Collection;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -35,7 +36,7 @@
  * @author  <a href="flavia.rainone at jboss.com">Flavia Rainone</a>
  * @version $Revision$
  */
-class AttributeMetaDataConverter implements MetaDataConverter<ServiceAttributeMetaData, AbstractPropertyMetaData>
+class AttributeMetaDataConverter extends AbstractMetaDataConverter<ServiceAttributeMetaData, AbstractPropertyMetaData>
 {
    Map<Class<?>, AttributeValueMetaDataConverter<?, ?>> valueConverters;
    private ValueMetaDataConverter defaultValueConverter = new ValueMetaDataConverter(); 
@@ -59,9 +60,8 @@
       valueConverters.put(valueConverter.getClass(), valueConverter);
     }
    
-   public AbstractPropertyMetaData toMCMetaData(ServiceAttributeMetaData attributeMetaData, Collection<String> unhandledAttributes)
+   public AbstractPropertyMetaData toMCMetaData(ServiceAttributeMetaData attribute, Collection<String> unhandledAttributes)
    {
-      ServiceAttributeMetaData attribute = (ServiceAttributeMetaData) attributeMetaData;
       ServiceValueMetaData serviceValue = attribute.getValue();
       AttributeValueMetaDataConverter<?, ?> valueConverter = valueConverters.get(serviceValue.getChildren());
       if (valueConverter == null)
@@ -72,4 +72,18 @@
       String name = attribute.getName().substring(0, 1).toLowerCase() + attribute.getName().substring(1);
       return new AbstractPropertyMetaData(name, newValue);
    }
+
+   protected String element()
+   {
+      return "property";
+   }
+
+   public String toXML(AbstractPropertyMetaData beanMetaData)
+   {
+      String start = startTag(Collections.singletonMap("name", beanMetaData.getName()));
+      AttributeValueMetaDataConverter converter = null; // TODO
+      String value = converter.toXML(beanMetaData.getValue());
+      String end = endTag();
+      return start + value + end;
+   }
 }
\ No newline at end of file

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 13:03:39 UTC (rev 90628)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/AttributeValueMetaDataConverter.java	2009-06-26 13:04:46 UTC (rev 90629)
@@ -31,7 +31,7 @@
  * @version $Revision$
  *
  */
-abstract class AttributeValueMetaDataConverter<V extends ServiceValueMetaData, B extends ValueMetaData> implements MetaDataConverter<V, B>
+abstract class AttributeValueMetaDataConverter<V extends ServiceValueMetaData, B extends ValueMetaData> extends AbstractMetaDataConverter<V, B>
 {
    public abstract Class<V> getCompatibleClass();
 
@@ -41,8 +41,7 @@
     * @return
     */
    @SuppressWarnings("all")
-   public B toMCMetaData(ServiceValueMetaData serviceValue,
-         Collection<String> unhandledAttributes)
+   public B toMCMetaData(ServiceValueMetaData serviceValue, Collection<String> unhandledAttributes)
    {
       return this.toMCMetaData((V) serviceValue, unhandledAttributes);
    }

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 13:03:39 UTC (rev 90628)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/ConstructorMetaDataConverter.java	2009-06-26 13:04:46 UTC (rev 90629)
@@ -36,7 +36,7 @@
  * @author  <a href="flavia.rainone at jboss.com">Flavia Rainone</a>
  * @version $Revision$
  */
-class ConstructorMetaDataConverter implements MetaDataConverter<ServiceConstructorMetaData, AbstractConstructorMetaData>
+class ConstructorMetaDataConverter extends AbstractMetaDataConverter<ServiceConstructorMetaData, AbstractConstructorMetaData>
 {
    public AbstractConstructorMetaData toMCMetaData(ServiceConstructorMetaData constructor, Collection<String> unhandled)
    {
@@ -66,4 +66,21 @@
       }
       return beanConstructor;
    }
+
+   protected String element()
+   {
+      return "constructor";
+   }
+
+   public String toXML(AbstractConstructorMetaData beanMetaData)
+   {
+      List<ParameterMetaData> params = beanMetaData.getParameters();
+      if (params == null || params.isEmpty())
+         return ""; // TODO; is this OK? == default ctor
+
+      String start = startTag();
+      String paramElts = ""; // TODO
+      String end = endTag();
+      return start + paramElts + end;
+   }
 }
\ No newline at end of file

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 13:03:39 UTC (rev 90628)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/DependencyMetaDataConverter.java	2009-06-26 13:04:46 UTC (rev 90629)
@@ -31,11 +31,21 @@
  * @version $Revision$
  *
  */
-class DependencyMetaDataConverter implements MetaDataConverter<ServiceDependencyMetaData, AbstractDependencyMetaData>
+class DependencyMetaDataConverter extends AbstractMetaDataConverter<ServiceDependencyMetaData, AbstractDependencyMetaData>
 {
    public AbstractDependencyMetaData toMCMetaData(ServiceDependencyMetaData valueMetaData, Collection<String> unhandledAttributes)
    {
       String dependencyName = NAME_TRANSLATOR.translate(valueMetaData.getIDependOn());
       return new AbstractDependencyMetaData(dependencyName); 
    }
+
+   protected String element()
+   {
+      return "depends";
+   }
+
+   public String toXML(AbstractDependencyMetaData beanMetaData)
+   {
+      return simpleElement(beanMetaData.getDependency());
+   }
 }
\ No newline at end of file

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 13:03:39 UTC (rev 90628)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/DependencyValueMetaDataConverter.java	2009-06-26 13:04:46 UTC (rev 90629)
@@ -22,6 +22,7 @@
 package org.jboss.mc.tools.jmx.convert;
 
 import java.util.Collection;
+import java.util.Collections;
 
 import org.jboss.beans.metadata.plugins.AbstractInjectionValueMetaData;
 import org.jboss.system.metadata.ServiceDependencyValueMetaData;
@@ -48,4 +49,14 @@
       String beanName = NAME_TRANSLATOR.translate(value.getDependency());
       return new AbstractInjectionValueMetaData(beanName);
    }
+
+   protected String element()
+   {
+      return "inject";
+   }
+
+   public String toXML(AbstractInjectionValueMetaData beanMetaData)
+   {
+      return emptyTag(Collections.singletonMap("bean", beanMetaData.getUnderlyingValue()));
+   }
 }
\ No newline at end of file

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 13:03:39 UTC (rev 90628)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/ElementValueMetaDataConverter.java	2009-06-26 13:04:46 UTC (rev 90629)
@@ -43,4 +43,14 @@
       // TODO what to do in this case?
       throw new RuntimeException("XML Element Value Unsupported");
    }
+
+   protected String element()
+   {
+      return "";
+   }
+
+   public String toXML(B beanMetaData)
+   {
+      return "";
+   }
 }
\ No newline at end of file

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 13:03:39 UTC (rev 90628)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/InjectionValueMetaDataConverter.java	2009-06-26 13:04:46 UTC (rev 90629)
@@ -22,6 +22,7 @@
 package org.jboss.mc.tools.jmx.convert;
 
 import java.util.Collection;
+import java.util.Collections;
 
 import org.jboss.beans.metadata.plugins.AbstractInjectionValueMetaData;
 import org.jboss.system.metadata.ServiceInjectionValueMetaData;
@@ -46,4 +47,14 @@
       String property = value.getProperty();
       return new AbstractInjectionValueMetaData(NAME_TRANSLATOR.translate(dependency), property);
    }
+
+   protected String element()
+   {
+      return "inject";
+   }
+
+   public String toXML(AbstractInjectionValueMetaData beanMetaData)
+   {
+      return emptyTag(Collections.singletonMap("bean", beanMetaData.getUnderlyingValue()));
+   }
 }
\ No newline at end of file

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 13:03:39 UTC (rev 90628)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/JBXBValueMetaDataConverter.java	2009-06-26 13:04:46 UTC (rev 90629)
@@ -45,4 +45,14 @@
       // TODO: is there an equivalent for MC?
       return null;
    }
+
+   protected String element()
+   {
+      return null;
+   }
+
+   public String toXML(B beanMetaData)
+   {
+      return "";
+   }
 }
\ No newline at end of file

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 13:03:39 UTC (rev 90628)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/JavaBeanValueMetaDateConverter.java	2009-06-26 13:04:46 UTC (rev 90629)
@@ -22,6 +22,7 @@
 package org.jboss.mc.tools.jmx.convert;
 
 import java.util.Collection;
+import java.util.Map;
 
 import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
 import org.jboss.beans.metadata.plugins.AbstractPropertyMetaData;
@@ -45,7 +46,7 @@
    
    public AbstractBeanMetaData toMCMetaData(ServiceJavaBeanValueMetaData beanMetaData, Collection<String> unhandledAttributes)
    {
-      Element element = ((ServiceJavaBeanValueMetaData) beanMetaData).getElement(); 
+      Element element = beanMetaData.getElement();
       AbstractBeanMetaData result = new AbstractBeanMetaData(element.getAttribute("attributeClass"));
       NodeList properties = element.getElementsByTagName("property");
       for(int n = 0; n < properties.getLength(); n ++)
@@ -63,4 +64,18 @@
       }
       return result;
    }
+
+   protected String element()
+   {
+      return "bean";
+   }
+
+   public String toXML(AbstractBeanMetaData beanMetaData)
+   {
+      Map<String, ?> attributes = null; // TODO; name, class
+      String start = startTag(attributes);
+      String props = ""; // TODO; properties
+      String end = endTag();
+      return start + props + end; 
+   }
 }

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 13:03:39 UTC (rev 90628)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/MetaDataConverter.java	2009-06-26 13:04:46 UTC (rev 90629)
@@ -36,5 +36,7 @@
 {
    BeanNameService NAME_TRANSLATOR = new InputNameService();
    
-   public abstract B toMCMetaData(S serviceMetaData, Collection<String> unhandledAtributes);
+   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 13:03:39 UTC (rev 90628)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/ServiceMetaDataConverter.java	2009-06-26 13:04:46 UTC (rev 90629)
@@ -42,7 +42,7 @@
  * @version $Revision$
  *
  */
-public class ServiceMetaDataConverter implements MetaDataConverter<ServiceMetaData, BeanMetaData>
+public class ServiceMetaDataConverter extends AbstractMetaDataConverter<ServiceMetaData, BeanMetaData>
 {
    private JMXAnnotationStrategy jmxAnnotationStrategy;
    private ConstructorMetaDataConverter constructorConverter;
@@ -197,5 +197,15 @@
          annotations.add(jmxAnnotation);
       }
       beanMetaData.setAnnotations(annotations);
-   }  
+   }
+
+   protected String element()
+   {
+      return "bean";
+   }
+
+   public String toXML(BeanMetaData beanMetaData)
+   {
+      return ""; // TODO -- impl all via sub-converters
+   }
 }
\ No newline at end of file

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 13:03:39 UTC (rev 90628)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/TextValueMetaDataConverter.java	2009-06-26 13:04:46 UTC (rev 90629)
@@ -43,4 +43,14 @@
    {
       return new StringValueMetaData(valueMetaData.getText());
    }
+
+   protected String element()
+   {
+      return "value";
+   }
+
+   public String toXML(StringValueMetaData beanMetaData)
+   {
+      return simpleElement(beanMetaData.getValue());
+   }
 }
\ No newline at end of file

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 13:03:39 UTC (rev 90628)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/ValueFactoryMetaDataConverter.java	2009-06-26 13:04:46 UTC (rev 90629)
@@ -77,4 +77,14 @@
       }
       return metaData;
    }
+
+   protected String element()
+   {
+      return "value-factory";
+   }
+
+   public String toXML(AbstractValueFactoryMetaData beanMetaData)
+   {
+      return ""; // TODO -- real impl
+   }
 }
\ No newline at end of file

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 13:03:39 UTC (rev 90628)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/convert/ValueMetaDataConverter.java	2009-06-26 13:04:46 UTC (rev 90629)
@@ -43,4 +43,14 @@
    {
       throw new RuntimeException("Unexpected value type: " + (valueMetaData == null? valueMetaData: valueMetaData.getClass().getName()));
    }
+
+   protected String element()
+   {
+      return null; // TODO -- check what goes here, if anything?
+   }
+
+   public String toXML(ValueMetaData beanMetaData)
+   {
+      return ""; // TODO; real impl?
+   }
 }
\ No newline at end of file

Modified: projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/naming/AutoIncrementNameService.java
===================================================================
--- projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/naming/AutoIncrementNameService.java	2009-06-26 13:03:39 UTC (rev 90628)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/naming/AutoIncrementNameService.java	2009-06-26 13:04:46 UTC (rev 90629)
@@ -21,9 +21,6 @@
  */
 package org.jboss.mc.tools.jmx.naming;
 
-import java.util.HashMap;
-import java.util.Map;
-
 /**
  * @author  <a href="flavia.rainone at jboss.com">Flavia Rainone</a>
  * @version $Revision$
@@ -32,16 +29,15 @@
 public class AutoIncrementNameService extends BeanNameService
 {
    private int count = 0;
-   private Map<String, String> names = new HashMap<String, String>();
 
    public String translate(String serviceName)
    {
-      if (names.containsKey(serviceName))
-      {
-         return names.get(serviceName);
-      }
-      String name = "bean" + ++count;
-      names.put(serviceName, name);
+      String name = getCachedName(serviceName);
+      if (name != null)
+         return name;
+
+      name = "bean" + ++count;
+      putCachedName(serviceName, name);
       return name;
    }
 }
\ No newline at end of file

Modified: projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/naming/BeanNameService.java
===================================================================
--- projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/naming/BeanNameService.java	2009-06-26 13:03:39 UTC (rev 90628)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/naming/BeanNameService.java	2009-06-26 13:04:46 UTC (rev 90629)
@@ -21,6 +21,9 @@
  */
 package org.jboss.mc.tools.jmx.naming;
 
+import java.util.Map;
+import java.util.HashMap;
+
 import org.jboss.system.metadata.ServiceMetaData;
 
 /**
@@ -30,10 +33,22 @@
  */
 public abstract class BeanNameService
 {
+   private Map<String, String> cachedNames = new HashMap<String, String>();
+
    public String translate(ServiceMetaData service)
    {
       return translate(service.getObjectName().getCanonicalName());
    }
    
    public abstract String translate(String serviceName);
+
+   protected String getCachedName(String key)
+   {
+      return cachedNames.get(key);
+   }
+
+   protected void putCachedName(String key, String name)
+   {
+      cachedNames.put(key, name);      
+   }
 }
\ No newline at end of file

Modified: projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/naming/InputNameService.java
===================================================================
--- projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/naming/InputNameService.java	2009-06-26 13:03:39 UTC (rev 90628)
+++ projects/mc-tools/smd2bmd/trunk/src/main/java/org/jboss/mc/tools/jmx/naming/InputNameService.java	2009-06-26 13:04:46 UTC (rev 90629)
@@ -21,28 +21,22 @@
  */
 package org.jboss.mc.tools.jmx.naming;
 
-import java.util.HashMap;
-import java.util.Map;
-
 import org.jboss.mc.tools.jmx.IOUtil;
 
 /**
  * @author  <a href="flavia.rainone at jboss.com">Flavia Rainone</a>
  * @version $Revision$
- *
  */
 public class InputNameService extends BeanNameService
 {
-   private Map<String, String> names = new HashMap<String, String>();
-  
    public String translate(String serviceName)
    {
-      if (names.containsKey(serviceName))
-      {
-         return names.get(serviceName);
-      }
-      String name = IOUtil.inputName("Type in the name of the bean name of Mbean " + serviceName);
-      names.put(serviceName, name);
+      String name = getCachedName(serviceName);
+      if (name != null)
+         return name;
+
+      name = IOUtil.inputName("Type in the name of the bean name of Mbean " + serviceName);
+      putCachedName(serviceName, name);
       return name;
    }
 }
\ No newline at end of file




More information about the jboss-cvs-commits mailing list