[jboss-cvs] JBossAS SVN: r90074 - in projects/mc-tools/trunk/src: test/java/org/jboss/mc/tools/jmx and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Jun 11 00:00:43 EDT 2009


Author: flavia.rainone at jboss.com
Date: 2009-06-11 00:00:43 -0400 (Thu, 11 Jun 2009)
New Revision: 90074

Added:
   projects/mc-tools/trunk/src/test/java/org/jboss/mc/tools/jmx/MetaDataConverterTestCase.java
   projects/mc-tools/trunk/src/test/java/org/jboss/mc/tools/jmx/XMLMarshallerTestCase.java
   projects/mc-tools/trunk/src/test/resources/org/jboss/mc/tools/jmx/jboss-service1.xml
   projects/mc-tools/trunk/src/test/resources/org/jboss/mc/tools/jmx/jboss-service2.xml
   projects/mc-tools/trunk/src/test/resources/org/jboss/mc/tools/jmx/jboss-service3.xml
Modified:
   projects/mc-tools/trunk/src/main/java/org/jboss/mc/tools/jmx/JBossBeanXMLMarshaller.java
   projects/mc-tools/trunk/src/main/java/org/jboss/mc/tools/jmx/MetaDataConverter.java
   projects/mc-tools/trunk/src/main/java/org/jboss/mc/tools/jmx/XMLMigrator.java
Log:
[JBMICROCONT-444] The first tests plus bug fixes.

Modified: projects/mc-tools/trunk/src/main/java/org/jboss/mc/tools/jmx/JBossBeanXMLMarshaller.java
===================================================================
--- projects/mc-tools/trunk/src/main/java/org/jboss/mc/tools/jmx/JBossBeanXMLMarshaller.java	2009-06-11 03:05:29 UTC (rev 90073)
+++ projects/mc-tools/trunk/src/main/java/org/jboss/mc/tools/jmx/JBossBeanXMLMarshaller.java	2009-06-11 04:00:43 UTC (rev 90074)
@@ -80,86 +80,94 @@
          result.append("</constructor>\n");
       }
       
-      for (PropertyMetaData property: bean.getProperties())
+      if (bean.getProperties() != null && !bean.getProperties().isEmpty())
       {
-         result.append("\n").append(tab).append(tab);
-         result.append("<property name=\"").append(property.getName()).append("\">");
-         ValueMetaData value = property.getValue();
-         
-         if (value instanceof AbstractInjectionValueMetaData)
+         for (PropertyMetaData property: bean.getProperties())
          {
-            AbstractInjectionValueMetaData beanInjection = (AbstractInjectionValueMetaData) value;
-            /*if (((AbstractInjectionValueMetaData) value).getProperty() != null)
-            {
-               result.append("<value-factory bean=\"").append(beanInjection.getValue());
-               result.append("\" method=\"");
-               result.
-            }*/
-            result.append("\n").append(tab).append(tab).append(tab);
-            result.append("<inject bean=\"").append(beanInjection.getValue()).append("\"");
-            if (beanInjection.getProperty() != null)
-            {
-               result.append(" property=\"").append(beanInjection.getProperty()).append("\"");
-            }
-            result.append("/>");
             result.append("\n").append(tab).append(tab);
-         }
-         else if(value instanceof BeanMetaData)
-         {
-            BeanMetaData anonymousBean = (BeanMetaData) value;
-            result.append("\n").append(tab).append(tab).append(tab);
-            result.append("<bean class=\"").append(anonymousBean.getBean());
-            if (anonymousBean.getProperties().isEmpty())
+            result.append("<property name=\"").append(property.getName()).append("\">");
+            ValueMetaData value = property.getValue();
+            
+            if (value instanceof AbstractInjectionValueMetaData)
             {
+               AbstractInjectionValueMetaData beanInjection = (AbstractInjectionValueMetaData) value;
+               /*if (((AbstractInjectionValueMetaData) value).getProperty() != null)
+               {
+                  result.append("<value-factory bean=\"").append(beanInjection.getValue());
+                  result.append("\" method=\"");
+                  result.
+               }*/
+               result.append("\n").append(tab).append(tab).append(tab);
+               result.append("<inject bean=\"").append(beanInjection.getValue()).append("\"");
+               if (beanInjection.getProperty() != null)
+               {
+                  result.append(" property=\"").append(beanInjection.getProperty()).append("\"");
+               }
                result.append("/>");
+               result.append("\n").append(tab).append(tab);
             }
-            else
+            else if(value instanceof BeanMetaData)
             {
-               for (PropertyMetaData anonymousProperty: anonymousBean.getProperties())
+               BeanMetaData anonymousBean = (BeanMetaData) value;
+               result.append("\n").append(tab).append(tab).append(tab);
+               result.append("<bean class=\"").append(anonymousBean.getBean());
+               if (anonymousBean.getProperties().isEmpty())
                {
-                  result.append("\n").append(tab).append(tab).append(tab).append(tab);
-                  result.append("<property name=\"").append(anonymousProperty.getName());
+                  result.append("/>");
+               }
+               else
+               {
+                  for (PropertyMetaData anonymousProperty: anonymousBean.getProperties())
+                  {
+                     result.append("\n").append(tab).append(tab).append(tab).append(tab);
+                     result.append("<property name=\"").append(anonymousProperty.getName());
+                     result.append("\">");
+                     result.append(((StringValueMetaData)anonymousProperty.getValue()).getValue());
+                     result.append("</property>");
+                  }
+                  result.append("\n").append(tab).append(tab).append(tab);
+                  result.append("</bean>");
+                  result.append("\n").append(tab).append(tab);
+               }
+            }
+            else if(value instanceof AbstractValueFactoryMetaData)
+            {
+               AbstractValueFactoryMetaData valueFactory = (AbstractValueFactoryMetaData) value;
+               result.append("\n").append(tab).append(tab).append(tab);
+               result.append("<value-factory name=\"").append(valueFactory.getValue());
+               result.append("\" method=\"").append(valueFactory.getMethod());
+               if (valueFactory.getDefaultValue() != null)
+               {
+                  result.append("\" default=\"").append(valueFactory.getDefaultValue());
+               }
+               if (valueFactory.getParameter() != null)
+               {
+                  result.append("\" parameter=\"").append(valueFactory.getParameter()).append("\"/>");
+               }
+               else
+               {
                   result.append("\">");
-                  result.append(((StringValueMetaData)anonymousProperty.getValue()).getValue());
-                  result.append("</property>");
+                  for (ParameterMetaData factoryParameter: valueFactory.getParameters())
+                  {
+                     result.append("\n").append(tab).append(tab).append(tab).append(tab);
+                     result.append("<parameter>");
+                     result.append(factoryParameter.getValue().getUnderlyingValue());
+                     result.append("</parameter>");
+                  }
+                  result.append("\n").append(tab).append(tab).append(tab).append("</value-factory>");
                }
-               result.append("\n").append(tab).append(tab).append(tab);
-               result.append("</bean>");
                result.append("\n").append(tab).append(tab);
             }
-         }
-         else if(value instanceof AbstractValueFactoryMetaData)
-         {
-            AbstractValueFactoryMetaData valueFactory = (AbstractValueFactoryMetaData) value;
-            result.append("\n").append(tab).append(tab).append(tab);
-            result.append("<value-factory name=\"").append(valueFactory.getValue());
-            result.append("\" method=").append(valueFactory.getMethod());
-            if (valueFactory.getParameter() != null)
+            else if (value instanceof StringValueMetaData)
             {
-               result.append("\" parameter=\"").append(valueFactory.getParameter()).append("\"/>");
+               result.append(value.getUnderlyingValue());
             }
             else
             {
-               for (ParameterMetaData factoryParameter: valueFactory.getParameters())
-               {
-                  result.append("\n").append(tab).append(tab).append(tab).append(tab);
-                  result.append("<parameter>");
-                  result.append(factoryParameter.getValue().getUnderlyingValue());
-                  result.append("</parameter>");
-               }
-               result.append("\n").append(tab).append(tab).append(tab).append("</value-factory>");
+               throw new RuntimeException("Unexpected value type:  " + (value == null? value:value.getClass().getName()));
             }
-            result.append("\n").append(tab).append(tab);
+            result.append("</property>");
          }
-         else if (value instanceof StringValueMetaData)
-         {
-            result.append(value.getUnderlyingValue());
-         }
-         else
-         {
-            throw new RuntimeException("Unexpected value type:  " + value.getClass().getName());
-         }
-         result.append("</property>");
       }
       
       if (bean.getDepends() != null && !bean.getDepends().isEmpty())

