[jboss-cvs] JBossAS SVN: r67097 - in projects/metadata/trunk/src: test/java/org/jboss/test/metadata/ejb and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Nov 14 16:23:18 EST 2007


Author: alex.loubyansky at jboss.com
Date: 2007-11-14 16:23:18 -0500 (Wed, 14 Nov 2007)
New Revision: 67097

Modified:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/InvokerBindingMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss5xEverythingUnitTestCase.java
   projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss5xEverything_testEverything.xml
Log:
invoker/ejb-ref support

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/InvokerBindingMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/InvokerBindingMetaData.java	2007-11-14 20:40:41 UTC (rev 67096)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/InvokerBindingMetaData.java	2007-11-14 21:23:18 UTC (rev 67097)
@@ -21,6 +21,8 @@
 */
 package org.jboss.metadata.ejb.jboss;
 
+import java.util.List;
+
 import org.jboss.metadata.javaee.support.NamedMetaDataWithDescriptions;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
@@ -75,10 +77,9 @@
 
    /** The jndi name */
    private String jndiName;
-
-   /** The ejb ref */
-   private String ejbRefName;
    
+   private List<EjbRef> ejbRefs;
+   
    /**
     * Get the jndiName.
     * 
@@ -124,13 +125,13 @@
    }
 
    /**
-    * Get the ejbRefName.
+    * Get the list of ejb-ref
     * 
-    * @return the ejbRefName.
+    * @return the list of ejb-ref.
     */
-   public String getEjbRefName()
+   public List<EjbRef> getEjbRefs()
    {
-      return ejbRefName;
+      return ejbRefs;
    }
 
    /**
@@ -140,10 +141,34 @@
     * @throws IllegalArgumentException for a null ejbRefName
     */
    @XmlElement(name="ejb-ref")
-   public void setEjbRefName(String ejbRefName)
+   public void setEjbRefs(List<EjbRef> ejbRefs)
    {
-      if (ejbRefName == null)
-         throw new IllegalArgumentException("Null ejbRefName");
-      this.ejbRefName = ejbRefName;
+      this.ejbRefs = ejbRefs;
    }
+   
+   public static class EjbRef
+   {
+      private String ejbRefName;
+      private String jndiName;
+      
+      public String getEjbRefName()
+      {
+         return ejbRefName;
+      }
+      
+      public void setEjbRefName(String ejbRef)
+      {
+         this.ejbRefName = ejbRef;
+      }
+      
+      public String getJndiName()
+      {
+         return jndiName;
+      }
+      
+      public void setJndiName(String jndiName)
+      {
+         this.jndiName = jndiName;
+      }
+   }
 }

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	2007-11-14 20:40:41 UTC (rev 67096)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java	2007-11-14 21:23:18 UTC (rev 67097)
@@ -1503,13 +1503,15 @@
       {
          for (InvokerBindingMetaData invokerBinding : invokerBindings)
          {
-            String ejbRefName = invokerBinding.getEjbRefName();
-            if (ejbRefName != null)
+            if(invokerBinding.getEjbRefs() != null)
             {
-               EJBReferenceMetaData ejbRef = jndiEnvironmentRefsGroup.getEjbReferenceByName(ejbRefName);
-               if (ejbRef == null)
-                  throw new IllegalStateException("ejb-ref " + ejbRefName + " found on invoker " + invokerBinding.getName() + " but it does not exist for ejb: " + getName());
-               ejbRef.addInvokerBinding(invokerBinding.getName(), invokerBinding.getJndiName());
+               for(InvokerBindingMetaData.EjbRef ejbRef : invokerBinding.getEjbRefs())
+               {
+                  EJBReferenceMetaData targetEjbRef = jndiEnvironmentRefsGroup.getEjbReferenceByName(ejbRef.getEjbRefName());
+                  if (targetEjbRef == null)
+                     throw new IllegalStateException("ejb-ref " + ejbRef.getEjbRefName() + " found on invoker " + invokerBinding.getName() + " but it does not exist for ejb: " + getName());
+                  targetEjbRef.addInvokerBinding(invokerBinding.getName(), ejbRef.getJndiName());
+               }
             }
          }
       }

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	2007-11-14 20:40:41 UTC (rev 67096)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss5xEverythingUnitTestCase.java	2007-11-14 21:23:18 UTC (rev 67097)
@@ -23,6 +23,7 @@
 
 import java.util.Collection;
 import java.util.HashSet;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
@@ -54,6 +55,7 @@
 import org.jboss.metadata.ejb.jboss.ResourceManagerMetaData;
 import org.jboss.metadata.ejb.jboss.ResourceManagersMetaData;
 import org.jboss.metadata.ejb.jboss.WebservicesMetaData;
+import org.jboss.metadata.ejb.jboss.InvokerBindingMetaData.EjbRef;
 import org.jboss.metadata.ejb.spec.SecurityIdentityMetaData;
 import org.jboss.metadata.javaee.spec.MessageDestinationMetaData;
 import org.jboss.metadata.javaee.spec.ResourceInjectionMetaData;
