[jboss-cvs] JBossAS SVN: r75375 - in projects/metadata/trunk/src: test/java/org/jboss/test/metadata/annotation/ejb3/runas and 2 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Jul 4 04:30:27 EDT 2008


Author: emuckenhuber
Date: 2008-07-04 04:30:27 -0400 (Fri, 04 Jul 2008)
New Revision: 75375

Modified:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/InvokerProxyBindingsMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/WebservicesMetaData.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/runas/RunAsUnitTestCase.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJarJBossMergeEverythingUnitTestCase.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss5xEverythingUnitTestCase.java
   projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/annotation/ejb3/runas/jboss.xml
Log:
[JBMETA-45] more bugs in merges

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/InvokerProxyBindingsMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/InvokerProxyBindingsMetaData.java	2008-07-04 08:03:49 UTC (rev 75374)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/InvokerProxyBindingsMetaData.java	2008-07-04 08:30:27 UTC (rev 75375)
@@ -58,4 +58,13 @@
          return;
       this.addAll(extra);
    }
+   
+   public void merge(InvokerProxyBindingsMetaData override, InvokerProxyBindingsMetaData original)
+   {
+      super.merge(override, original);
+      
+      // addAll
+      merge(override);
+      merge(original);
+   }
 }

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-07-04 08:03:49 UTC (rev 75374)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaData.java	2008-07-04 08:30:27 UTC (rev 75375)
@@ -920,7 +920,8 @@
 
       if (overrideWebservices != null || originalWebservices != null)
       {
-         webservices = new WebservicesMetaData();
+         if(webservices == null)
+            webservices = new WebservicesMetaData();
          webservices.merge(overrideWebservices, originalWebservices);
       }
 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/WebservicesMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/WebservicesMetaData.java	2008-07-04 08:03:49 UTC (rev 75374)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/WebservicesMetaData.java	2008-07-04 08:30:27 UTC (rev 75375)
@@ -91,12 +91,25 @@
       this.webserviceDescriptions = webserviceDescriptions;
    }
 
-   public void merge(WebservicesMetaData orignal)
+   public void merge(WebservicesMetaData original)
    {
-      if (orignal != null)
+      if (original != null)
       {
-         contextRoot = orignal.contextRoot;
-         webserviceDescriptions = orignal.webserviceDescriptions;
+         contextRoot = original.contextRoot;
+         webserviceDescriptions = original.webserviceDescriptions;
       }
    }
+   
+   public void merge(WebservicesMetaData override, WebservicesMetaData original)
+   {
+      super.merge(override, original);
+      if(override != null)
+      {
+         merge(override);
+      }
+      else if(override == null && original != null)
+      {
+         merge(original);
+      }
+   }
 }

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/runas/RunAsUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/runas/RunAsUnitTestCase.java	2008-07-04 08:03:49 UTC (rev 75374)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/runas/RunAsUnitTestCase.java	2008-07-04 08:30:27 UTC (rev 75375)
@@ -104,6 +104,8 @@
 
       // Now merge with the annotation data
       mergedData.merge(null, specMerged);
+      
+      assertEquals("/webservicesContextRoot", mergedData.getWebservices().getContextRoot());
 
       // Validate the proxy view
       JBossEnterpriseBeanMetaData InterMediateBean = mergedData.getEnterpriseBean("InterMediateBean");

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJarJBossMergeEverythingUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJarJBossMergeEverythingUnitTestCase.java	2008-07-04 08:03:49 UTC (rev 75374)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJarJBossMergeEverythingUnitTestCase.java	2008-07-04 08:30:27 UTC (rev 75375)
@@ -35,13 +35,11 @@
 import org.jboss.metadata.annotation.creator.ejb.EjbJar30Creator;
 import org.jboss.metadata.annotation.finder.AnnotationFinder;
 import org.jboss.metadata.annotation.finder.DefaultAnnotationFinder;
-import org.jboss.metadata.ejb.jboss.InvokerBindingMetaData;
-import org.jboss.metadata.ejb.jboss.InvokerBindingsMetaData;
+import org.jboss.metadata.ejb.jboss.InvokerProxyBindingsMetaData;
 import org.jboss.metadata.ejb.jboss.JBoss50DTDMetaData;
 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.JBossMessageDrivenBeanMetaData;
 import org.jboss.metadata.ejb.jboss.JBossMetaData;
 import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