Modified: projects/mc-tools/trunk/src/main/java/org/jboss/mc/tools/jmx/MetaDataConverter.java
===================================================================
--- projects/mc-tools/trunk/src/main/java/org/jboss/mc/tools/jmx/MetaDataConverter.java	2009-06-11 03:05:29 UTC (rev 90073)
+++ projects/mc-tools/trunk/src/main/java/org/jboss/mc/tools/jmx/MetaDataConverter.java	2009-06-11 04:00:43 UTC (rev 90074)
@@ -138,7 +138,8 @@
       for(ServiceAttributeMetaData attribute: service.getAttributes())
       {
          ValueMetaData newValue = convert(attribute.getValue());
-         PropertyMetaData propertyMetaData = new AbstractPropertyMetaData(attribute.getName(), newValue); 
+         String name = attribute.getName().substring(0, 1).toLowerCase() + attribute.getName().substring(1);
+         PropertyMetaData propertyMetaData = new AbstractPropertyMetaData(name, newValue); 
          beanMetaData.addProperty(propertyMetaData);
       }
       
@@ -220,7 +221,7 @@
          ServiceValueFactoryValueMetaData valueMetaData = (ServiceValueFactoryValueMetaData) value;
          String dependency = nameTranslator.translate((String) valueMetaData.getDependency());
          String method = valueMetaData.getMethod();
-         String defaultValue = valueMetaData.getDefaultValue().getText();
+         String defaultValue = valueMetaData.getDefaultValue() == null? null: valueMetaData.getDefaultValue().getText();
          
          AbstractValueFactoryMetaData metaData = new AbstractValueFactoryMetaData(dependency, method, defaultValue);
          if (valueMetaData.getParameterMetaData().size() == 1)
@@ -240,16 +241,7 @@
                String type = parameter.getParameterTypeName();
                String type2 = parameter.getValueTypeName();
                type = type2 == null? type: type2;
-               ValueMetaData parameterValue = null;
-               if (type == "java.lang.String")
-               {
-                  parameterValue = new AbstractValueMetaData(textValue);
-               }
-               else
-               {
-                  // TODO: should I create a different parameter for constructor in tis case?
-                  throw new RuntimeException("Unsupported");
-               }
+               ValueMetaData parameterValue = new AbstractValueMetaData(textValue);
                newParameters.add(new AbstractParameterMetaData(type2 == null? type: type2, parameterValue));
             }
             metaData.setParameters(newParameters);
@@ -259,7 +251,7 @@
       else if (value instanceof ServiceElementValueMetaData)
       {
          // TODO what to do in this case?
-         throw new RuntimeException("Unsupported");
+         //throw new RuntimeException("XML Element Value Unsupported");
       }
       else if (value instanceof ServiceTextValueMetaData)
       {

Modified: projects/mc-tools/trunk/src/main/java/org/jboss/mc/tools/jmx/XMLMigrator.java
===================================================================
--- projects/mc-tools/trunk/src/main/java/org/jboss/mc/tools/jmx/XMLMigrator.java	2009-06-11 03:05:29 UTC (rev 90073)
+++ projects/mc-tools/trunk/src/main/java/org/jboss/mc/tools/jmx/XMLMigrator.java	2009-06-11 04:00:43 UTC (rev 90074)
@@ -51,7 +51,8 @@
       if (args.length == 0)
       {
          System.out.println("Usage: -Dname.translator=[name translator] [jmx.enable|jmx.disable] [files] where");
-         System.out.println("   name.translator property is optional and must point to a subclass of org.jboss.mc.tools.jmx.naming.BeanNameTranslator");
+         System.out.println("   name.translator property is optional and must point to a subclass of org.jboss.mc.tools.jmx.naming.BeanNameTranslator.");
+         System.out.println("                            If the translator is inside org.jboss.mc.tools.jmx.naming package, the package name can be omitted.");
          System.out.println("   jmx.enable is optional and indicates that you want to inject the @JMX annotation into your beans for backwards compatibility with JMX");
          System.out.println("   jmx.disable is optional and indicates that you do not want to inject the @JMX annotation into your beans");
          System.out.println("   files is the list of files you want to migrate, separated by spaces");
@@ -85,16 +86,7 @@
       }
       // define the name translator to be used
       String nameTranslatorClass = System.getProperty("name.translator", UsePropertyService.class.getName());
-      BeanNameService nameTranslator = null;
-      try
-      {
-         nameTranslator = (BeanNameService) Class.forName(nameTranslatorClass).newInstance();
-      }
-      catch(ClassNotFoundException e)
-      {
-         System.out.println("Name translator class " + nameTranslatorClass + " could not be found.");
-         System.exit(1);
-      }
+      BeanNameService nameTranslator = createNameTranslator(nameTranslatorClass);
       
       // create meta data converter
       MetaDataConverter metaDataConverter = new MetaDataConverter(jmxAnnotationStrategy, nameTranslator);
@@ -177,4 +169,40 @@
       }
       return xmlFile;
    }