@@ -1134,19 +1136,31 @@
       int count = 1;
       for (InvokerBindingMetaData binding : bindings)
       {
-         assertInvokerBinding(prefix + "Invoker" + count, count, binding);
+         assertInvokerBinding(prefix, count, binding);
          ++count;
       }
    }
    
-   private void assertInvokerBinding(String prefix, int count, InvokerBindingMetaData binding)
+   private void assertInvokerBinding(String ejbPrefix, int count, InvokerBindingMetaData binding)
    {
+      String invokerPrefix = ejbPrefix + "Invoker" + count;
       assertNotNull(binding);
-      assertId(prefix, binding);
-      assertDescriptions(prefix, binding.getDescriptions());
+      assertId(invokerPrefix, binding);
+      assertDescriptions(invokerPrefix, binding.getDescriptions());
       assertEquals("invokerProxyBinding"+count+"Name", binding.getInvokerProxyBindingName());
-      assertEquals(prefix + "JndiName", binding.getJndiName());
+      assertEquals(invokerPrefix + "JndiName", binding.getJndiName());
       // TODO LAST ejb-ref - needs a seperate test
+      List<EjbRef> ejbRefs = binding.getEjbRefs();
+      assertNotNull(ejbRefs);
+      assertEquals(count, ejbRefs.size());
+      int i = 1;
+      for(InvokerBindingMetaData.EjbRef ejbRef : ejbRefs)
+      {
+         assertNotNull(ejbRef);
+         assertEquals(ejbPrefix + "EjbRef" + i + "Name", ejbRef.getEjbRefName());
+         assertEquals(invokerPrefix + "EjbName" + i, ejbRef.getJndiName());
+         ++i;
+      }
    }
    
    private void assertResourceManagers(ResourceManagersMetaData resources)

Modified: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss5xEverything_testEverything.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss5xEverything_testEverything.xml	2007-11-14 20:40:41 UTC (rev 67096)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss5xEverything_testEverything.xml	2007-11-14 21:23:18 UTC (rev 67097)
@@ -118,7 +118,11 @@
                
                <invoker-proxy-binding-name>invokerProxyBinding1Name</invoker-proxy-binding-name>
                <jndi-name>session1Invoker1JndiName</jndi-name>
-               <!-- TODO ejb-ref -->
+
+               <ejb-ref>
+                  <ejb-ref-name>session1EjbRef1Name</ejb-ref-name>
+                  <jndi-name>session1Invoker1EjbName1</jndi-name>
+               </ejb-ref>
             </invoker>
             <invoker id="session1Invoker2-id">
                <description>en-session1Invoker2-desc</description>
@@ -127,7 +131,15 @@
                
                <invoker-proxy-binding-name>invokerProxyBinding2Name</invoker-proxy-binding-name>
                <jndi-name>session1Invoker2JndiName</jndi-name>
-               <!-- TODO ejb-ref -->
+
+               <ejb-ref>
+                  <ejb-ref-name>session1EjbRef1Name</ejb-ref-name>
+                  <jndi-name>session1Invoker2EjbName1</jndi-name>
+               </ejb-ref>
+               <ejb-ref>
+                  <ejb-ref-name>session1EjbRef2Name</ejb-ref-name>
+                  <jndi-name>session1Invoker2EjbName2</jndi-name>
+               </ejb-ref>
             </invoker>
          </invoker-bindings>
          
@@ -567,7 +579,11 @@
                
                <invoker-proxy-binding-name>invokerProxyBinding1Name</invoker-proxy-binding-name>
                <jndi-name>session2Invoker1JndiName</jndi-name>
-               <!-- TODO ejb-ref -->
+
+               <ejb-ref>
+                  <ejb-ref-name>session2EjbRef1Name</ejb-ref-name>
+                  <jndi-name>session2Invoker1EjbName1</jndi-name>
+               </ejb-ref>
             </invoker>
             <invoker id="session2Invoker2-id">
                <description>en-session2Invoker2-desc</description>
@@ -576,7 +592,15 @@
                
                <invoker-proxy-binding-name>invokerProxyBinding2Name</invoker-proxy-binding-name>
                <jndi-name>session2Invoker2JndiName</jndi-name>
-               <!-- TODO ejb-ref -->
+
+               <ejb-ref>
+                  <ejb-ref-name>session2EjbRef1Name</ejb-ref-name>
+                  <jndi-name>session2Invoker2EjbName1</jndi-name>
+               </ejb-ref>
+               <ejb-ref>
+                  <ejb-ref-name>session2EjbRef2Name</ejb-ref-name>
+                  <jndi-name>session2Invoker2EjbName2</jndi-name>
+               </ejb-ref>
             </invoker>
          </invoker-bindings>
          
@@ -1008,7 +1032,11 @@
                
                <invoker-proxy-binding-name>invokerProxyBinding1Name</invoker-proxy-binding-name>
                <jndi-name>entity1Invoker1JndiName</jndi-name>
-               <!-- TODO ejb-ref -->
+
+               <ejb-ref>
+                  <ejb-ref-name>entity1EjbRef1Name</ejb-ref-name>
+                  <jndi-name>entity1Invoker1EjbName1</jndi-name>
+               </ejb-ref>
             </invoker>
             <invoker id="entity1Invoker2-id">
                <description>en-entity1Invoker2-desc</description>
