[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