+   
+   private static BeanNameService createNameTranslator(String translatorName)
+   {
+      return createNameTranslator(translatorName, translatorName);
+   }
+   
+   private static BeanNameService createNameTranslator(String translatorName, String nameForError)
+   {
+      try
+      {
+         return (BeanNameService) Class.forName(translatorName).newInstance();
+      }
+      catch(ClassNotFoundException e)
+      {
+         if (translatorName.indexOf('.') == -1)
+         {
+            return createNameTranslator(BeanNameService.class.getPackage().getName() + '.' + translatorName);
+         }
+         System.out.println("Name translator class " + nameForError + " could not be found.");
+         System.exit(1);
+      }
+      catch (InstantiationException e)
+      {
+         System.out.println("Could not invoke default constructor of class " + translatorName);
+         e.printStackTrace();
+         System.exit(1);
+      }
+      catch (IllegalAccessException e)
+      {
+         System.out.println("Could not invoke default constructor of class " + translatorName);
+         e.printStackTrace();
+         System.exit(1);
+      }
+      // unreachable statement
+      return null;
+   }
 }
\ No newline at end of file

Added: projects/mc-tools/trunk/src/test/java/org/jboss/mc/tools/jmx/MetaDataConverterTestCase.java
===================================================================
--- projects/mc-tools/trunk/src/test/java/org/jboss/mc/tools/jmx/MetaDataConverterTestCase.java	                        (rev 0)
+++ projects/mc-tools/trunk/src/test/java/org/jboss/mc/tools/jmx/MetaDataConverterTestCase.java	2009-06-11 04:00:43 UTC (rev 90074)
@@ -0,0 +1,495 @@
+package org.jboss.mc.tools.jmx;
+/*
+ * 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.
+ */
+
+import java.net.URL;
+import java.util.Collection;
+
+import junit.framework.Test;
+
+import org.jboss.beans.metadata.plugins.AbstractAnnotationMetaData;
+import org.jboss.beans.metadata.plugins.AbstractInjectionValueMetaData;
+import org.jboss.beans.metadata.plugins.StringValueMetaData;
+import org.jboss.beans.metadata.spi.AnnotationMetaData;
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.beans.metadata.spi.DependencyMetaData;
+import org.jboss.beans.metadata.spi.PropertyMetaData;
+import org.jboss.beans.metadata.spi.ValueMetaData;
+import org.jboss.mc.tools.jmx.naming.UsePropertyService;
+import org.jboss.system.metadata.ServiceMetaData;
+import org.jboss.test.AbstractTestCaseWithSetup;
+import org.jboss.test.AbstractTestDelegate;
+
+
+/**
+ * Tests MetaDataConverter class.
+ * 
+ * @author  <a href="flavia.rainone at jboss.com">Flavia Rainone</a>
+ * @version $Revision$
+ */
+public class MetaDataConverterTestCase extends AbstractTestCaseWithSetup
+{
+   public static Test suite()
+   {
+      return suite(MetaDataConverterTestCase.class);
+   }
+   
+   /**
+    * @param name
+    */
+   public MetaDataConverterTestCase(String name)
+   {
+      super(name);
+   }
+
+   private MetaDataConverter converter = null;
+   
+   @Override
+   public void setUp() throws Exception
+   {
+      super.setUp();
+      converter = new MetaDataConverter(new AnnotateAllStrategy(), new UsePropertyService());
+   }
+   
+   public static AbstractTestDelegate getDelegate(Class<?> clazz) throws Exception
+   {
+      return new AbstractTestDelegate(clazz);
+   }
+   
+   public void testFile1() throws Exception
+   {
+      Collection<? extends BeanMetaData> metaData = convert("jboss-service1.xml");
+      assertNotNull(metaData);
+      assertEquals(1, metaData.size());
+      BeanMetaData beanMetaData = metaData.iterator().next();
+      assertEquals("jboss.mq:service=InvocationLayer,type=HTTP", beanMetaData.getName());
+      assertEquals("org.jboss.mq.il.http.HTTPServerILService", beanMetaData.getBean());
+      
+      Collection<DependencyMetaData> dependencies = beanMetaData.getDepends();
+      assertNotNull(dependencies);
+      assertEquals(1, dependencies.size());
+      DependencyMetaData dependencyMetaData = dependencies.iterator().next();
+      assertNotNull(dependencyMetaData);
+      assertEquals("jboss.web:service=WebServer", dependencyMetaData.getDependency());
+      
+      Collection<PropertyMetaData> properties = beanMetaData.getProperties();
+      assertNotNull(properties);
+      assertEquals(6, properties.size());
+      
+      boolean invokerFound = false;
+      boolean connectionFactoryFound = false;
+      boolean xaConnectionFactoryFound = false;
+      boolean pingPeriodFound = false;
+      boolean timeOutFound = false;
+      boolean restIntervalFound = false;
+      
+      for (PropertyMetaData propertyMetaData: properties)
+      {
+         String name = propertyMetaData.getName();
+         assertNotNull(name);
+         ValueMetaData value = propertyMetaData.getValue();
+         assertNotNull(value);
+         System.out.println("value type: " + value.getClass().getName());
+         if (name.equals("invoker"))
+         {
+            assertFalse("More than one invoker property was found.", invokerFound);
+            invokerFound = true;
+            assertTrue(value instanceof AbstractInjectionValueMetaData);
+            assertEquals("jboss.mq:service=Invoker", value.getUnderlyingValue());
+         }
+         else if (name.equals("connectionFactoryJNDIRef"))
+         {
+            assertFalse("More than one connectionFactory property was found.", connectionFactoryFound);
+            connectionFactoryFound = true;
+            assertTrue(value instanceof StringValueMetaData);
+            assertEquals("HTTPConnectionFactory", value.getUnderlyingValue());
+         }
+         else if (name.equals("xAConnectionFactoryJNDIRef"))
+         {
+            assertFalse("More than one XAConnectionFactory property was found.", xaConnectionFactoryFound);
+            xaConnectionFactoryFound = true;
+            assertTrue(value instanceof StringValueMetaData);
+            assertEquals("HTTPXAConnectionFactory", value.getUnderlyingValue());
+            
+         }
+         else if (name.equals("pingPeriod"))
+         {
+            assertFalse("More than one pingPeriod property was found.", pingPeriodFound);
+            pingPeriodFound = true;
+            assertTrue(value instanceof StringValueMetaData);
+            assertEquals("0", value.getUnderlyingValue());
+         }
+         else if (name.equals("timeOut"))
+         {
+            assertFalse("More than one TimeOut property was found.", timeOutFound);
+            timeOutFound = true;
+            assertTrue(value instanceof StringValueMetaData);
+            assertEquals("60", value.getUnderlyingValue());
+         }
+         else if (name.equals("restInterval"))
+         {
+            assertFalse("More than one RestInterval property was found.", restIntervalFound);
+            restIntervalFound = true;
+            assertTrue(value instanceof StringValueMetaData);
+            assertEquals("0", value.getUnderlyingValue());
+         }
+         else
+         {
+            fail("Unexpected property name: " + name);
+         }
+      }
+      Collection<AnnotationMetaData> annotations = beanMetaData.getAnnotations();
+      assertNotNull(annotations);
+      assertEquals(1, annotations.size());
+      AbstractAnnotationMetaData annotation = (AbstractAnnotationMetaData) annotations.iterator().next();
+      assertEquals("@org.jboss.aop.microcontainer.aspects.jmx.JMX(name=\"jboss.mq:service=InvocationLayer,type=HTTP\", registerDirectly=false)", annotation.getAnnotation());
+      assertFalse(converter.isXMBeanCodeFound());
+      assertFalse(converter.isXMBeanDDFound());
+      assertFalse(converter.isXMBeanDescriptorFound());
+   }
+   
+   public void testFile2() throws Exception
+   {
+      Collection<? extends BeanMetaData> metaData = convert("jboss-service2.xml");
+      assertNotNull(metaData);
+      assertEquals(3, metaData.size());
+      
+      boolean integrationWrapperBeanFound = false;
+      boolean aspectManagerServiceFound = false;
+      boolean aspectManagerDeployerFound = false;
+      for (BeanMetaData beanMetaData: metaData)
+      {
+         assertNotNull(beanMetaData);
+         assertNotNull(beanMetaData.getName());
+         if (beanMetaData.getName().equals("jboss.aop:service=AspectManager"))
+         {
+            assertEquals("org.jboss.aop.deployment.AspectManagerServiceJDK5", beanMetaData.getBean());
+            assertFalse(aspectManagerServiceFound);
+            aspectManagerServiceFound = true;
+            Collection<PropertyMetaData> properties = beanMetaData.getProperties();
+            assertNotNull(properties);
+            assertEquals(8, properties.size());
+            
+            boolean enableLoadtimeWeavingFound = false;
+            boolean suppressErrorsFound = false;
+            boolean pruneFound = false;
+            boolean includeFound = false;
+            boolean excludeFound = false;
+            boolean optimizedFound = false;
+            boolean verboseFound = false;
+            boolean jbossIntegrationWrapperFound = false;
+            
+            for (PropertyMetaData propertyMetaData: properties)
+            {
+               String name = propertyMetaData.getName();
+               assertNotNull(name);
+               ValueMetaData value = propertyMetaData.getValue();
+               assertNotNull(value);
+               if (name.equals("enableLoadtimeWeaving"))
+               {
+                  assertFalse(enableLoadtimeWeavingFound);
+                  enableLoadtimeWeavingFound = true;
+                  assertTrue(value instanceof StringValueMetaData);
+                  assertEquals("false", value.getUnderlyingValue());
+               }
+               else if (name.equals("suppressTransformationErrors"))
+               {
+                  assertFalse(suppressErrorsFound);
+                  suppressErrorsFound = true;
+                  assertTrue(value instanceof StringValueMetaData);
+                  assertEquals("true", value.getUnderlyingValue());
+               }
+               else if (name.equals("prune"))
+               {
+                  assertFalse(pruneFound);
+                  pruneFound = true;
+                  assertTrue(value instanceof StringValueMetaData);
+                  assertEquals("true", value.getUnderlyingValue());
+               }
+               else if (name.equals("include"))
+               {
+                  assertFalse(includeFound);
+                  includeFound = true;
+                  assertTrue(value instanceof StringValueMetaData);
+                  assertEquals("org.jboss.test, org.jboss.injbossaop", value.getUnderlyingValue());
+               }
+               else if (name.equals("exclude"))
+               {
+                  assertFalse(excludeFound);
+                  excludeFound = true;
+                  assertTrue(value instanceof StringValueMetaData);
+                  assertEquals("org.jboss.", value.getUnderlyingValue());
+               }
+               else if (name.equals("optimized"))
+               {
+                  assertFalse(optimizedFound);
+                  optimizedFound = true;
+                  assertTrue(value instanceof StringValueMetaData);
+                  assertEquals("true", value.getUnderlyingValue());
+               }
+               else if (name.equals("verbose"))
+               {
+                  assertFalse(verboseFound);
+                  verboseFound = true;
+                  assertTrue(value instanceof StringValueMetaData);
+                  assertEquals("false", value.getUnderlyingValue());
+               }
+               else if (name.equals("jBossIntegrationWrapper"))
+               {
+                  assertFalse(jbossIntegrationWrapperFound);
+                  jbossIntegrationWrapperFound = true;
+                  assertTrue(value instanceof AbstractInjectionValueMetaData);
+                  assertEquals("jboss.aop:service=JBoss4IntegrationWrapper", value.getUnderlyingValue());
+               }
+               else
+               {
+                  fail("Unexpected property name: " + name);
+               }
+            }
+            assertTrue(enableLoadtimeWeavingFound);
+            assertTrue(suppressErrorsFound);
+            assertTrue(pruneFound);
+            assertTrue(includeFound);
+            assertTrue(excludeFound);
+            assertTrue(optimizedFound);
+            assertTrue(verboseFound);
+            
+            Collection<AnnotationMetaData> annotations = beanMetaData.getAnnotations();
+            assertNotNull(annotations);
+            assertEquals(1, annotations.size());
+            AbstractAnnotationMetaData annotation = (AbstractAnnotationMetaData) annotations.iterator().next();
+            assertEquals("@org.jboss.aop.microcontainer.aspects.jmx.JMX(name=\"jboss.aop:service=AspectManager\", registerDirectly=false)", annotation.getAnnotation());
+         }
+         else if (beanMetaData.getName().equals("jboss.aop:service=JBoss4IntegrationWrapper"))
+         {
+            assertEquals("org.jboss.aop.deployment.JBoss4IntegrationWrapper", beanMetaData.getBean());
+            assertFalse(integrationWrapperBeanFound);
+            integrationWrapperBeanFound = true;
+            Collection<PropertyMetaData> properties = beanMetaData.getProperties();
+            assertTrue(properties == null || properties.isEmpty());
+            Collection<AnnotationMetaData> annotations = beanMetaData.getAnnotations();
+            assertNotNull(annotations);
+            assertEquals(1, annotations.size());
+            AbstractAnnotationMetaData annotation = (AbstractAnnotationMetaData) annotations.iterator().next();
+            assertEquals("@org.jboss.aop.microcontainer.aspects.jmx.JMX(name=\"jboss.aop:service=JBoss4IntegrationWrapper\", registerDirectly=false)", annotation.getAnnotation());
+         }
+         else if (beanMetaData.getName().equals("jboss.aop:service=AspectDeployer"))
+         {
+            assertEquals("org.jboss.aop.deployment.AspectDeployer", beanMetaData.getBean());
+            assertFalse(aspectManagerDeployerFound);
+            aspectManagerDeployerFound = true;
+            Collection<PropertyMetaData> properties = beanMetaData.getProperties();
+            assertTrue(properties == null || properties.isEmpty());
+            Collection<AnnotationMetaData> annotations = beanMetaData.getAnnotations();
+            assertNotNull(annotations);
+            assertEquals(1, annotations.size());
+            AbstractAnnotationMetaData annotation = (AbstractAnnotationMetaData) annotations.iterator().next();
+            assertEquals("@org.jboss.aop.microcontainer.aspects.jmx.JMX(name=\"jboss.aop:service=AspectDeployer\", registerDirectly=false)", annotation.getAnnotation());
+            Collection<DependencyMetaData> dependencies = beanMetaData.getDepends();
+            assertNotNull(dependencies);
+            assertEquals(1, dependencies.size());
+            DependencyMetaData dependency = (DependencyMetaData) dependencies.iterator().next();
+            assertEquals("jboss.system:service=MainDeployer", dependency.getDependency());
+         }
+         else
+         {
+            fail("Unexpected bean name: " + beanMetaData.getName());
+         }
+      }
+      assertTrue(integrationWrapperBeanFound);
+      assertTrue(aspectManagerServiceFound);
+      assertTrue(aspectManagerDeployerFound);
+      assertFalse(converter.isXMBeanCodeFound());
+      assertFalse(converter.isXMBeanDDFound());
+      assertFalse(converter.isXMBeanDescriptorFound());
+   }
+   
+   public void testFile3() throws Exception
+   {
+      Collection<? extends BeanMetaData> metaData = convert("jboss-service3.xml");
+      assertNotNull(metaData);
+      assertEquals(2, metaData.size());
+      
+      boolean uuidKeyGeneratorFound = false;
+      boolean hiLoKeyGeneratorFound = false;
+      
+      for (BeanMetaData beanMetaData: metaData)
+      {
+         assertNotNull(beanMetaData);
+         assertNotNull(beanMetaData.getName());
+         if (beanMetaData.getName().equals("jboss:service=KeyGeneratorFactory,type=HiLo"))
+         {
+            assertEquals("org.jboss.ejb.plugins.keygenerator.hilo.HiLoKeyGeneratorFactory", beanMetaData.getBean());
+            assertFalse(hiLoKeyGeneratorFound);
+            hiLoKeyGeneratorFound = true;
+            Collection<PropertyMetaData> properties = beanMetaData.getProperties();
+            assertNotNull(properties);
+            assertEquals(10, properties.size());
+            
+            boolean dataSourceFound = false;
+            boolean tableNameFound = false;
+            boolean sequenceColumnFound = false;
+            boolean idColumnNameFound = false;
+            boolean createTableDdlFound = false;
+            boolean createTableFound = false;
+            boolean dropTableFound = false;
+            boolean factoryNameFound = false;
+            boolean sequenceNameFound = false;
+            boolean blockSizeFound = false;
+            
+            for (PropertyMetaData propertyMetaData: properties)
+            {
+               String name = propertyMetaData.getName();
+               assertNotNull(name);
+               ValueMetaData value = propertyMetaData.getValue();
+               assertNotNull(value);
+               if (name.equals("tableName"))
+               {
+                  assertFalse(tableNameFound);
+                  tableNameFound = true;
+                  assertTrue(value instanceof StringValueMetaData);
+                  assertEquals("HILOSEQUENCES", value.getUnderlyingValue());
+               }
+               else if (name.equals("sequenceColumn"))
+               {
+                  assertFalse(sequenceColumnFound);
+                  sequenceColumnFound = true;
+                  assertTrue(value instanceof StringValueMetaData);
+                  assertEquals("SEQUENCENAME", value.getUnderlyingValue());
+               }
+               else if (name.equals("idColumnName"))
+               {
+                  assertFalse(idColumnNameFound);
+                  idColumnNameFound = true;
+                  assertTrue(value instanceof StringValueMetaData);
+                  assertEquals("HIGHVALUES", value.getUnderlyingValue());
+               }
+               else if (name.equals("createTableDdl"))
+               {
+                  assertFalse(createTableDdlFound);
+                  createTableDdlFound = true;
+                  assertTrue(value instanceof StringValueMetaData);
+                  assertEquals("create table HILOSEQUENCES (SEQUENCENAME varchar(50) not null, HIGHVALUES integer not null, constraint hilo_pk primary key (SEQUENCENAME))", value.getUnderlyingValue());
+               }
+               else if (name.equals("createTable"))
+               {
+                  assertFalse(createTableFound);
+                  createTableFound = true;
+                  assertTrue(value instanceof StringValueMetaData);
+                  assertEquals("true", value.getUnderlyingValue());
+               }
+               else if (name.equals("dropTable"))
+               {
+                  assertFalse(dropTableFound);
+                  dropTableFound = true;
+                  assertTrue(value instanceof StringValueMetaData);
+                  assertEquals("false", value.getUnderlyingValue());
+               }
+               else if (name.equals("factoryName"))
+               {
+                  assertFalse(factoryNameFound);
+                  factoryNameFound = true;
+                  assertTrue(value instanceof StringValueMetaData);
+                  assertEquals("HiLoKeyGeneratorFactory", value.getUnderlyingValue());
+               }
+               else if (name.equals("sequenceName"))
+               {
+                  assertFalse(sequenceNameFound);
+                  sequenceNameFound = true;
+                  assertTrue(value instanceof StringValueMetaData);
+                  assertEquals("general", value.getUnderlyingValue());
+               }
+               else if (name.equals("blockSize"))
+               {
+                  assertFalse(blockSizeFound);
+                  blockSizeFound = true;
+                  assertTrue(value instanceof StringValueMetaData);
+                  assertEquals("10", value.getUnderlyingValue());
+               }
+               else if (name.equals("dataSource"))
+               {
+                  assertFalse(dataSourceFound);
+                  dataSourceFound = true;
+                  assertTrue(value instanceof AbstractInjectionValueMetaData);
+                  assertEquals("jboss.jca:name=DefaultDS,service=DataSourceBinding", value.getUnderlyingValue());
+               }
+               else
+               {
+                  fail("Unexpected property name: " + name);
+               }
+            }
+            assertTrue(dataSourceFound);
+            assertTrue(tableNameFound);
+            assertTrue(sequenceColumnFound);
+            assertTrue(idColumnNameFound);
+            assertTrue(createTableDdlFound);
+            assertTrue(createTableFound);
+            assertTrue(dropTableFound);
+            assertTrue(factoryNameFound);
+            assertTrue(sequenceNameFound);
+            assertTrue(blockSizeFound);
+            
+            Collection<DependencyMetaData> dependencies = beanMetaData.getDepends();
+            assertNotNull(dependencies);
+            assertEquals(1, dependencies.size());
+            DependencyMetaData dependency = (DependencyMetaData) dependencies.iterator().next();
+            assertEquals("jboss:service=TransactionManager", dependency.getDependency());
+            
+            Collection<AnnotationMetaData> annotations = beanMetaData.getAnnotations();
+            assertNotNull(annotations);
+            assertEquals(1, annotations.size());
+            AbstractAnnotationMetaData annotation = (AbstractAnnotationMetaData) annotations.iterator().next();
+            assertEquals("@org.jboss.aop.microcontainer.aspects.jmx.JMX(name=\"jboss:service=KeyGeneratorFactory,type=HiLo\", registerDirectly=false)", annotation.getAnnotation());
+         }
+         else if (beanMetaData.getName().equals("jboss:service=KeyGeneratorFactory,type=UUID"))
+         {
+            assertEquals("org.jboss.ejb.plugins.keygenerator.uuid.UUIDKeyGeneratorFactoryService", beanMetaData.getBean());
+            assertFalse(uuidKeyGeneratorFound);
+            uuidKeyGeneratorFound = true;
+            Collection<PropertyMetaData> properties = beanMetaData.getProperties();
+            assertTrue(properties == null || properties.isEmpty());
+            Collection<AnnotationMetaData> annotations = beanMetaData.getAnnotations();
+            assertNotNull(annotations);
+            assertEquals(1, annotations.size());
+            AbstractAnnotationMetaData annotation = (AbstractAnnotationMetaData) annotations.iterator().next();
+            assertEquals("@org.jboss.aop.microcontainer.aspects.jmx.JMX(name=\"jboss:service=KeyGeneratorFactory,type=UUID\", registerDirectly=false)", annotation.getAnnotation());
+         }
+         else
+         {
+            fail("Unexpected bean name: " + beanMetaData.getName());
+         }
+      }
+      assertTrue(hiLoKeyGeneratorFound);
+      assertTrue(uuidKeyGeneratorFound);
+      assertFalse(converter.isXMBeanCodeFound());
+      assertFalse(converter.isXMBeanDDFound());
+      assertFalse(converter.isXMBeanDescriptorFound());
+   }
+   
+   
+   public Collection<? extends BeanMetaData> convert(String resource) throws Exception
+   {
+      URL resourceURL = getResource(resource);
+      Collection<ServiceMetaData> services = ServiceXMLParser.parse(resourceURL);
+      return converter.convert(services);
+   }
+}
\ No newline at end of file


