[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