[jboss-cvs] JBossAS SVN: r73800 - in projects/metadata/trunk/src: main/java/org/jboss/metadata/javaee/spec and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu May 29 09:43:10 EDT 2008


Author: alex.loubyansky at jboss.com
Date: 2008-05-29 09:43:10 -0400 (Thu, 29 May 2008)
New Revision: 73800

Modified:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnvironmentRefsGroupMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/PersistenceContextReferenceMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/PersistenceUnitReferencesMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/RemoteEnvironmentRefsGroupMetaData.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBossEnterpriseBeanOverrideUnitTestCase.java
Log:
JBMETA-20. JBossEnvironmentRefsGroupMetaData 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-05-29 13:25:16 UTC (rev 73799)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnvironmentRefsGroupMetaData.java	2008-05-29 13:43:10 UTC (rev 73800)
@@ -216,19 +216,27 @@
       super.merge(override, original, "jboss.xml", null, true);
       
       EJBLocalReferencesMetaData originalLocalRefs = null;
+      PersistenceContextReferencesMetaData originalPctxRefs = null;
       if(original != null)
       {
          originalLocalRefs = original.ejbLocalReferences;
+         originalPctxRefs = original.persistenceContextRefs;
       }
       
       EJBLocalReferencesMetaData overrideLocalRefs = null;
+      PersistenceContextReferencesMetaData overridePctxRefs = null;
       if(override != null)
       {
          overrideLocalRefs = override.ejbLocalReferences;
+         overridePctxRefs = override.persistenceContextRefs;
       }
 
       EJBLocalReferencesMetaData mergedEjbLocalRefs = EJBLocalReferencesMetaData.merge(overrideLocalRefs, originalLocalRefs, null, "jboss.xml");
       if (mergedEjbLocalRefs != null)
          this.setEjbLocalReferences(mergedEjbLocalRefs);
+      
+      PersistenceContextReferencesMetaData mergedPctxRefs = PersistenceContextReferencesMetaData.merge(overridePctxRefs, originalPctxRefs, null, "jboss.xml");
+      if(mergedPctxRefs != null)
+         this.setPersistenceContextRefs(mergedPctxRefs);
    }
 }

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/PersistenceContextReferenceMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/PersistenceContextReferenceMetaData.java	2008-05-29 13:25:16 UTC (rev 73799)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/PersistenceContextReferenceMetaData.java	2008-05-29 13:43:10 UTC (rev 73800)
@@ -24,7 +24,6 @@
 import javax.persistence.PersistenceContextType;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 import org.jboss.metadata.javaee.support.MergeableMappedMetaData;