@@ -1017,7 +1045,15 @@
                
                <invoker-proxy-binding-name>invokerProxyBinding2Name</invoker-proxy-binding-name>
                <jndi-name>entity1Invoker2JndiName</jndi-name>
-               <!-- TODO ejb-ref -->
+
+               <ejb-ref>
+                  <ejb-ref-name>entity1EjbRef1Name</ejb-ref-name>
+                  <jndi-name>entity1Invoker2EjbName1</jndi-name>
+               </ejb-ref>
+               <ejb-ref>
+                  <ejb-ref-name>entity1EjbRef2Name</ejb-ref-name>
+                  <jndi-name>entity1Invoker2EjbName2</jndi-name>
+               </ejb-ref>
             </invoker>
          </invoker-bindings>
          
@@ -1425,7 +1461,11 @@
                
                <invoker-proxy-binding-name>invokerProxyBinding1Name</invoker-proxy-binding-name>
                <jndi-name>entity2Invoker1JndiName</jndi-name>
-               <!-- TODO ejb-ref -->
+
+               <ejb-ref>
+                  <ejb-ref-name>entity2EjbRef1Name</ejb-ref-name>
+                  <jndi-name>entity2Invoker1EjbName1</jndi-name>
+               </ejb-ref>
             </invoker>
             <invoker id="entity2Invoker2-id">
                <description>en-entity2Invoker2-desc</description>
@@ -1434,7 +1474,15 @@
                
                <invoker-proxy-binding-name>invokerProxyBinding2Name</invoker-proxy-binding-name>
                <jndi-name>entity2Invoker2JndiName</jndi-name>
-               <!-- TODO ejb-ref -->
+
+               <ejb-ref>
+                  <ejb-ref-name>entity2EjbRef1Name</ejb-ref-name>
+                  <jndi-name>entity2Invoker2EjbName1</jndi-name>
+               </ejb-ref>
+               <ejb-ref>
+                  <ejb-ref-name>entity2EjbRef2Name</ejb-ref-name>
+                  <jndi-name>entity2Invoker2EjbName2</jndi-name>
+               </ejb-ref>
             </invoker>
          </invoker-bindings>
          
@@ -1849,7 +1897,11 @@
                
                <invoker-proxy-binding-name>invokerProxyBinding1Name</invoker-proxy-binding-name>
                <jndi-name>mdb1Invoker1JndiName</jndi-name>
-               <!-- TODO ejb-ref -->
+
+               <ejb-ref>
+                  <ejb-ref-name>mdb1EjbRef1Name</ejb-ref-name>
+                  <jndi-name>mdb1Invoker1EjbName1</jndi-name>
+               </ejb-ref>
             </invoker>
             <invoker id="mdb1Invoker2-id">
                <description>en-mdb1Invoker2-desc</description>
@@ -1858,7 +1910,15 @@
                
                <invoker-proxy-binding-name>invokerProxyBinding2Name</invoker-proxy-binding-name>
                <jndi-name>mdb1Invoker2JndiName</jndi-name>
-               <!-- TODO ejb-ref -->
+
+               <ejb-ref>
+                  <ejb-ref-name>mdb1EjbRef1Name</ejb-ref-name>
+                  <jndi-name>mdb1Invoker2EjbName1</jndi-name>
+               </ejb-ref>
+               <ejb-ref>
+                  <ejb-ref-name>mdb1EjbRef2Name</ejb-ref-name>
+                  <jndi-name>mdb1Invoker2EjbName2</jndi-name>
+               </ejb-ref>
             </invoker>
          </invoker-bindings>
          
@@ -2263,7 +2323,10 @@
                
                <invoker-proxy-binding-name>invokerProxyBinding1Name</invoker-proxy-binding-name>
                <jndi-name>mdb2Invoker1JndiName</jndi-name>
-               <!-- TODO ejb-ref -->
+               <ejb-ref>
+                  <ejb-ref-name>mdb2EjbRef1Name</ejb-ref-name>
+                  <jndi-name>mdb2Invoker1EjbName1</jndi-name>
+               </ejb-ref>
             </invoker>
             <invoker id="mdb2Invoker2-id">
                <description>en-mdb2Invoker2-desc</description>
@@ -2272,7 +2335,15 @@
                
                <invoker-proxy-binding-name>invokerProxyBinding2Name</invoker-proxy-binding-name>
                <jndi-name>mdb2Invoker2JndiName</jndi-name>
-               <!-- TODO ejb-ref -->
+
+               <ejb-ref>
+                  <ejb-ref-name>mdb2EjbRef1Name</ejb-ref-name>
+                  <jndi-name>mdb2Invoker2EjbName1</jndi-name>
+               </ejb-ref>
+               <ejb-ref>
+                  <ejb-ref-name>mdb2EjbRef2Name</ejb-ref-name>
+                  <jndi-name>mdb2Invoker2EjbName2</jndi-name>
+               </ejb-ref>
             </invoker>
          </invoker-bindings>
          




More information about the jboss-cvs-commits mailing list