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

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Aug 29 09:06:49 EDT 2008


Author: emuckenhuber
Date: 2008-08-29 09:06:49 -0400 (Fri, 29 Aug 2008)
New Revision: 77650

Modified:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/NamedMethodMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/RemoveMethodsMetaData.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/jbmeta98/OverrideRemoveMethodUnitTestCase.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/jbmeta98/RemoveBean.java
   projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/annotation/jbmeta98/ejb-jar.xml
Log:
[JBMETA-98] part three on removeMethods

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/NamedMethodMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/NamedMethodMetaData.java	2008-08-29 12:44:42 UTC (rev 77649)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/NamedMethodMetaData.java	2008-08-29 13:06:49 UTC (rev 77650)
@@ -102,29 +102,29 @@
       NamedMethodMetaData other = (NamedMethodMetaData) o;
       if(this.getMethodName() == null)
       {
-         if(this.getMethodName() != other.getMethodName())
+         if(other.getMethodName() != null)
             return false;
       }
       else if(! this.getMethodName().equals(other.getMethodName()))
          return false;
 
-      
       if(this.methodParams == null
             && other.methodParams == null)
          return true;
       
       if(this.methodParams == null
             && other.methodParams != null
-            && other.methodParams.isEmpty())
+            && other.methodParams.size() == 0)
          return true;
       