@@ -163,7 +162,6 @@
    {
       super.merge(override, original);
       PersistenceContextReferenceMetaData merged = new PersistenceContextReferenceMetaData();
-      merged.merge(this, original);
 
       if(override != null && override.persistenceUnitName != null)
          persistenceUnitName = override.persistenceUnitName;

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/PersistenceUnitReferencesMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/PersistenceUnitReferencesMetaData.java	2008-05-29 13:25:16 UTC (rev 73799)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/PersistenceUnitReferencesMetaData.java	2008-05-29 13:43:10 UTC (rev 73800)
@@ -22,6 +22,7 @@
 package org.jboss.metadata.javaee.spec;
 
 import org.jboss.metadata.javaee.support.AbstractMappedMetaData;
+import org.jboss.metadata.merge.MergeUtil;
 
 /**
  * PersistenceUnitReferencesMetaData.
@@ -41,4 +42,9 @@
    {
       super("persistence-unit-ref-name");
    }
+   
+   public void merge(PersistenceUnitReferencesMetaData override, PersistenceUnitReferencesMetaData original)
+   {
+      MergeUtil.merge(this, override, original);
+   }
 }

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/RemoteEnvironmentRefsGroupMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/RemoteEnvironmentRefsGroupMetaData.java	2008-05-29 13:25:16 UTC (rev 73799)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/RemoteEnvironmentRefsGroupMetaData.java	2008-05-29 13:43:10 UTC (rev 73800)
@@ -388,6 +388,7 @@
       MessageDestinationReferencesMetaData messageDestinationRefs = null;
       MessageDestinationReferencesMetaData jbossMessageDestinationRefs = null;
       PersistenceUnitReferencesMetaData persistenceUnitRefs = null;
+      PersistenceUnitReferencesMetaData jbossPersistenceUnitRefs = null;
 //      LifecycleCallbacksMetaData postConstructs = null;
 //      LifecycleCallbacksMetaData preDestroys = null;
       
@@ -420,6 +421,7 @@
          jbossResRefs = jbossEnv.getResourceReferences();
          jbossResEnvRefs = jbossEnv.getResourceEnvironmentReferences();
          jbossMessageDestinationRefs = jbossEnv.getMessageDestinationReferences();
+         jbossPersistenceUnitRefs = jbossEnv.getPersistenceUnitRefs();
       }
       else
       {
@@ -429,6 +431,7 @@
          jbossResRefs = getResourceReferences();
          jbossResEnvRefs = getResourceEnvironmentReferences();
          jbossMessageDestinationRefs = getMessageDestinationReferences();
+         jbossPersistenceUnitRefs = getPersistenceUnitRefs();
       }
 
 
@@ -451,7 +454,7 @@
       MessageDestinationReferencesMetaData mergedMessageDestinationRefs = MessageDestinationReferencesMetaData.merge(jbossMessageDestinationRefs, messageDestinationRefs, "", "", mustOverride);
       if (mergedMessageDestinationRefs != null)
          setMessageDestinationReferences(mergedMessageDestinationRefs);
-      
+
       if(specEnv != null)
       {
          EnvironmentEntriesMetaData envEntries = specEnv.getEnvironmentEntries();
@@ -483,8 +486,12 @@
          }
       }
       
-      if (persistenceUnitRefs != null)
-         setPersistenceUnitRefs(persistenceUnitRefs);
+      if (persistenceUnitRefs != null || jbossPersistenceUnitRefs != null)
+      {
+         if(this.persistenceUnitRefs == null)
+            this.persistenceUnitRefs = new PersistenceUnitReferencesMetaData();
+         this.persistenceUnitRefs.merge(jbossPersistenceUnitRefs, persistenceUnitRefs);
+      }
       
       if(annotatedEjbRefs != null)
          this.setAnnotatedEjbReferences(annotatedEjbRefs);

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-05-29 13:25:16 UTC (rev 73799)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBossEnterpriseBeanOverrideUnitTestCase.java	2008-05-29 13:43:10 UTC (rev 73800)
@@ -39,11 +39,29 @@
 import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
 import org.jboss.metadata.javaee.jboss.AnnotationMetaData;
 import org.jboss.metadata.javaee.jboss.AnnotationsMetaData;
+import org.jboss.metadata.javaee.jboss.JBossServiceReferenceMetaData;
+import org.jboss.metadata.javaee.jboss.JBossServiceReferencesMetaData;
 import org.jboss.metadata.javaee.spec.AnnotatedEJBReferencesMetaData;
 import org.jboss.metadata.javaee.spec.EJBLocalReferenceMetaData;
 import org.jboss.metadata.javaee.spec.EJBLocalReferencesMetaData;
 import org.jboss.metadata.javaee.spec.EJBReferenceMetaData;
 import org.jboss.metadata.javaee.spec.EJBReferencesMetaData;
+import org.jboss.metadata.javaee.spec.EnvironmentEntriesMetaData;
+import org.jboss.metadata.javaee.spec.EnvironmentEntryMetaData;
+import org.jboss.metadata.javaee.spec.LifecycleCallbackMetaData;
+import org.jboss.metadata.javaee.spec.LifecycleCallbacksMetaData;
+import org.jboss.metadata.javaee.spec.MessageDestinationReferenceMetaData;
+import org.jboss.metadata.javaee.spec.MessageDestinationReferencesMetaData;
+import org.jboss.metadata.javaee.spec.PersistenceContextReferenceMetaData;
+import org.jboss.metadata.javaee.spec.PersistenceContextReferencesMetaData;
+import org.jboss.metadata.javaee.spec.PersistenceUnitReferenceMetaData;
+import org.jboss.metadata.javaee.spec.PersistenceUnitReferencesMetaData;
+import org.jboss.metadata.javaee.spec.ResourceEnvironmentReferenceMetaData;
+import org.jboss.metadata.javaee.spec.ResourceEnvironmentReferencesMetaData;
+import org.jboss.metadata.javaee.spec.ResourceReferenceMetaData;
+import org.jboss.metadata.javaee.spec.ResourceReferencesMetaData;
+import org.jboss.metadata.javaee.spec.ServiceReferenceMetaData;
+import org.jboss.metadata.javaee.spec.ServiceReferencesMetaData;
 import org.jboss.util.Classes;
 
 
@@ -306,6 +324,105 @@
       ejbRefs.add(ejbRef);
       originalEnv.setEjbReferences(ejbRefs);
       
+      EnvironmentEntriesMetaData envEntries = new EnvironmentEntriesMetaData();
+      EnvironmentEntryMetaData envEntry = new EnvironmentEntryMetaData();
+      envEntry.setEnvEntryName("entry1");
+      envEntry.setJndiName(envEntry.getEnvEntryName() + "Original");
+      envEntries.add(envEntry);
+      envEntry = new EnvironmentEntryMetaData();
+      envEntry.setEnvEntryName("entry2");
+      envEntry.setJndiName(envEntry.getEnvEntryName() + "Original");
+      envEntries.add(envEntry);
+      originalEnv.setEnvironmentEntries(envEntries);
+      
+      MessageDestinationReferencesMetaData destRefs = new MessageDestinationReferencesMetaData();
+      MessageDestinationReferenceMetaData destRef = new MessageDestinationReferenceMetaData();
+      destRef.setMessageDestinationRefName("destRef1");
+      destRef.setJndiName(destRef.getMessageDestinationRefName() + "Original");
+      destRefs.add(destRef);
+      destRef = new MessageDestinationReferenceMetaData();
+      destRef.setMessageDestinationRefName("destRef2");
+      destRef.setJndiName(destRef.getMessageDestinationRefName() + "Original");
+      destRefs.add(destRef);
+      originalEnv.setMessageDestinationReferences(destRefs);
+      
+      PersistenceContextReferencesMetaData pctxRefs = new PersistenceContextReferencesMetaData();
+      PersistenceContextReferenceMetaData pctxRef = new PersistenceContextReferenceMetaData();
+      pctxRef.setPersistenceContextRefName("pctxRef1");
+      pctxRef.setJndiName(pctxRef.getPersistenceContextRefName() + "Original");
+      pctxRefs.add(pctxRef);
+      pctxRef = new PersistenceContextReferenceMetaData();
+      pctxRef.setPersistenceContextRefName("pctxRef2");
+      pctxRef.setJndiName(pctxRef.getPersistenceContextRefName() + "Original");
+      pctxRefs.add(pctxRef);
+      originalEnv.setPersistenceContextRefs(pctxRefs);
+
+      PersistenceUnitReferencesMetaData pUnitRefs = new PersistenceUnitReferencesMetaData();
+      PersistenceUnitReferenceMetaData pUnitRef = new PersistenceUnitReferenceMetaData();
+      pUnitRef.setPersistenceUnitRefName("pUnitRef1");
+      pUnitRef.setJndiName(pUnitRef.getPersistenceUnitRefName() + "Original");
+      pUnitRefs.add(pUnitRef);
+      pUnitRef = new PersistenceUnitReferenceMetaData();
+      pUnitRef.setPersistenceUnitRefName("pUnitRef2");
+      pUnitRef.setJndiName(pUnitRef.getPersistenceUnitRefName() + "Original");
+      pUnitRefs.add(pUnitRef);
+      originalEnv.setPersistenceUnitRefs(pUnitRefs);
+      
+      LifecycleCallbacksMetaData callbacks = new LifecycleCallbacksMetaData();
+      LifecycleCallbackMetaData callback = new LifecycleCallbackMetaData();
+      callback.setClassName("class1");
+      callback.setMethodName("postCtor1Original");
+      callbacks.add(callback);
+      callback = new LifecycleCallbackMetaData();
+      callback.setClassName("class2");
+      callback.setMethodName("postCtor2Original");
+      callbacks.add(callback);
+      originalEnv.setPostConstructs(callbacks);
+      
+      callbacks = new LifecycleCallbacksMetaData();
+      callback = new LifecycleCallbackMetaData();
+      callback.setClassName("class1");
+      callback.setMethodName("preDestroy1Original");
+      callbacks.add(callback);
+      callback = new LifecycleCallbackMetaData();
+      callback.setClassName("class2");
+      callback.setMethodName("preDestroy2Original");
+      callbacks.add(callback);
+      originalEnv.setPreDestroys(callbacks);
+      
+      ResourceEnvironmentReferencesMetaData resEnvRefs = new ResourceEnvironmentReferencesMetaData();
+      ResourceEnvironmentReferenceMetaData resEnvRef = new ResourceEnvironmentReferenceMetaData();
+      resEnvRef.setResourceEnvRefName("resEnvRef1");
+      resEnvRef.setJndiName(resEnvRef.getResourceEnvRefName() + "Original");
+      resEnvRefs.add(resEnvRef);
+      resEnvRef = new ResourceEnvironmentReferenceMetaData();
+      resEnvRef.setResourceEnvRefName("resEnvRef2");
+      resEnvRef.setJndiName(resEnvRef.getResourceEnvRefName() + "Original");
+      resEnvRefs.add(resEnvRef);
+      originalEnv.setResourceEnvironmentReferences(resEnvRefs);
+      
+      ResourceReferencesMetaData resRefs = new ResourceReferencesMetaData();
+      ResourceReferenceMetaData resRef = new ResourceReferenceMetaData();
+      resRef.setResourceRefName("resRef1");
+      resRef.setJndiName(resRef.getResourceRefName() + "Original");
+      resRefs.add(resRef);
+      resRef = new ResourceReferenceMetaData();
+      resRef.setResourceRefName("resRef2");
+      resRef.setJndiName(resRef.getResourceRefName() + "Original");
+      resRefs.add(resRef);
+      originalEnv.setResourceReferences(resRefs);
+      
+      JBossServiceReferencesMetaData serviceRefs = new JBossServiceReferencesMetaData();
+      JBossServiceReferenceMetaData serviceRef = new JBossServiceReferenceMetaData();
+      serviceRef.setServiceRefName("serviceRef1");
+      serviceRef.setJndiName(serviceRef.getServiceRefName() + "Original");
+      serviceRefs.add(serviceRef);
+      serviceRef = new JBossServiceReferenceMetaData();
+      serviceRef.setServiceRefName("serviceRef2");
+      serviceRef.setJndiName(serviceRef.getServiceRefName() + "Original");
+      serviceRefs.add(serviceRef);
+      originalEnv.setServiceReferences(serviceRefs);
+      
       // override
       JBossSessionBeanMetaData override = new JBossSessionBeanMetaData();
       override.setEjbName("session");
@@ -326,7 +443,98 @@
       ejbRef.setJndiName(ejbRef.getEjbRefName() + "Override");
       ejbRefs.add(ejbRef);
       overrideEnv.setEjbReferences(ejbRefs);
+
+      envEntries = new EnvironmentEntriesMetaData();
+      envEntry = new EnvironmentEntryMetaData();
+      envEntry.setEnvEntryName("entry2");
+      envEntry.setJndiName(envEntry.getEnvEntryName() + "Override");
+      envEntries.add(envEntry);
+      envEntry = new EnvironmentEntryMetaData();
+      envEntry.setEnvEntryName("entry3");
+      envEntry.setJndiName(envEntry.getEnvEntryName() + "Override");
+      envEntries.add(envEntry);
+      overrideEnv.setEnvironmentEntries(envEntries);
+
+      destRefs = new MessageDestinationReferencesMetaData();
+      destRef = new MessageDestinationReferenceMetaData();
+      destRef.setMessageDestinationRefName("destRef2");
+      destRef.setJndiName(destRef.getMessageDestinationRefName() + "Override");
+      destRefs.add(destRef);
+      overrideEnv.setMessageDestinationReferences(destRefs);
       
+      pctxRefs = new PersistenceContextReferencesMetaData();
+      pctxRef = new PersistenceContextReferenceMetaData();
+      pctxRef.setPersistenceContextRefName("pctxRef2");
+      pctxRef.setJndiName(pctxRef.getPersistenceContextRefName() + "Override");
+      pctxRefs.add(pctxRef);
+      pctxRef = new PersistenceContextReferenceMetaData();
+      pctxRef.setPersistenceContextRefName("pctxRef3");
+      pctxRef.setJndiName(pctxRef.getPersistenceContextRefName() + "Override");
+      pctxRefs.add(pctxRef);
+      overrideEnv.setPersistenceContextRefs(pctxRefs);
+      
+      pUnitRefs = new PersistenceUnitReferencesMetaData();
+      pUnitRef = new PersistenceUnitReferenceMetaData();
+      pUnitRef.setPersistenceUnitRefName("pUnitRef2");
+      pUnitRef.setJndiName(pUnitRef.getPersistenceUnitRefName() + "Override");
+      pUnitRefs.add(pUnitRef);
+      pUnitRef = new PersistenceUnitReferenceMetaData();
+      pUnitRef.setPersistenceUnitRefName("pUnitRef3");
+      pUnitRef.setJndiName(pUnitRef.getPersistenceUnitRefName() + "Override");
+      pUnitRefs.add(pUnitRef);
+      overrideEnv.setPersistenceUnitRefs(pUnitRefs);
+      
+      callbacks = new LifecycleCallbacksMetaData();
+      callback = new LifecycleCallbackMetaData();
+      callback.setClassName("class2");
+      callback.setMethodName("postCtor2Override");
+      callbacks.add(callback);
+      callback = new LifecycleCallbackMetaData();
+      callback.setClassName("class3");
+      callback.setMethodName("postCtor3Override");
+      callbacks.add(callback);
+      overrideEnv.setPostConstructs(callbacks);
+
+      callbacks = new LifecycleCallbacksMetaData();
+      callback = new LifecycleCallbackMetaData();
+      callback.setClassName("class2");
+      callback.setMethodName("preDestroy2Override");
+      callbacks.add(callback);
+      callback = new LifecycleCallbackMetaData();
+      callback.setClassName("class3");
+      callback.setMethodName("preDestroy3Override");
+      callbacks.add(callback);
+      overrideEnv.setPreDestroys(callbacks);
+
+      resEnvRefs = new ResourceEnvironmentReferencesMetaData();
+      resEnvRef = new ResourceEnvironmentReferenceMetaData();
+      resEnvRef.setResourceEnvRefName("resEnvRef2");
+      resEnvRef.setJndiName(resEnvRef.getResourceEnvRefName() + "Override");
+      resEnvRefs.add(resEnvRef);
+      resEnvRef = new ResourceEnvironmentReferenceMetaData();
+      resEnvRef.setResourceEnvRefName("resEnvRef3");
+      resEnvRef.setJndiName(resEnvRef.getResourceEnvRefName() + "Override");
+      resEnvRefs.add(resEnvRef);
+      overrideEnv.setResourceEnvironmentReferences(resEnvRefs);
+      
+      resRefs = new ResourceReferencesMetaData();
+      resRef = new ResourceReferenceMetaData();
+      resRef.setResourceRefName("resRef2");
+      resRef.setJndiName(resRef.getResourceRefName() + "Override");
+      resRefs.add(resRef);
+      overrideEnv.setResourceReferences(resRefs);
+
+      serviceRefs = new JBossServiceReferencesMetaData();
+      serviceRef = new JBossServiceReferenceMetaData();
+      serviceRef.setServiceRefName("serviceRef2");
+      serviceRef.setJndiName(serviceRef.getServiceRefName() + "Override");
+      serviceRefs.add(serviceRef);
+      serviceRef = new JBossServiceReferenceMetaData();
+      serviceRef.setServiceRefName("serviceRef3");
+      serviceRef.setJndiName(serviceRef.getServiceRefName() + "Override");
+      serviceRefs.add(serviceRef);
+      overrideEnv.setServiceReferences(serviceRefs);
+      
       // merged
       JBossSessionBeanMetaData merged = new JBossSessionBeanMetaData();
       merged.merge(override, original);
@@ -356,5 +564,98 @@
       ejbRef = ejbRefs.get("ejbRef2");
       assertNotNull(ejbRef);
       assertEquals(ejbRef.getEjbRefName() + "Override", ejbRef.getJndiName());
+      
+      envEntries = mergedEnv.getEnvironmentEntries();
+      assertNotNull(envEntries);
+      assertEquals(3, envEntries.size());
+      envEntry = envEntries.get("entry1");
+      assertNotNull(envEntry);
+      assertEquals(envEntry.getEnvEntryName() + "Original", envEntry.getJndiName());
+      envEntry = envEntries.get("entry2");
+      assertNotNull(envEntry);
+      assertEquals(envEntry.getEnvEntryName() + "Override", envEntry.getJndiName());
+      envEntry = envEntries.get("entry3");
+      assertNotNull(envEntry);
+      assertEquals(envEntry.getEnvEntryName() + "Override", envEntry.getJndiName());
+      
+      destRefs = mergedEnv.getMessageDestinationReferences();
+      assertNotNull(destRefs);
+      assertEquals(2, destRefs.size());
+      destRef = destRefs.get("destRef1");
+      assertNotNull(destRef);
+      assertEquals(destRef.getMessageDestinationRefName() + "Original", destRef.getJndiName());
+      destRef = destRefs.get("destRef2");
+      assertNotNull(destRef);
+      assertEquals(destRef.getMessageDestinationRefName() + "Override", destRef.getJndiName());
+      
+      pctxRefs = mergedEnv.getPersistenceContextRefs();
+      assertNotNull(pctxRefs);
+      assertEquals(3, pctxRefs.size());
+      pctxRef = pctxRefs.get("pctxRef1");
+      assertNotNull(pctxRef);
+      assertEquals(pctxRef.getPersistenceContextRefName() + "Original", pctxRef.getJndiName());
+      pctxRef = pctxRefs.get("pctxRef2");
+      assertNotNull(pctxRef);
+      assertEquals(pctxRef.getPersistenceContextRefName() + "Override", pctxRef.getJndiName());
+      pctxRef = pctxRefs.get("pctxRef3");
+      assertNotNull(pctxRef);
+      assertEquals(pctxRef.getPersistenceContextRefName() + "Override", pctxRef.getJndiName());
+      
+      pUnitRefs = mergedEnv.getPersistenceUnitRefs();
+      assertNotNull(pUnitRefs);
+      assertEquals(3, pUnitRefs.size());
+      pUnitRef = pUnitRefs.get("pUnitRef1");
+      assertNotNull(pUnitRef);
+      assertEquals(pUnitRef.getPersistenceUnitRefName() + "Original", pUnitRef.getJndiName());
+      pUnitRef = pUnitRefs.get("pUnitRef2");
+      assertNotNull(pUnitRef);
+      assertEquals(pUnitRef.getPersistenceUnitRefName() + "Override", pUnitRef.getJndiName());
+      pUnitRef = pUnitRefs.get("pUnitRef3");
+      assertNotNull(pUnitRef);
+      assertEquals(pUnitRef.getPersistenceUnitRefName() + "Override", pUnitRef.getJndiName());
+      
+      callbacks = mergedEnv.getPostConstructs();
+      assertNotNull(callbacks);
+      assertEquals(4, callbacks.size());
+
+      callbacks = mergedEnv.getPreDestroys();
+      assertNotNull(callbacks);
+      assertEquals(4, callbacks.size());
+
+      resEnvRefs = mergedEnv.getResourceEnvironmentReferences();
+      assertNotNull(resEnvRefs);
+      assertEquals(3, resEnvRefs.size());
+      resEnvRef = resEnvRefs.get("resEnvRef1");
+      assertNotNull(resEnvRef);
+      assertEquals(resEnvRef.getResourceEnvRefName() + "Original", resEnvRef.getJndiName());
+      resEnvRef = resEnvRefs.get("resEnvRef2");
+      assertNotNull(resEnvRef);
+      assertEquals(resEnvRef.getResourceEnvRefName() + "Override", resEnvRef.getJndiName());
+      resEnvRef = resEnvRefs.get("resEnvRef3");
+      assertNotNull(resEnvRef);
+      assertEquals(resEnvRef.getResourceEnvRefName() + "Override", resEnvRef.getJndiName());
+      
+      resRefs = mergedEnv.getResourceReferences();
+      assertNotNull(resRefs);
+      assertEquals(2, resRefs.size());
+      resRef = resRefs.get("resRef1");
+      assertNotNull(resRef);
+      assertEquals(resRef.getResourceRefName() + "Original", resRef.getJndiName());
+      resRef = resRefs.get("resRef2");
+      assertNotNull(resRef);
+      assertEquals(resRef.getResourceRefName() + "Override", resRef.getJndiName());
+      
+      serviceRefs = (JBossServiceReferencesMetaData) mergedEnv.getServiceReferences();
+      assertNotNull(serviceRefs);
+      assertEquals(3, serviceRefs.size());
+      serviceRef = (JBossServiceReferenceMetaData) serviceRefs.get("serviceRef1");
+      assertNotNull(serviceRef);
+      assertEquals(serviceRef.getServiceRefName() + "Original", serviceRef.getJndiName());      
+      serviceRef = (JBossServiceReferenceMetaData) serviceRefs.get("serviceRef2");
+      assertNotNull(serviceRef);
+      assertEquals(serviceRef.getServiceRefName() + "Override", serviceRef.getJndiName());      
+      serviceRef = (JBossServiceReferenceMetaData) serviceRefs.get("serviceRef3");
+      assertNotNull(serviceRef);
+      assertEquals(serviceRef.getServiceRefName() + "Override", serviceRef.getJndiName());      
    }
 }




More information about the jboss-cvs-commits mailing list