Property changes on: projects/mc-tools/trunk/src/test/java/org/jboss/mc/tools/jmx/MetaDataConverterTestCase.java
___________________________________________________________________
Name: svn:keywords
   + Date Revision Author HeadURL Id

Added: projects/mc-tools/trunk/src/test/java/org/jboss/mc/tools/jmx/XMLMarshallerTestCase.java
===================================================================
--- projects/mc-tools/trunk/src/test/java/org/jboss/mc/tools/jmx/XMLMarshallerTestCase.java	                        (rev 0)
+++ projects/mc-tools/trunk/src/test/java/org/jboss/mc/tools/jmx/XMLMarshallerTestCase.java	2009-06-11 04:00:43 UTC (rev 90074)
@@ -0,0 +1,184 @@
+package org.jboss.mc.tools.jmx;
+/*
+ * 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.
+ */
+
+import java.net.URL;
+import java.util.Collection;
+
+import junit.framework.Test;
+
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.mc.tools.jmx.naming.UsePropertyService;
+import org.jboss.system.metadata.ServiceMetaData;
+import org.jboss.test.AbstractTestCaseWithSetup;
+import org.jboss.test.AbstractTestDelegate;
+
+
+/**
+ * Tests JBossBeanXMLMashaller class.
+ * 
+ * @author  <a href="flavia.rainone at jboss.com">Flavia Rainone</a>
+ * @version $Revision$
+ */
+public class XMLMarshallerTestCase extends AbstractTestCaseWithSetup
+{
+   public static Test suite()
+   {
+      return suite(XMLMarshallerTestCase.class);
+   }
+   
+   /**
+    * @param name
+    */
+   public XMLMarshallerTestCase(String name)
+   {
+      super(name);
+   }
+
+   private MetaDataConverter converter = null;
+   
+   @Override
+   public void setUp() throws Exception
+   {
+      super.setUp();
+      converter = new MetaDataConverter(new AnnotateAllStrategy(), new UsePropertyService());
+   }
+   
+   public static AbstractTestDelegate getDelegate(Class<?> clazz) throws Exception
+   {
+      return new AbstractTestDelegate(clazz);
+   }
+   
+   public void testFile1() throws Exception
+   {
+      Collection<? extends BeanMetaData> metaData = convert("jboss-service1.xml");
+      String result = JBossBeanXMLMarshaller.marshall(metaData);
+      assertTrue(result.startsWith("<deployment xmlns=\"urn:jboss:bean-deployer:2.0\">" + 
+            "\n\n   <bean name=\"jboss.mq:service=InvocationLayer,type=HTTP\" class=\"org.jboss.mq.il.http.HTTPServerILService\">"));
+      assertTrue(result.indexOf("\n      <property name=\"invoker\">"+
+            "\n         <inject bean=\"jboss.mq:service=Invoker\"/>" +
+            "\n      </property>") != -1);
+      assertTrue(result.indexOf("\n      <property name=\"pingPeriod\">0</property>") != -1);
+      assertTrue(result.indexOf("\n      <property name=\"restInterval\">0</property>") != -1);
+      assertTrue(result.indexOf("\n      <property name=\"timeOut\">60</property>") != -1);
+      assertTrue(result.indexOf("\n      <property name=\"xAConnectionFactoryJNDIRef\">HTTPXAConnectionFactory</property>") != -1);
+      assertTrue(result.indexOf("\n      <property name=\"connectionFactoryJNDIRef\">HTTPConnectionFactory</property>") != -1);
+      assertTrue(result.endsWith("\n      <depends>jboss.web:service=WebServer</depends>" +
+            "\n      <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name=\"jboss.mq:service=InvocationLayer,type=HTTP\", registerDirectly=false)</annotation>" +
+            "\n   </bean>\n\n</deployment>"));
+   }
+   
+   public void testFile2() throws Exception
+   {
+      Collection<? extends BeanMetaData> metaData = convert("jboss-service2.xml");
+      String result = JBossBeanXMLMarshaller.marshall(metaData);
+      assertTrue(result.startsWith("<deployment xmlns=\"urn:jboss:bean-deployer:2.0\">"));
+      int managerIndex = result.indexOf("\n\n   <bean name=\"jboss.aop:service=AspectManager\" class=\"org.jboss.aop.deployment.AspectManagerServiceJDK5\">");
+      assertTrue(managerIndex != -1);
+      int wrapperIndex = result.indexOf("\n\n   <bean name=\"jboss.aop:service=JBoss4IntegrationWrapper\" class=\"org.jboss.aop.deployment.JBoss4IntegrationWrapper\">" +
+            "\n      <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name=\"jboss.aop:service=JBoss4IntegrationWrapper\", registerDirectly=false)</annotation>" +
+            "\n   </bean>");
+      assertTrue(wrapperIndex != -1);
+      int deployerIndex = result.indexOf("\n\n   <bean name=\"jboss.aop:service=AspectDeployer\" class=\"org.jboss.aop.deployment.AspectDeployer\">" +
+            "\n      <depends>jboss.system:service=MainDeployer</depends>" + 
+            "\n      <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name=\"jboss.aop:service=AspectDeployer\", registerDirectly=false)</annotation>" +
+            "\n   </bean>");
+      assertTrue(deployerIndex != -1);
+      
+      int managerEndIndex = Integer.MAX_VALUE;
+      if (wrapperIndex > managerIndex)
+      {
+         managerEndIndex = wrapperIndex;
+      }
+      if (deployerIndex > managerIndex)
+      {
+         managerEndIndex = Math.min(managerEndIndex, deployerIndex);
+      }
+      
+      int propertyIndex = result.indexOf("\n      <property name=\"enableLoadtimeWeaving\">false</property>");
+      assertTrue(propertyIndex > managerIndex && propertyIndex < managerEndIndex);
+      propertyIndex = result.indexOf("\n      <property name=\"suppressTransformationErrors\">true</property>");
+      assertTrue(propertyIndex > managerIndex && propertyIndex < managerEndIndex);
+      propertyIndex = result.indexOf("\n      <property name=\"prune\">true</property>");
+      assertTrue(propertyIndex > managerIndex && propertyIndex < managerEndIndex);
+      propertyIndex = result.indexOf("\n      <property name=\"include\">org.jboss.test, org.jboss.injbossaop</property>");
+      assertTrue(propertyIndex > managerIndex && propertyIndex < managerEndIndex);
+      propertyIndex = result.indexOf("\n      <property name=\"exclude\">org.jboss.</property>");
+      assertTrue(propertyIndex > managerIndex && propertyIndex < managerEndIndex);
+      propertyIndex = result.indexOf("\n      <property name=\"optimized\">true</property>");
+      assertTrue(propertyIndex > managerIndex && propertyIndex < managerEndIndex);
+      propertyIndex = result.indexOf("\n      <property name=\"verbose\">false</property>");
+      assertTrue(propertyIndex > managerIndex && propertyIndex < managerEndIndex);
+      propertyIndex = result.indexOf("\n      <property name=\"jBossIntegrationWrapper\">"+
+            "\n         <inject bean=\"jboss.aop:service=JBoss4IntegrationWrapper\"/>" +
+      "\n      </property>");
+      assertTrue(propertyIndex > managerIndex && propertyIndex < managerEndIndex);
+      
+      assertTrue(result.endsWith("\n   </bean>\n\n</deployment>"));
+   }
+   
+   public void testFile3() throws Exception
+   {
+      Collection<? extends BeanMetaData> metaData = convert("jboss-service3.xml");
+      String result = JBossBeanXMLMarshaller.marshall(metaData);
+      assertTrue(result.startsWith("<deployment xmlns=\"urn:jboss:bean-deployer:2.0\">"));
+      int hiLoIndex = result.indexOf("\n\n   <bean name=\"jboss:service=KeyGeneratorFactory,type=HiLo\" class=\"org.jboss.ejb.plugins.keygenerator.hilo.HiLoKeyGeneratorFactory\">");
+      assertTrue(hiLoIndex != -1);
+      int uuidIndex = result.indexOf("\n\n   <bean name=\"jboss:service=KeyGeneratorFactory,type=UUID\" class=\"org.jboss.ejb.plugins.keygenerator.uuid.UUIDKeyGeneratorFactoryService\">" +
+            "\n      <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name=\"jboss:service=KeyGeneratorFactory,type=UUID\", registerDirectly=false)</annotation>" +
+            "\n   </bean>");
+      assertTrue(uuidIndex != -1);
+      int hiLoEndIndex = uuidIndex > hiLoIndex? uuidIndex: Integer.MAX_VALUE;
+      
+      int propertyIndex = result.indexOf("\n      <property name=\"tableName\">HILOSEQUENCES</property>");
+      assertTrue(propertyIndex > hiLoIndex && propertyIndex < hiLoEndIndex);
+      propertyIndex = result.indexOf("\n      <property name=\"sequenceColumn\">SEQUENCENAME</property>");
+      assertTrue(propertyIndex > hiLoIndex && propertyIndex < hiLoEndIndex);
+      propertyIndex = result.indexOf("\n      <property name=\"idColumnName\">HIGHVALUES</property>");
+      assertTrue(propertyIndex > hiLoIndex && propertyIndex < hiLoEndIndex);
+      propertyIndex = result.indexOf("\n      <property name=\"createTableDdl\">create table HILOSEQUENCES (SEQUENCENAME varchar(50) not null, HIGHVALUES integer not null, constraint hilo_pk primary key (SEQUENCENAME))</property>");
+      assertTrue(propertyIndex > hiLoIndex && propertyIndex < hiLoEndIndex);
+      propertyIndex = result.indexOf("\n      <property name=\"createTable\">true</property>");
+      assertTrue(propertyIndex > hiLoIndex && propertyIndex < hiLoEndIndex);
+      propertyIndex = result.indexOf("\n      <property name=\"dropTable\">false</property>");
+      assertTrue(propertyIndex > hiLoIndex && propertyIndex < hiLoEndIndex);
+      propertyIndex = result.indexOf("\n      <property name=\"factoryName\">HiLoKeyGeneratorFactory</property>");
+      assertTrue(propertyIndex > hiLoIndex && propertyIndex < hiLoEndIndex);
+      propertyIndex = result.indexOf("\n      <property name=\"sequenceName\">general</property>");
+      assertTrue(propertyIndex > hiLoIndex && propertyIndex < hiLoEndIndex);
+      propertyIndex = result.indexOf("\n      <property name=\"blockSize\">10</property>");
+      assertTrue(propertyIndex > hiLoIndex && propertyIndex < hiLoEndIndex);
+      propertyIndex = result.indexOf("\n      <property name=\"dataSource\">"+
+            "\n         <inject bean=\"jboss.jca:name=DefaultDS,service=DataSourceBinding\"/>" +
+      "\n      </property>");
+      assertTrue(propertyIndex > hiLoIndex && propertyIndex < hiLoEndIndex);
+      
+      assertTrue(result.endsWith("\n   </bean>\n\n</deployment>"));
+   }
+   
+   public Collection<? extends BeanMetaData> convert(String resource) throws Exception
+   {
+      URL resourceURL = getResource(resource);
+      Collection<ServiceMetaData> services = ServiceXMLParser.parse(resourceURL);
+      return converter.convert(services);
+   }
+}
\ No newline at end of file


