[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