[jboss-cvs] JBossAS SVN: r68967 - trunk/server/src/main/org/jboss/ejb/deployers.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Jan 15 00:12:52 EST 2008


Author: anil.saldhana at jboss.com
Date: 2008-01-15 00:12:52 -0500 (Tue, 15 Jan 2008)
New Revision: 68967

Modified:
   trunk/server/src/main/org/jboss/ejb/deployers/MergedJBossMetaDataDeployer.java
Log:
merge in the security roles

Modified: trunk/server/src/main/org/jboss/ejb/deployers/MergedJBossMetaDataDeployer.java
===================================================================
--- trunk/server/src/main/org/jboss/ejb/deployers/MergedJBossMetaDataDeployer.java	2008-01-15 05:12:20 UTC (rev 68966)
+++ trunk/server/src/main/org/jboss/ejb/deployers/MergedJBossMetaDataDeployer.java	2008-01-15 05:12:52 UTC (rev 68967)
@@ -27,11 +27,13 @@
 import org.jboss.deployers.structure.spi.DeploymentUnit;
 import org.jboss.deployment.AnnotationMetaDataDeployer;
 import org.jboss.metadata.ear.jboss.JBossAppMetaData;
+import org.jboss.metadata.ejb.jboss.JBossAssemblyDescriptorMetaData;
 import org.jboss.metadata.ejb.jboss.JBossMetaData;
 import org.jboss.metadata.ejb.spec.AnnotationMergedView;
 import org.jboss.metadata.ejb.spec.EjbJar30MetaData;
 import org.jboss.metadata.ejb.spec.EjbJar3xMetaData;
 import org.jboss.metadata.ejb.spec.EjbJarMetaData;
+import org.jboss.metadata.javaee.spec.SecurityRolesMetaData;
 
 /**
  * A deployer that merges annotation metadata, xml metadata, and jboss metadata
@@ -98,11 +100,29 @@
          String securityDomain = earMetaData.getSecurityDomain();
          if(securityDomain != null && mergedMetaData.getSecurityDomain() == null)
             mergedMetaData.setSecurityDomain(securityDomain);
-         // TODO: Security roles
+         //Security Roles
+         SecurityRolesMetaData earSecurityRolesMetaData = earMetaData.getSecurityRoles();
+         if(earSecurityRolesMetaData != null)
+         {
+            JBossAssemblyDescriptorMetaData jadmd = mergedMetaData.getAssemblyDescriptor();
+            if( jadmd == null)
+            {
+               jadmd = new JBossAssemblyDescriptorMetaData();
+               mergedMetaData.setAssemblyDescriptor(jadmd); 
+            }
+            
+            SecurityRolesMetaData mergedSecurityRolesMetaData = jadmd.getSecurityRoles(); 
+            if(mergedSecurityRolesMetaData == null)
+               jadmd.setSecurityRoles(earSecurityRolesMetaData);
+            
+            //perform a merge to rebuild the principalVersusRolesMap
+            mergedSecurityRolesMetaData.merge(mergedSecurityRolesMetaData, 
+                  earSecurityRolesMetaData);
+        }
       }
 
       // Output the merged JBossMetaData
       unit.getTransientManagedObjects().addAttachment(JBossMetaData.class, mergedMetaData);
    }
 
-}
+}
\ No newline at end of file




More information about the jboss-cvs-commits mailing list