Property changes on: projects/mc-tools/trunk/src/test/java/org/jboss/mc/tools/jmx/XMLMarshallerTestCase.java
___________________________________________________________________
Name: svn:keywords
   + Date Revision Author HeadURL Id

Added: projects/mc-tools/trunk/src/test/resources/org/jboss/mc/tools/jmx/jboss-service1.xml
===================================================================
--- projects/mc-tools/trunk/src/test/resources/org/jboss/mc/tools/jmx/jboss-service1.xml	                        (rev 0)
+++ projects/mc-tools/trunk/src/test/resources/org/jboss/mc/tools/jmx/jboss-service1.xml	2009-06-11 04:00:43 UTC (rev 90074)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE server>
+<server>
+    <mbean code="org.jboss.mq.il.http.HTTPServerILService"
+	 name="jboss.mq:service=InvocationLayer,type=HTTP">
+    <depends optional-attribute-name="Invoker">jboss.mq:service=Invoker</depends>
+    <depends>jboss.web:service=WebServer</depends>
+    <attribute name="ConnectionFactoryJNDIRef">HTTPConnectionFactory</attribute>
+    <attribute name="XAConnectionFactoryJNDIRef">HTTPXAConnectionFactory</attribute>
+    <attribute name="PingPeriod">0</attribute>
+    <attribute name="TimeOut">60</attribute>
+    <attribute name="RestInterval">0</attribute>
+  </mbean>
+</server>