-      if(other.methodParams != null
+      if(other.methodParams == null
             && this.methodParams != null
-            && this.methodParams.isEmpty())
+            && this.methodParams.size() == 0)
          return true;
       
       if(this.methodParams != null
             && other.methodParams != null
+            && this.methodParams.size() == other.methodParams.size()
             && this.methodParams.equals(other.methodParams))
          return true;
       

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/RemoveMethodsMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/RemoveMethodsMetaData.java	2008-08-29 12:44:42 UTC (rev 77649)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/RemoveMethodsMetaData.java	2008-08-29 13:06:49 UTC (rev 77650)
@@ -22,8 +22,6 @@
 package org.jboss.metadata.ejb.spec;
 
 import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
 
 /**
  * RemoveMethodsMetaData.
@@ -50,19 +48,25 @@
       {
          if(original != null)
          {
+            this.addAll(original);
             for(RemoveMethodMetaData overrideMethod : override)
             {
-               RemoveMethodMetaData merged = new RemoveMethodMetaData();
-               RemoveMethodMetaData originalMethod = findRemoveMethod(overrideMethod, original);
-               if(overrideMethod.getId() != null)
-                  merged.setId(overrideMethod.getId());
-               else if(originalMethod != null && originalMethod.getId() != null)
-                  merged.setId(originalMethod.getId());
-               
-               merged.setBeanMethod(overrideMethod.getBeanMethod());
-               // JBMETA-98 - merge retainIfException
-               merged.mergeRetainifException(overrideMethod, originalMethod);
-               this.add(merged);
+               RemoveMethodMetaData merged = findRemoveMethod(overrideMethod);
+               if(merged != null)
+               {
+                  if(overrideMethod.getId() != null)
+                     merged.setId(overrideMethod.getId());
+                  else if(merged.getId() != null)
+                     merged.setId(merged.getId());
+                  
+                  merged.setBeanMethod(overrideMethod.getBeanMethod());
+                  // JBMETA-98 - merge retainIfException
+                  merged.mergeRetainifException(overrideMethod, merged);
+               }
+               else
+               {
+                  this.add(overrideMethod);
+               }
             }
          }
          else
@@ -76,11 +80,11 @@
       }
    }
    
-   private RemoveMethodMetaData findRemoveMethod(RemoveMethodMetaData removeMethod, RemoveMethodsMetaData removeMethods)
+   private RemoveMethodMetaData findRemoveMethod(RemoveMethodMetaData removeMethod)
    {
-      if(removeMethod == null || removeMethods == null) return null;
+      if(removeMethod == null) return null;
       
-      for(RemoveMethodMetaData removeMethod2 : removeMethods)
+      for(RemoveMethodMetaData removeMethod2 : this)
       {
          if(removeMethod.equals(removeMethod2, false))
          {

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/jbmeta98/OverrideRemoveMethodUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/jbmeta98/OverrideRemoveMethodUnitTestCase.java	2008-08-29 12:44:42 UTC (rev 77649)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/jbmeta98/OverrideRemoveMethodUnitTestCase.java	2008-08-29 13:06:49 UTC (rev 77650)
@@ -33,6 +33,7 @@
 import org.jboss.metadata.ejb.spec.EjbJar30MetaData;
 import org.jboss.metadata.ejb.spec.EjbJar3xMetaData;
 import org.jboss.metadata.ejb.spec.RemoveMethodMetaData;
+import org.jboss.metadata.ejb.spec.RemoveMethodsMetaData;
 import org.jboss.test.metadata.common.PackageScanner;
 import org.jboss.test.metadata.common.ScanPackage;
 import org.jboss.test.metadata.javaee.AbstractJavaEEMetaDataTest;
@@ -82,25 +83,42 @@
       mergedMetaData.merge(jbossMetaData, specMerged);
       
       JBossSessionBeanMetaData sb = (JBossSessionBeanMetaData) mergedMetaData.getEnterpriseBean("RemoveBean");
-      assertNotNull(sb.getRemoveMethods());
-      assertEquals(3, sb.getRemoveMethods().size());
+      RemoveMethodsMetaData removeMethods = sb.getRemoveMethods();
       
-      RemoveMethodMetaData removeMethod = sb.getRemoveMethods().get(0);
+      assertNotNull(removeMethods);
+      assertEquals(5, removeMethods.size());
+
+      RemoveMethodMetaData removeMethod = removeMethods.get(0);
       assertNotNull(removeMethod);
-      assertEquals("retain", removeMethod.getBeanMethod().getMethodName());
-      assertNull(removeMethod.getBeanMethod().getMethodParams());
+      assertEquals("remove", removeMethod.getBeanMethod().getMethodName());
+      assertNotNull(removeMethod.getBeanMethod().getMethodParams());
+      assertEquals(1, removeMethod.getBeanMethod().getMethodParams().size());
+      assertFalse(removeMethod.isRetainIfException());
+
+      removeMethod = removeMethods.get(1);
+      assertNotNull(removeMethod);
+      assertEquals("remove", removeMethod.getBeanMethod().getMethodName());
+      assertNotNull(removeMethod.getBeanMethod().getMethodParams());
+      assertEquals(2, removeMethod.getBeanMethod().getMethodParams().size());
       assertTrue(removeMethod.isRetainIfException());
       
-      removeMethod = sb.getRemoveMethods().get(1);
+      removeMethod = removeMethods.get(2);
       assertNotNull(removeMethod);
       assertEquals("retain", removeMethod.getBeanMethod().getMethodName());
+      assertNotNull(removeMethod.getBeanMethod().getMethodParams());
       assertEquals("boolean", removeMethod.getBeanMethod().getMethodParams().get(0));
       assertFalse(removeMethod.isRetainIfException());
+      
+      removeMethod = removeMethods.get(3);
+      assertNotNull(removeMethod);
+      assertEquals("retain", removeMethod.getBeanMethod().getMethodName());
+      assertNull(removeMethod.getBeanMethod().getMethodParams());
+      assertTrue(removeMethod.isRetainIfException());
 
-      removeMethod = sb.getRemoveMethods().get(2);
+      removeMethod = removeMethods.get(4);
       assertNotNull(removeMethod);
-      assertEquals("remove2", removeMethod.getBeanMethod().getMethodName());
-      assertNull(removeMethod.getBeanMethod().getMethodParams());
+      assertEquals("remove", removeMethod.getBeanMethod().getMethodName());
+      assertTrue(removeMethod.getBeanMethod().getMethodParams().isEmpty());
       assertFalse(removeMethod.isRetainIfException());
       
    }

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/jbmeta98/RemoveBean.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/jbmeta98/RemoveBean.java	2008-08-29 12:44:42 UTC (rev 77649)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/jbmeta98/RemoveBean.java	2008-08-29 13:06:49 UTC (rev 77650)
@@ -32,12 +32,24 @@
 public class RemoveBean
 {
    
-   @Remove
+//   @Remove(retainIfException = true)
    public void remove()
    {
       //
    }
    
+   @Remove
+   public void remove(boolean bool1)
+   {
+      //
+   }
+   
+   @Remove(retainIfException = true)
+   public void remove(boolean bool1, boolean bool2)
+   {
+      //
+   }
+   
    @Remove(retainIfException = false)
    public void retain(boolean bool)
    {

Modified: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/annotation/jbmeta98/ejb-jar.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/annotation/jbmeta98/ejb-jar.xml	2008-08-29 12:44:42 UTC (rev 77649)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/annotation/jbmeta98/ejb-jar.xml	2008-08-29 13:06:49 UTC (rev 77650)
@@ -12,7 +12,7 @@
                 <bean-method>
                     <method-name>retain</method-name>
                 </bean-method>
-                <!-- specify it in annotation
+                <!-- specified in the annotation
                 <retain-if-exception>true</retain-if-exception>
                 -->
             </remove-method>
@@ -23,16 +23,39 @@
                     	<method-param>boolean</method-param>
                     </method-params>
                 </bean-method>
-                <!-- specify it in annotation
+                <!-- specified in the annotation
                 <retain-if-exception>true</retain-if-exception>
                 -->
             </remove-method>
             <remove-method>
                 <bean-method>
-                    <method-name>remove2</method-name>
+                    <method-name>remove</method-name>
+					<method-params>
+                    </method-params>
                 </bean-method>
+                <!--  the default value is false
                 <retain-if-exception>false</retain-if-exception>
+                 -->
             </remove-method>
+            <!-- annotation
+            <remove-method>
+                <bean-method>
+                    <method-name>remove</method-name>
+                    <method-params>
+                    	<method-param>boolean</method-param>
+                    </method-params>
+                </bean-method>
+            </remove-method>
+                        <remove-method>
+                <bean-method>
+                    <method-name>remove</method-name>
+                    <method-params>
+                    	<method-param>boolean</method-param>
+                    	<method-param>boolean</method-param>
+                    </method-params>
+                </bean-method>
+            </remove-method>
+             -->
             <transaction-type>Container</transaction-type>
             <security-identity>
                 <use-caller-identity/>




More information about the jboss-cvs-commits mailing list