[jboss-cvs] JBossAS SVN: r66356 - in projects/metadata/trunk/src/main/java/org/jboss/metadata: javaee/spec and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Oct 23 04:28:22 EDT 2007


Author: scott.stark at jboss.org
Date: 2007-10-23 04:28:21 -0400 (Tue, 23 Oct 2007)
New Revision: 66356

Modified:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossAssemblyDescriptorMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/SecurityRolesMetaData.java
Log:
Correct the security roles merge

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossAssemblyDescriptorMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossAssemblyDescriptorMetaData.java	2007-10-23 07:38:08 UTC (rev 66355)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossAssemblyDescriptorMetaData.java	2007-10-23 08:28:21 UTC (rev 66356)
@@ -355,8 +355,12 @@
       else if(original != null && original.getMessageDestinations() != null)
          mergedMD.merge(null, original.getMessageDestinations());
 
-      SecurityRolesMetaData mergedSR = new SecurityRolesMetaData();
-      setSecurityRoles(mergedSR);
+      SecurityRolesMetaData mergedSR = this.securityRoles;
+      if(mergedSR == null)
+      {
+         mergedSR = new SecurityRolesMetaData();
+         setSecurityRoles(mergedSR);
+      }
       if(override != null)
       {
          if(original != null)

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/SecurityRolesMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/SecurityRolesMetaData.java	2007-10-23 07:38:08 UTC (rev 66355)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/SecurityRolesMetaData.java	2007-10-23 08:28:21 UTC (rev 66356)
@@ -26,6 +26,7 @@
 import java.util.Set;
 
 import org.jboss.metadata.javaee.support.AbstractMappedMetaData;
+import org.jboss.metadata.javaee.support.IdMetaDataImpl;
 
 /**
  * SecurityRolesMetaData.
@@ -89,4 +90,35 @@
       }
       return result;
    }
+
+   /**
+    * 
+    */
+   @Override
+   public void merge(IdMetaDataImpl override, IdMetaDataImpl original)
+   {
+      super.merge(override, original);
+      SecurityRolesMetaData sr0 = (SecurityRolesMetaData) override;
+      SecurityRolesMetaData sr1 = (SecurityRolesMetaData) original;
+      if(sr0 != null)
+      {
+         this.addAll(sr0);
+      }
+      if(sr1 != null)
+      {
+         for(SecurityRoleMetaData sr : sr1)
+         {
+            SecurityRoleMetaData to = this.get(sr.getRoleName());
+            if(to != null)
+            {
+               to.merge(sr);
+            }
+            else
+            {
+               this.add(sr);
+            }
+         }
+      }
+   }
+
 }




More information about the jboss-cvs-commits mailing list