[jboss-cvs] JBossAS SVN: r72930 - in projects/metadata/trunk/src: test/java/org/jboss/test/metadata/annotation/client and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu May 1 10:27:54 EDT 2008


Author: scott.stark at jboss.org
Date: 2008-05-01 10:27:54 -0400 (Thu, 01 May 2008)
New Revision: 72930

Modified:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/LifecycleCallbackMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/RemoteEnvironmentRefsGroupMetaData.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/client/AnnotationClientUnitTestCase.java
Log:
JBMETA-27, fix duplicates seen from merging of lifecycle metadata

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/LifecycleCallbackMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/LifecycleCallbackMetaData.java	2008-05-01 14:27:51 UTC (rev 72929)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/LifecycleCallbackMetaData.java	2008-05-01 14:27:54 UTC (rev 72930)
@@ -31,6 +31,7 @@
  * LifecycleCallbackMetaData.
  * 
  * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @author Scott.Stark at jboss.org
  * @version $Revision: 1.1 $
  */
 //@SchemaType(name="lifecycle-callbackType", mandatory=false)
@@ -101,4 +102,30 @@
          throw new IllegalArgumentException("Null methodName");
       this.methodName = methodName;
    }
+
+   @Override
+   public boolean equals(Object obj)
+   {
+      boolean equals = false;
+      if(obj instanceof LifecycleCallbackMetaData)
+      {
+         LifecycleCallbackMetaData lcmd = (LifecycleCallbackMetaData) obj;
+         if(className == lcmd.className ||
+            (className != null && className.equals(lcmd.className)) )
+         {
+            equals = methodName == lcmd.methodName
+               || methodName != null && methodName.equals(lcmd.methodName);
+         }
+      }
+      return equals;
+   }
+
+   @Override
+   public int hashCode()
+   {
+      int hashCode = className != null ? className.hashCode() : 0;
+      hashCode += methodName != null ? methodName.hashCode() : 0;
+      return hashCode;
+   }
+
 }

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-01 14:27:51 UTC (rev 72929)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/RemoteEnvironmentRefsGroupMetaData.java	2008-05-01 14:27:54 UTC (rev 72930)
@@ -99,10 +99,15 @@
          return current;
       if(current == null)
          current = new LifecycleCallbacksMetaData();
-      current.addAll(additions);
+      // Don't allow duplicates
+      for(LifecycleCallbackMetaData lcmd : additions)
+      {
+         if(current.contains(lcmd) == false)
+            current.add(lcmd);
+      }
       return current;
    }
-   
+
    /**
     * Get the environmentEntries.
     * 

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/client/AnnotationClientUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/client/AnnotationClientUnitTestCase.java	2008-05-01 14:27:51 UTC (rev 72929)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/client/AnnotationClientUnitTestCase.java	2008-05-01 14:27:54 UTC (rev 72930)
@@ -193,13 +193,15 @@
 
       LifecycleCallbacksMetaData postConstructs = merged.getPostConstructs();
       assertNotNull(postConstructs);
-      // FIXME: JBMETA-27 assertEquals(1, postConstructs.size());
+      // 2 because of the null class name in the xml
+      assertEquals(2, postConstructs.size());
       LifecycleCallbackMetaData pc0 = postConstructs.get(0);
       assertEquals("postConstruct", pc0.getMethodName());
 
       LifecycleCallbacksMetaData preDestroys = merged.getPreDestroys();
       assertNotNull(preDestroys);
-      // FIXME: JBMETA-27 assertEquals(1, preDestroys.size());
+      // 2 because of the null class name in the xml
+      assertEquals(2, preDestroys.size());
       LifecycleCallbackMetaData pd0 = preDestroys.get(0);
       assertEquals("preDestroy", pd0.getMethodName());
 




More information about the jboss-cvs-commits mailing list