Author: rmannibucau
Date: Tue Mar 12 18:45:36 2013
New Revision: 1455665

URL: http://svn.apache.org/r1455665
Log:
TOMEE-791 trying to be more IDE friendly regarding beans.xml

Modified:
    
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
    
tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/Beans.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java?rev=1455665&r1=1455664&r2=1455665&view=diff
==============================================================================
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
 Tue Mar 12 18:45:36 2013
@@ -934,6 +934,9 @@ public class DeploymentLoader implements
             if (url == null) continue;
             complete = mergeBeansXml(complete, url);
         }
+        if (complete != null) {
+            complete.removeDuplicates();
+        }
 
         webModule.getAltDDs().put("beans.xml", complete);
     }
@@ -983,6 +986,7 @@ public class DeploymentLoader implements
         }
 
         if (complete == null) return;
+        complete.removeDuplicates();
 
         IAnnotationFinder finder;
         try {

Modified: 
tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/Beans.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/Beans.java?rev=1455665&r1=1455664&r2=1455665&view=diff
==============================================================================
--- 
tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/Beans.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/Beans.java
 Tue Mar 12 18:45:36 2013
@@ -24,6 +24,7 @@ import javax.xml.bind.annotation.XmlRoot
 import javax.xml.bind.annotation.XmlTransient;
 import javax.xml.bind.annotation.XmlType;
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
 
 
@@ -221,4 +222,17 @@ public class Beans {
         }
         return duplicatedAlternatives;
     }
+
+    public void removeDuplicates() {
+        removeDuplicates(getAlternativeClasses());
+        removeDuplicates(getAlternativeStereotypes());
+        removeDuplicates(getDecorators());
+        removeDuplicates(getInterceptors());
+    }
+
+    private <T> void removeDuplicates(final List<T> list) {
+        final List<T> classes = new ArrayList<T>(list);
+        list.clear();
+        list.addAll(new HashSet<T>(classes));
+    }
 }


Reply via email to