[jboss-cvs] JBossAS SVN: r74977 - in projects/metadata/trunk/src: main/java/org/jboss/metadata/ejb/jboss and 2 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Jun 24 09:05:16 EDT 2008
Author: alex.loubyansky at jboss.com
Date: 2008-06-24 09:05:16 -0400 (Tue, 24 Jun 2008)
New Revision: 74977
Added:
projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBossEnvironmentRefsGroupOverrideUnitTestCase.java
projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBossMetaDataOverrideUnitTestCase.java
Modified:
projects/metadata/trunk/src/main/java/org/jboss/metadata/ApplicationMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeansMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEntityBeanMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnvironmentRefsGroupMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/ResourceInjectionMetaData.java
projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBossEnterpriseBeanOverrideUnitTestCase.java
projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBossEntityBeanOverrideUnitTestCase.java
Log:
JBMETA-45 bugs in merges
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ApplicationMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ApplicationMetaData.java 2008-06-24 12:39:16 UTC (rev 74976)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ApplicationMetaData.java 2008-06-24 13:05:16 UTC (rev 74977)
@@ -30,7 +30,6 @@
import java.util.LinkedHashMap;
import java.util.Map;
-import org.jboss.metadata.common.ejb.IEnterpriseBeanMetaData;
import org.jboss.metadata.common.ejb.IEnterpriseBeansMetaData;
import org.jboss.metadata.common.jboss.WebserviceDescriptionMetaData;
import org.jboss.metadata.common.jboss.WebserviceDescriptionsMetaData;
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java 2008-06-24 12:39:16 UTC (rev 74976)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java 2008-06-24 13:05:16 UTC (rev 74977)
@@ -1836,6 +1836,13 @@
securityProxy = original.securityProxy;
if(original.transactionType != null)
transactionType = original.transactionType;
+
+ if(original.depends != null)
+ {
+ if(depends == null)
+ depends = new HashSet<String>();
+ depends.addAll(original.depends);
+ }
// boolean wrapper should be used to differentiate between default and not set values
timerPersistence = original.timerPersistence;
@@ -1887,7 +1894,14 @@
securityProxy = override.securityProxy;
if(override.transactionType != null)
transactionType = override.transactionType;
-
+
+ if(override.depends != null)
+ {
+ if(depends == null)
+ depends = new HashSet<String>();
+ depends.addAll(override.depends);
+ }
+
timerPersistence = override.timerPersistence;
exceptionOnRollback = override.exceptionOnRollback;
@@ -1922,7 +1936,7 @@
{
if(jndiEnvironmentRefsGroup == null)
jndiEnvironmentRefsGroup = new JBossEnvironmentRefsGroupMetaData();
- jndiEnvironmentRefsGroup.merge(overrideEnv, originalEnv);
+ jndiEnvironmentRefsGroup.merge(overrideEnv, originalEnv, getJBossMetaData().getResourceManagers());
}
if(originalMethodAttrs != null || overrideMethodAttrs != null)
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeansMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeansMetaData.java 2008-06-24 12:39:16 UTC (rev 74976)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeansMetaData.java 2008-06-24 13:05:16 UTC (rev 74977)
@@ -271,6 +271,7 @@
mbean = annBean.newBean();
else
throw new IllegalStateException("Attempt to merge to generic beans.");
+ mbean.setEnterpriseBeansMetaData(this);
mbean.merge(bean, annBean);
add(mbean);
}
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEntityBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEntityBeanMetaData.java 2008-06-24 12:39:16 UTC (rev 74976)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEntityBeanMetaData.java 2008-06-24 13:05:16 UTC (rev 74977)
@@ -819,7 +819,7 @@
queries = joverride.queries;
else if(soriginal != null && soriginal.getQueries() != null)
queries = soriginal.getQueries();
-
+
// jndiName
if(joverride != null && joverride.jndiName != null)
jndiName = joverride.jndiName;
@@ -884,6 +884,9 @@
if(original.persistenceType != null)
persistenceType = original.persistenceType;
+
+ if(original.queries != null)
+ queries = original.queries;
originalFields = original.cmpFields;
originalRoles = original.securityRoleRefs;
@@ -932,7 +935,10 @@
if(override.persistenceType != null)
persistenceType = override.persistenceType;
-
+
+ if(override.queries != null)
+ queries = override.queries;
+
overrideFields = override.cmpFields;
overrideRoles = override.securityRoleRefs;
overrideCluster = override.clusterConfig;
@@ -965,7 +971,7 @@
if(cacheInvalidationConfig == null)
cacheInvalidationConfig = new CacheInvalidationConfigMetaData();
cacheInvalidationConfig.merge(overrideCacheInv, originalCacheInv);
- }
+ }
}
@Override
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnvironmentRefsGroupMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnvironmentRefsGroupMetaData.java 2008-06-24 12:39:16 UTC (rev 74976)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnvironmentRefsGroupMetaData.java 2008-06-24 13:05:16 UTC (rev 74977)
@@ -211,7 +211,7 @@
}
- public void merge(JBossEnvironmentRefsGroupMetaData override, JBossEnvironmentRefsGroupMetaData original)
+ public void merge(JBossEnvironmentRefsGroupMetaData override, JBossEnvironmentRefsGroupMetaData original, ResourceManagersMetaData resourceManagers)
{
super.merge(override, original, "deployment descriptors", "annotations", false);
@@ -238,5 +238,22 @@
PersistenceContextReferencesMetaData mergedPctxRefs = PersistenceContextReferencesMetaData.merge(overridePctxRefs, originalPctxRefs, null, "jboss.xml");
if(mergedPctxRefs != null)
this.setPersistenceContextRefs(mergedPctxRefs);
+
+ // Need to set the jndi name from resource mgr if referenced
+ ResourceReferencesMetaData jbossResRefs = getResourceReferences();
+ if(resourceManagers != null && jbossResRefs != null)
+ {
+ for(ResourceReferenceMetaData ref : jbossResRefs)
+ {
+ ResourceManagerMetaData mgr = resourceManagers.get(ref.getResourceName());
+ if(mgr != null)
+ {
+ if(mgr.getResJndiName() != null)
+ ref.setJndiName(mgr.getResJndiName());
+ else if(mgr.getResUrl() != null)
+ ref.setResUrl(mgr.getResUrl());
+ }
+ }
+ }
}
}
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaData.java 2008-06-24 12:39:16 UTC (rev 74976)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaData.java 2008-06-24 13:05:16 UTC (rev 74977)
@@ -810,8 +810,6 @@
super.merge(override, original);
JBossAssemblyDescriptorMetaData originalAssembly = null;
- ResourceManagersMetaData originalResManagers = null;
- ContainerConfigurationsMetaData originalContainerConfig = null;
InvokerProxyBindingsMetaData originalInvokerProxyBindings = null;
InterceptorsMetaData originalInterceptors = null;
WebservicesMetaData originalWebservices = null;
@@ -819,8 +817,6 @@
if(original != null)
{
originalAssembly = original.assemblyDescriptor;
- originalResManagers = original.resourceManagers;
- originalContainerConfig = original.containerConfigurations;
originalInvokerProxyBindings = original.invokerProxyBindings;
originalInterceptors = original.interceptors;
originalWebservices = original.webservices;
@@ -842,11 +838,23 @@
securityDomain = original.securityDomain;
if(original.unauthenticatedPrincipal != null)
unauthenticatedPrincipal = original.unauthenticatedPrincipal;
+
+ if(original.containerConfigurations != null)
+ {
+ if(containerConfigurations == null)
+ containerConfigurations = new ContainerConfigurationsMetaData();
+ containerConfigurations.merge(original.containerConfigurations);
+ }
+
+ if(original.resourceManagers != null)
+ {
+ if(resourceManagers == null)
+ resourceManagers = new ResourceManagersMetaData();
+ resourceManagers.addAll(original.resourceManagers);
+ }
}
JBossAssemblyDescriptorMetaData overrideAssembly = null;
- ResourceManagersMetaData overrideResManagers = null;
- ContainerConfigurationsMetaData overrideContainerConfig = null;
InvokerProxyBindingsMetaData overrideInvokerProxyBindings = null;
InterceptorsMetaData overrideInterceptors = null;
WebservicesMetaData overrideWebservices = null;
@@ -854,8 +862,6 @@
if(override != null)
{
overrideAssembly = override.assemblyDescriptor;
- overrideResManagers = override.resourceManagers;
- overrideContainerConfig = override.containerConfigurations;
overrideInvokerProxyBindings = override.invokerProxyBindings;
overrideInterceptors = override.interceptors;
overrideWebservices = override.webservices;
@@ -880,23 +886,27 @@
unauthenticatedPrincipal = override.unauthenticatedPrincipal;
//Ensure that there is no customization of the Unspecified method permissions
if(override.excludeMissingMethods == false)
- this.excludeMissingMethods = false;
+ this.excludeMissingMethods = false;
+
+ if(override.containerConfigurations != null)
+ {
+ if(containerConfigurations == null)
+ containerConfigurations = new ContainerConfigurationsMetaData();
+ containerConfigurations.merge(override.containerConfigurations);
+ }
+
+ if(override.resourceManagers != null)
+ {
+ if(resourceManagers == null)
+ resourceManagers = new ResourceManagersMetaData();
+ resourceManagers.addAll(override.resourceManagers);
+ }
}
if(assemblyDescriptor == null)
assemblyDescriptor = new JBossAssemblyDescriptorMetaData();
if(overrideAssembly != null || originalAssembly != null)
assemblyDescriptor.merge(overrideAssembly, originalAssembly);
-
- if(resourceManagers == null)
- resourceManagers = new ResourceManagersMetaData();
- if(overrideResManagers != null || originalResManagers != null)
- resourceManagers.merge(overrideResManagers, originalResManagers);
-
- if(containerConfigurations == null)
- containerConfigurations = new ContainerConfigurationsMetaData();
- if(overrideContainerConfig != null || originalContainerConfig != null)
- containerConfigurations.merge(overrideContainerConfig, originalContainerConfig);
if(invokerProxyBindings == null)
invokerProxyBindings = new InvokerProxyBindingsMetaData();
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/ResourceInjectionMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/ResourceInjectionMetaData.java 2008-06-24 12:39:16 UTC (rev 74976)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/ResourceInjectionMetaData.java 2008-06-24 13:05:16 UTC (rev 74977)
@@ -28,7 +28,6 @@
import org.jboss.metadata.javaee.spec.ResourceInjectionTargetMetaData;
import org.jboss.metadata.javaee.support.NamedMetaData;
-import org.jboss.xb.annotations.JBossXmlNsPrefix;
/**
* ResourceInjectionMetaData.
Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBossEnterpriseBeanOverrideUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBossEnterpriseBeanOverrideUnitTestCase.java 2008-06-24 12:39:16 UTC (rev 74976)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBossEnterpriseBeanOverrideUnitTestCase.java 2008-06-24 13:05:16 UTC (rev 74977)
@@ -29,7 +29,9 @@
import org.jboss.metadata.ejb.jboss.IORSecurityConfigMetaData;
import org.jboss.metadata.ejb.jboss.InvokerBindingMetaData;
import org.jboss.metadata.ejb.jboss.InvokerBindingsMetaData;
+import org.jboss.metadata.ejb.jboss.JBoss50MetaData;
import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeansMetaData;
import org.jboss.metadata.ejb.jboss.JBossEnvironmentRefsGroupMetaData;
import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
import org.jboss.metadata.ejb.jboss.MethodAttributeMetaData;
@@ -431,6 +433,9 @@
// merged
JBossSessionBeanMetaData merged = new JBossSessionBeanMetaData();
+ JBossEnterpriseBeansMetaData mergedBeans = new JBossEnterpriseBeansMetaData();
+ mergedBeans.setEjbJarMetaData(new JBoss50MetaData());
+ merged.setEnterpriseBeansMetaData(mergedBeans);
merged.merge(override, original);
JBossEnvironmentRefsGroupMetaData mergedEnv = (JBossEnvironmentRefsGroupMetaData) merged.getJndiEnvironmentRefsGroup();
assertNotNull(mergedEnv);
@@ -782,4 +787,33 @@
assertNotNull(txType);
assertEquals(TransactionManagementType.BEAN, txType);
}
+
+ public void testDepends() throws Exception
+ {
+ JBossSessionBeanMetaData original = new JBossSessionBeanMetaData();
+ original.setEjbName("session");
+
+ Set<String> depends = new HashSet<String>();
+ depends.add("original1");
+ depends.add("original2");
+ original.setDepends(depends);
+
+ JBossSessionBeanMetaData override = new JBossSessionBeanMetaData();
+ override.setEjbName("session");
+
+ depends = new HashSet<String>();
+ depends.add("override1");
+ depends.add("override2");
+ override.setDepends(depends);
+
+ JBossSessionBeanMetaData merged = new JBossSessionBeanMetaData();
+ merged.merge(override, original);
+ depends = merged.getDepends();
+ assertNotNull(depends);
+ assertEquals(4, depends.size());
+ assertTrue(depends.contains("original1"));
+ assertTrue(depends.contains("original2"));
+ assertTrue(depends.contains("override1"));
+ assertTrue(depends.contains("override2"));
+ }
}
Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBossEntityBeanOverrideUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBossEntityBeanOverrideUnitTestCase.java 2008-06-24 12:39:16 UTC (rev 74976)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBossEntityBeanOverrideUnitTestCase.java 2008-06-24 13:05:16 UTC (rev 74977)
@@ -29,6 +29,8 @@
import org.jboss.metadata.ejb.spec.CMPFieldMetaData;
import org.jboss.metadata.ejb.spec.CMPFieldsMetaData;
import org.jboss.metadata.ejb.spec.PersistenceType;
+import org.jboss.metadata.ejb.spec.QueriesMetaData;
+import org.jboss.metadata.ejb.spec.QueryMetaData;
import org.jboss.metadata.javaee.spec.SecurityRoleRefMetaData;
import org.jboss.metadata.javaee.spec.SecurityRoleRefsMetaData;
@@ -199,4 +201,34 @@
assertEquals("originalGroup", cacheInv.getInvalidationGroupName());
assertEquals("overrideManager", cacheInv.getInvalidationManagerName());
}
+
+ public void testQueries() throws Exception
+ {
+ JBossEntityBeanMetaData original = new JBossEntityBeanMetaData();
+ original.setEjbName("entity");
+
+ QueriesMetaData queries = new QueriesMetaData();
+ original.setQueries(queries);
+ QueryMetaData query = new QueryMetaData();
+ query.setEjbQL("select from original");
+ queries.add(query);
+
+ JBossEntityBeanMetaData override = new JBossEntityBeanMetaData();
+ override.setEjbName("entity");
+
+ queries = new QueriesMetaData();
+ override.setQueries(queries);
+ query = new QueryMetaData();
+ query.setEjbQL("select from override");
+ queries.add(query);
+
+ JBossEntityBeanMetaData merged = new JBossEntityBeanMetaData();
+ merged.merge(override, original);
+ queries = merged.getQueries();
+ assertNotNull(queries);
+ assertEquals(1, queries.size());
+ query = queries.get(0);
+ assertNotNull(query);
+ assertEquals("select from override", query.getEjbQL());
+ }
}
Added: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBossEnvironmentRefsGroupOverrideUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBossEnvironmentRefsGroupOverrideUnitTestCase.java (rev 0)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBossEnvironmentRefsGroupOverrideUnitTestCase.java 2008-06-24 13:05:16 UTC (rev 74977)
@@ -0,0 +1,97 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.metadata.ejb;
+
+import org.jboss.metadata.ejb.jboss.JBossEnvironmentRefsGroupMetaData;
+import org.jboss.metadata.ejb.jboss.ResourceManagerMetaData;
+import org.jboss.metadata.ejb.jboss.ResourceManagersMetaData;
+import org.jboss.metadata.javaee.spec.ResourceAuthorityType;
+import org.jboss.metadata.javaee.spec.ResourceReferenceMetaData;
+import org.jboss.metadata.javaee.spec.ResourceReferencesMetaData;
+
+import junit.framework.TestCase;
+
+/**
+ * A JBossEnvironmentRefsGroupOverrideUnitTestCase.
+ *
+ * @author <a href="alex at jboss.com">Alexey Loubyansky</a>
+ * @version $Revision: 1.1 $
+ */
+public class JBossEnvironmentRefsGroupOverrideUnitTestCase extends TestCase
+{
+ public void testJndiNameForResourceReferences()
+ {
+ JBossEnvironmentRefsGroupMetaData spec = new JBossEnvironmentRefsGroupMetaData();
+ ResourceReferencesMetaData refs = new ResourceReferencesMetaData();
+ spec.setResourceReferences(refs);
+ ResourceReferenceMetaData ref = new ResourceReferenceMetaData();
+ ref.setResourceRefName("jms/MyQueueConnection");
+ ref.setType("javax.jms.QueueConnectionFactory");
+ ref.setResAuth(ResourceAuthorityType.Container);
+ refs.add(ref);
+ ref = new ResourceReferenceMetaData();
+ ref.setResourceRefName("jms/QueueName");
+ ref.setType("javax.jms.Queue");
+ ref.setResAuth(ResourceAuthorityType.Container);
+ refs.add(ref);
+
+ JBossEnvironmentRefsGroupMetaData jboss = new JBossEnvironmentRefsGroupMetaData();
+ refs = new ResourceReferencesMetaData();
+ jboss.setResourceReferences(refs);
+ ref = new ResourceReferenceMetaData();
+ ref.setResourceRefName("jms/MyQueueConnection");
+ ref.setResourceName("queuefactoryref");
+ refs.add(ref);
+ ref = new ResourceReferenceMetaData();
+ ref.setResourceRefName("jms/QueueName");
+ ref.setResourceName("queueref");
+ refs.add(ref);
+
+ ResourceManagersMetaData rms = new ResourceManagersMetaData();
+ ResourceManagerMetaData rm = new ResourceManagerMetaData();
+ rm.setResName("queuefactoryref");
+ rm.setResJndiName("java:/JmsXA");
+ rms.add(rm);
+ rm = new ResourceManagerMetaData();
+ rm.setResName("queueref");
+ rm.setResJndiName("queue/testQueue");
+ rms.add(rm);
+
+ JBossEnvironmentRefsGroupMetaData merged = new JBossEnvironmentRefsGroupMetaData();
+ merged.merge(jboss, spec, rms);
+ refs = merged.getResourceReferences();
+ assertNotNull(refs);
+ assertEquals(2, refs.size());
+ ref = refs.get("jms/MyQueueConnection");
+ assertNotNull(ref);
+ assertEquals("javax.jms.QueueConnectionFactory", ref.getType());
+ assertEquals(ResourceAuthorityType.Container, ref.getResAuth());
+ assertEquals("queuefactoryref", ref.getResourceName());
+ assertEquals("java:/JmsXA", ref.getJndiName());
+ ref = refs.get("jms/QueueName");
+ assertNotNull(ref);
+ assertEquals("javax.jms.Queue", ref.getType());
+ assertEquals(ResourceAuthorityType.Container, ref.getResAuth());
+ assertEquals("queueref", ref.getResourceName());
+ assertEquals("queue/testQueue", ref.getJndiName());
+ }
+}
Added: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBossMetaDataOverrideUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBossMetaDataOverrideUnitTestCase.java (rev 0)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBossMetaDataOverrideUnitTestCase.java 2008-06-24 13:05:16 UTC (rev 74977)
@@ -0,0 +1,114 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.metadata.ejb;
+
+import org.jboss.metadata.ejb.jboss.ContainerConfigurationMetaData;
+import org.jboss.metadata.ejb.jboss.ContainerConfigurationsMetaData;
+import org.jboss.metadata.ejb.jboss.JBoss50MetaData;
+import org.jboss.metadata.ejb.jboss.ResourceManagerMetaData;
+import org.jboss.metadata.ejb.jboss.ResourceManagersMetaData;
+
+import junit.framework.TestCase;
+
+/**
+ * A JBossMetaDataOverrideUnitTestCase.
+ *
+ * @author <a href="alex at jboss.com">Alexey Loubyansky</a>
+ * @version $Revision: 1.1 $
+ */
+public class JBossMetaDataOverrideUnitTestCase extends TestCase
+{
+ public void testContainerConfigurations() throws Exception
+ {
+ JBoss50MetaData original = new JBoss50MetaData();
+ ContainerConfigurationsMetaData ccs = new ContainerConfigurationsMetaData();
+ original.setContainerConfigurations(ccs);
+ ContainerConfigurationMetaData cc = new ContainerConfigurationMetaData();
+ cc.setContainerName("original1");
+ cc.setSecurityDomain("originalDomain1");
+ ccs.add(cc);
+ cc = new ContainerConfigurationMetaData();
+ cc.setContainerName("override1");
+ cc.setSecurityDomain("originalDomain2");
+ ccs.add(cc);
+
+ JBoss50MetaData override = new JBoss50MetaData();
+ ccs = new ContainerConfigurationsMetaData();
+ override.setContainerConfigurations(ccs);
+ cc = new ContainerConfigurationMetaData();
+ cc.setContainerName("override1");
+ cc.setSecurityDomain("overrideDomain1");
+ ccs.add(cc);
+ cc = new ContainerConfigurationMetaData();
+ cc.setContainerName("override2");
+ cc.setSecurityDomain("overrideDomain2");
+ ccs.add(cc);
+
+ JBoss50MetaData merged = new JBoss50MetaData();
+ merged.merge(override, original);
+ ccs = merged.getContainerConfigurations();
+ assertNotNull(ccs);
+ assertEquals(3, ccs.size());
+ cc = ccs.get("original1");
+ assertNotNull(cc);
+ assertEquals("originalDomain1", cc.getSecurityDomain());
+ cc = ccs.get("override1");
+ assertNotNull(cc);
+ assertEquals("overrideDomain1", cc.getSecurityDomain());
+ cc = ccs.get("override2");
+ assertNotNull(cc);
+ assertEquals("overrideDomain2", cc.getSecurityDomain());
+ }
+
+ public void testResourceManagers() throws Exception
+ {
+ JBoss50MetaData original = new JBoss50MetaData();
+ ResourceManagersMetaData rms = new ResourceManagersMetaData();
+ original.setResourceManagers(rms);
+ ResourceManagerMetaData rm = new ResourceManagerMetaData();
+ rm.setResName("original1");
+ rms.add(rm);
+ rm = new ResourceManagerMetaData();
+ rm.setResName("original2");
+ rms.add(rm);
+
+ JBoss50MetaData override = new JBoss50MetaData();
+ rms = new ResourceManagersMetaData();
+ override.setResourceManagers(rms);
+ rm = new ResourceManagerMetaData();
+ rm.setResName("override1");
+ rms.add(rm);
+ rm = new ResourceManagerMetaData();
+ rm.setResName("override2");
+ rms.add(rm);
+
+ JBoss50MetaData merged = new JBoss50MetaData();
+ merged.merge(override, original);
+ rms = merged.getResourceManagers();
+ assertNotNull(rms);
+ assertEquals(4, rms.size());System.out.println("rms: " + rms.keySet());
+ assertTrue(rms.containsKey("original1"));
+ assertTrue(rms.containsKey("original2"));
+ assertTrue(rms.containsKey("override1"));
+ assertTrue(rms.containsKey("override2"));
+ }
+}
More information about the jboss-cvs-commits
mailing list