@@ -114,6 +112,7 @@
       assertNotNull(ejb);
       JBossSessionBeanMetaData jejb = (JBossSessionBeanMetaData) ejb;
       ejbJar.assertFullSessionBean("session1", jejb, Mode.JBOSS);
+      jboss.assertWebservices(jbossMetaData.getWebservices());
       
       {
          JBossMessageDrivenBeanMetaData mdb = (JBossMessageDrivenBeanMetaData) jbossMetaData.getEnterpriseBean("mdb1EjbName");
@@ -124,9 +123,87 @@
       
       // Basic check if EjbReferences.invokerBindings are merged
       assertEjbReferenceInvokerBindings(ejb);
+      assertInvokerBindings(jbossMetaData.getInvokerProxyBindings());
    }
 
    /**
+    * merge jbossMetaData more times
+    */
+   public void testEJB3xEverythingDualMerge() throws Exception
+   {
+      EjbJar3xMetaData ejbJarMetaData = unmarshal("EjbJar3xEverything_testEverything.xml", EjbJar30MetaData.class, null);
+      EjbJar3xEverythingUnitTestCase ejbJar = new EjbJar3xEverythingUnitTestCase("ejb-jar");
+      ejbJar.assertEverything(ejbJarMetaData, Mode.SPEC);
+
+      JBossMetaData specMetaData = new JBossMetaData();
+      specMetaData.merge(null, ejbJarMetaData);
+      
+      JBoss50MetaData jbossMetaData = unmarshal("JBoss5xEverything_testEverything.xml", JBoss50MetaData.class, null);
+      JBoss5xEverythingUnitTestCase jboss = new JBoss5xEverythingUnitTestCase("jboss");
+      jboss.assertEverything(jbossMetaData, Mode.JBOSS);
+      jboss.assertWebservices(jbossMetaData.getWebservices());
+      
+      // Create the merged view
+      JBossMetaData mergedMetaData = new JBossMetaData();
+      mergedMetaData.merge(jbossMetaData, specMetaData);
+      
+      assertTrue(mergedMetaData.isEJB3x());
+      ejbJar.assertInterceptors(mergedMetaData, Mode.JBOSS);
+      
+      JBossEnterpriseBeanMetaData ejb = mergedMetaData.getEnterpriseBean("session1EjbName");      
+      assertNotNull(ejb);
+      JBossSessionBeanMetaData jejb = (JBossSessionBeanMetaData) ejb;
+      ejbJar.assertFullSessionBean("session1", jejb, Mode.JBOSS);
+      jboss.assertWebservices(mergedMetaData.getWebservices());
+      
+      {
+         JBossMessageDrivenBeanMetaData mdb = (JBossMessageDrivenBeanMetaData) mergedMetaData.getEnterpriseBean("mdb1EjbName");
+         ejbJar.assertActivationConfig("mdb1", mdb.getActivationConfig());
+      }
+      
+      ejbJar.assertInterceptorBindings(3, mergedMetaData.getAssemblyDescriptor().getInterceptorBindings());
+      
+      // Basic check if EjbReferences.invokerBindings are merged
+      assertEjbReferenceInvokerBindings(ejb);
+      assertInvokerBindings(mergedMetaData.getInvokerProxyBindings());
+   }
+
+   /**
+    * merge jbossMetaData more times
+    */
+   public void testEJB21EverythingDualMerge() throws Exception
+   {
+      EjbJar21MetaData ejbJarMetaData = unmarshal("EjbJar21Everything_testEverything.xml", EjbJar21MetaData.class, null);
+      EjbJar21EverythingUnitTestCase ejbJar = new EjbJar21EverythingUnitTestCase("ejb-jar");
+      ejbJar.assertEverything(ejbJarMetaData, Mode.SPEC);
+      
+      JBossMetaData specMetaData = new JBossMetaData();
+      specMetaData.merge(null, ejbJarMetaData);
+      
+      JBoss50MetaData jbossMetaData = unmarshal("JBoss5xEverything_testEverything.xml", JBoss50MetaData.class, null);
+      JBoss5xEverythingUnitTestCase jboss = new JBoss5xEverythingUnitTestCase("jboss");
+      jboss.assertEverything(jbossMetaData, Mode.JBOSS);
+      jboss.assertWebservices(jbossMetaData.getWebservices());
+
+      //jbossMetaData.setOverridenMetaData(ejbJarMetaData);
+      // Create the merged view
+      JBossMetaData mergedMetaData = new JBossMetaData();
+      mergedMetaData.merge(jbossMetaData, specMetaData);
+
+      assertTrue(mergedMetaData.isEJB2x());
+      
+      JBossEnterpriseBeanMetaData ejb = mergedMetaData.getEnterpriseBean("session1EjbName");      
+      assertNotNull(ejb);
+      JBossSessionBeanMetaData jejb = (JBossSessionBeanMetaData) ejb;
+      ejbJar.assertFullSessionBean("session1", jejb, Mode.JBOSS);
+      jboss.assertWebservices(mergedMetaData.getWebservices());
+      // Basic check if EjbReferences.invokerBindings are merged
+      assertEjbReferenceInvokerBindings(ejb);
+      assertInvokerBindings(mergedMetaData.getInvokerProxyBindings());
+   }
+   
+   
+   /**
     * Very basic merge test
     */
    public void testEJB21Everything() throws Exception