Added: projects/mc-tools/trunk/src/test/resources/org/jboss/mc/tools/jmx/jboss-service2.xml
===================================================================
--- projects/mc-tools/trunk/src/test/resources/org/jboss/mc/tools/jmx/jboss-service2.xml	                        (rev 0)
+++ projects/mc-tools/trunk/src/test/resources/org/jboss/mc/tools/jmx/jboss-service2.xml	2009-06-11 04:00:43 UTC (rev 90074)
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- $Id: jboss-service.xml 78894 2008-09-26 14:56:32Z kabir.khan at jboss.com $ -->
+
+<!-- ===================================================================== -->
+<!--  JBoss Server Configuration                                           -->
+<!-- ===================================================================== -->
+
+<server>
+
+   <mbean code="org.jboss.aop.deployment.JBoss4IntegrationWrapper" name="jboss.aop:service=JBoss4IntegrationWrapper"/>
+
+   <!-- The code for the service is different for the different run scenarios
+      *** JBoss 4.0 
+          * JDK 1.4 - org.jboss.aop.deployment.AspectManagerService
+          * JDK 5 (not using -javaagent switch) - org.jboss.aop.deployment.AspectManagerService
+          * JDK 5 (using -javaagent switch) - org.jboss.aop.deployment.AspectManagerServiceJDK5
+          * BEA JRockit 1.4.2 - org.jboss.aop.deployment.AspectManagerService
+      *** JBoss 3.2 
+          * JDK 1.4 - org.jboss.aop.deployment.AspectManagerService32
+          * JDK 5 (not using -javaagent switch) - org.jboss.aop.deployment.AspectManagerService32
+          * JDK 5 (using -javaagent switch) - org.jboss.aop.deployment.AspectManagerService32JDK5
+          * BEA JRockit 1.4.2 - org.jboss.aop.deployment.AspectManagerService32
+   -->
+   <mbean code="org.jboss.aop.deployment.AspectManagerServiceJDK5"
+      name="jboss.aop:service=AspectManager">
+      <attribute name="EnableLoadtimeWeaving">false</attribute>
+      <!-- only relevant when EnableLoadtimeWeaving is true.  
+           When transformer is on, every loaded class gets 
+           transformed.  If AOP can't find the class, then it 
+           throws an exception.  Sometimes, classes may not have 
+           all the classes they reference.  So, the Suppressing 
+           is needed.  (i.e. Jboss cache in the default configuration -->
+      <attribute name="SuppressTransformationErrors">true</attribute>
+      <attribute name="Prune">true</attribute>
+      <attribute name="Include">org.jboss.test, org.jboss.injbossaop</attribute>
+      <attribute name="Exclude">org.jboss.</attribute>
+      <!-- This avoids instrumentation of hibernate cglib enhanced proxies
+      <attribute name="Ignore">*$$EnhancerByCGLIB$$*</attribute> -->
+      <attribute name="Optimized">true</attribute>
+      <attribute name="Verbose">false</attribute>
+      <depends optional-attribute-name="JBossIntegrationWrapper" proxy-type="attribute">jboss.aop:service=JBoss4IntegrationWrapper</depends>
+      <!-- 
+         Available choices for this attribute are:
+            org.jboss.aop.instrument.ClassicInstrumentor (default)
+            org.jboss.aop.instrument.GeneratedAdvisorInstrumentor
+       <attribute name="Instrumentor">org.jboss.aop.instrument.ClassicInstrumentor</attribute>
+      -->
+   </mbean>
+
+   <mbean code="org.jboss.aop.deployment.AspectDeployer"
+      name="jboss.aop:service=AspectDeployer">
+      <depends>jboss.system:service=MainDeployer</depends>
+   </mbean>
+</server>

Added: projects/mc-tools/trunk/src/test/resources/org/jboss/mc/tools/jmx/jboss-service3.xml
===================================================================
--- projects/mc-tools/trunk/src/test/resources/org/jboss/mc/tools/jmx/jboss-service3.xml	                        (rev 0)
+++ projects/mc-tools/trunk/src/test/resources/org/jboss/mc/tools/jmx/jboss-service3.xml	2009-06-11 04:00:43 UTC (rev 90074)
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!--  UUID Key Generator Factory Service Configuration                     -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+
+<server>
+
+  <!-- UUIDKeyGeneratorFactoryService -->
+  <mbean code="org.jboss.ejb.plugins.keygenerator.uuid.UUIDKeyGeneratorFactoryService"
+         name="jboss:service=KeyGeneratorFactory,type=UUID">
+  </mbean>
+
+  <!-- HiLoKeyGeneratorFactory -->
+  <mbean code="org.jboss.ejb.plugins.keygenerator.hilo.HiLoKeyGeneratorFactory"
+         name="jboss:service=KeyGeneratorFactory,type=HiLo">
+
+     <depends>jboss:service=TransactionManager</depends>
+
+     <!-- Attributes common to HiLo factory instances -->
+
+     <!-- DataSource JNDI name -->
+     <depends optional-attribute-name="DataSource">jboss.jca:service=DataSourceBinding,name=DefaultDS</depends>
+
+     <!-- table name -->
+     <attribute name="TableName">HILOSEQUENCES</attribute>
+
+     <!-- Column that contains sequence name -->
+     <attribute name="SequenceColumn">SEQUENCENAME</attribute>
+
+     <!-- Column that contains hi values -->
+     <attribute name="IdColumnName">HIGHVALUES</attribute>
+
+     <!-- Create table DDL - DDL should be in a single line without line breaks to work with DB2 7.2 -->
+     <attribute name="CreateTableDdl">
+        create table HILOSEQUENCES (SEQUENCENAME varchar(50) not null, HIGHVALUES integer not null, constraint hilo_pk primary key (SEQUENCENAME))
+     </attribute>
+
+     <!-- Uncomment to make it cluster-safe: Select current Hi value query (FOR UPDATE is recommended)
+     <attribute name="SelectHiSql">
+        select HIGHVALUES from HILOSEQUENCES where SEQUENCENAME='general' FOR UPDATE
+     </attribute>                                                  
+     -->
+
+     <!-- whether the table should be created (if doesn't exist yet) at the start phase -->
+     <attribute name="CreateTable">true</attribute>
+
+     <!-- whether the table should be dropped (if exists) at the stop phase -->
+     <attribute name="DropTable">false</attribute>
+
+     <!-- Instance-specific attributes -->
+
+     <!-- JNDI name -->
+     <attribute name="FactoryName">HiLoKeyGeneratorFactory</attribute>
+
+     <!-- Sequence name which this factory will use -->
+     <attribute name="SequenceName">general</attribute>
+
+     <!-- Block size -->
+     <attribute name="BlockSize">10</attribute>
+  </mbean>
+
+</server>
+




More information about the jboss-cvs-commits mailing list