[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