@@ -138,7 +215,8 @@
       JBoss50MetaData jbossMetaData = unmarshal("JBoss5xEverything_testEverything.xml", JBoss50MetaData.class, null);
       JBoss5xEverythingUnitTestCase jboss = new JBoss5xEverythingUnitTestCase("jboss");
       jboss.assertEverything(jbossMetaData, Mode.JBOSS);
-
+      jboss.assertWebservices(jbossMetaData.getWebservices());
+      
       //jbossMetaData.setOverridenMetaData(ejbJarMetaData);
       // Create the merged view
       jbossMetaData.merge(null, ejbJarMetaData);
@@ -149,6 +227,9 @@
       assertNotNull(ejb);
       JBossSessionBeanMetaData jejb = (JBossSessionBeanMetaData) ejb;
       ejbJar.assertFullSessionBean("session1", jejb, Mode.JBOSS);
+      // Basic check if EjbReferences.invokerBindings are merged
+      assertEjbReferenceInvokerBindings(ejb);
+      assertInvokerBindings(jbossMetaData.getInvokerProxyBindings());
    }
    
    /**
@@ -394,4 +475,12 @@
       assertEquals("session1Invoker1EjbName1", ejbRef.getInvokerBinding("invokerProxyBinding1Name"));
       assertEquals("session1Invoker2EjbName1", ejbRef.getInvokerBinding("invokerProxyBinding2Name"));
    }
+   
+   private void assertInvokerBindings(InvokerProxyBindingsMetaData invokers)
+   {
+      assertNotNull(invokers);
+      assertTrue(invokers.size() > 0);
+      assertNotNull(invokers.get("invokerProxyBinding1Name"));
+      assertNotNull(invokers.get("invokerProxyBinding2Name"));
+   }
 }
\ No newline at end of file

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss5xEverythingUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss5xEverythingUnitTestCase.java	2008-07-04 08:03:49 UTC (rev 75374)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss5xEverythingUnitTestCase.java	2008-07-04 08:30:27 UTC (rev 75375)
@@ -343,7 +343,7 @@
       }
    }
    
-   private void assertWebservices(WebservicesMetaData webservices)
+   public void assertWebservices(WebservicesMetaData webservices)
    {
       assertNotNull(webservices);
       assertId("webservices", webservices);

Modified: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/annotation/ejb3/runas/jboss.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/annotation/ejb3/runas/jboss.xml	2008-07-04 08:03:49 UTC (rev 75374)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/annotation/ejb3/runas/jboss.xml	2008-07-04 08:30:27 UTC (rev 75375)
@@ -6,7 +6,9 @@
 <jboss>
     <security-domain>java:/jaas/cts</security-domain>
     <missing-method-permissions-excluded-mode>false</missing-method-permissions-excluded-mode>
-    <webservices/>
+    <webservices>
+    	<context-root>/webservicesContextRoot</context-root>
+  	</webservices>
     <enterprise-beans>
         <session>
             <ejb-name>InterMediateBean</ejb-name>




More information about the jboss-cvs-commits mailing list