public void testOverride() throws Exception
{
JBoss50DTDMetaData overrideData = unmarshal();
JBoss50DTDMetaData baseData = unmarshal("JBoss5xEverything_testBaseData.xml", JBoss50DTDMetaData.class, null);
// Override JBoss5xEverything_testBaseData.xml with JBoss5xEverything_testOverride.xml
JBossMetaDataWrapper jbossMetaData = new JBossMetaDataWrapper(overrideData, baseData);
// jmx-name
assertEquals("jboss-jmx-name-override", jbossMetaData.getJmxName());
// security-domain
assertEquals("jboss-security-domain-override", jbossMetaData.getSecurityDomain());
// missing-method-permissions-excluded-mode
assertTrue(jbossMetaData.isExcludeMissingMethods());
// unauthenticated-principal
assertEquals("jboss-unauthenticated-principal-override", jbossMetaData.getUnauthenticatedPrincipal());
// exception-on-rollback
assertFalse(jbossMetaData.isExceptionOnRollback());
// loader-repository
LoaderRepositoryMetaData lrmd = jbossMetaData.getLoaderRepository();
//assertEquals("loaderRepository-id-override", lrmd.getId());
assertEquals("loaderRepositoryClass-override", lrmd.getLoaderRepositoryClass());
assertEquals("loaderRepositoryName-override", lrmd.getName());
Set<LoaderRepositoryConfigMetaData> lrmdConfigs = lrmd.getLoaderRepositoryConfig();
assertEquals(1, lrmdConfigs.size());
LoaderRepositoryConfigMetaData lrmdConfig = lrmdConfigs.iterator().next();
//assertEquals("loaderRepositoryConfig1-id", lrmdConfig.getId());
assertEquals("loaderRepositoryConfig1-override", lrmdConfig.getConfig());
assertEquals("loaderRepositoryConfigParserClass1-override", lrmdConfig.getConfigParserClass());
// webservices
// enterprise-beans
// assembly-descriptor
// resource-managers
// invoker-proxy-bindings
InvokerProxyBindingMetaData ipbmd1 = jbossMetaData.getInvokerProxyBinding("invokerProxyBinding1Name");
assertNotNull(ipbmd1);
//assertEquals("invokerProxyBinding1-id", ipbmd1.getId());
assertEquals("invokerProxyBinding1InvokerMBean", ipbmd1.getInvokerMBean());
assertEquals("invokerProxyBinding1Name", ipbmd1.getInvokerProxyBindingName());
assertEquals("invokerProxyBinding1ProxyFactory", ipbmd1.getProxyFactory());
InvokerProxyBindingMetaData ipbmd1Override = jbossMetaData.getInvokerProxyBinding("invokerProxyBinding1Name-override");
assertNotNull(ipbmd1Override);
//assertEquals("invokerProxyBinding1-id-override", ipbmd1Override.getId());
assertEquals("invokerProxyBinding1InvokerMBean-override", ipbmd1Override.getInvokerMBean());
assertEquals("invokerProxyBinding1Name-override", ipbmd1Override.getInvokerProxyBindingName());
assertEquals("invokerProxyBinding1ProxyFactory-override", ipbmd1Override.getProxyFactory());
// container-configurations
ContainerConfigurationMetaData sssb = jbossMetaData.getContainerConfiguration("Standard Stateless SessionBean");
assertEquals(null, sssb.getExtendsName());
assertEquals("containerConfiguration1InstanceCache-override", sssb.getInstanceCache());
Set<String> invokerNames = sssb.getInvokerProxyBindingNames();
HashSet<String> expectedInvokerNames = new HashSet<String>();
expectedInvokerNames.add("containerConfiguration1InvokerProxyBindingName1-override");
expectedInvokerNames.add("containerConfiguration1InvokerProxyBindingName2-override");
assertEquals(expectedInvokerNames, invokerNames);
ContainerConfigurationMetaData session2Configuration = jbossMetaData.getContainerConfiguration("session2ConfigurationName");
assertNotNull(session2Configuration);
assertEquals("Standard Stateless SessionBean", session2Configuration.getExtendsName());
invokerNames = session2Configuration.getInvokerProxyBindingNames();
expectedInvokerNames.clear();
expectedInvokerNames.add("containerConfiguration1InvokerProxyBindingName1-override1");
expectedInvokerNames.add("containerConfiguration1InvokerProxyBindingName2-override1");
assertEquals(expectedInvokerNames, invokerNames);
ContainerConfigurationMetaData containerConfiguration1 = jbossMetaData.getContainerConfiguration("containerConfiguration1Name-override");
assertNotNull(containerConfiguration1);
// Should be from the containerConfiguration1
assertEquals("containerConfiguration1InstancePool", containerConfiguration1.getInstancePool());
ClusterConfigMetaData ccmd = containerConfiguration1.getClusterConfig();
assertNotNull(ccmd);