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

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Jan 4 10:49:50 EST 2008


Author: scott.stark at jboss.org
Date: 2008-01-04 10:49:50 -0500 (Fri, 04 Jan 2008)
New Revision: 68630

Modified:
   trunk/server/src/main/org/jboss/ejb/deployers/MergedJBossMetaDataDeployer.java
Log:
Begin incorporating top level JBossAppMetaData settings

Modified: trunk/server/src/main/org/jboss/ejb/deployers/MergedJBossMetaDataDeployer.java
===================================================================
--- trunk/server/src/main/org/jboss/ejb/deployers/MergedJBossMetaDataDeployer.java	2008-01-04 14:44:51 UTC (rev 68629)
+++ trunk/server/src/main/org/jboss/ejb/deployers/MergedJBossMetaDataDeployer.java	2008-01-04 15:49:50 UTC (rev 68630)
@@ -26,6 +26,7 @@
 import org.jboss.deployers.spi.deployer.helpers.AbstractDeployer;
 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.JBossMetaData;
 import org.jboss.metadata.ejb.spec.AnnotationMergedView;
 import org.jboss.metadata.ejb.spec.EjbJar30MetaData;
@@ -33,7 +34,9 @@
 import org.jboss.metadata.ejb.spec.EjbJarMetaData;
 
 /**
- * A deployer that 
+ * A deployer that merges annotation metadata, xml metadata, and jboss metadata
+ * into a merged JBossMetaData. It also incorporates ear level overrides from
+ * the top level JBossAppMetaData attachment.
  * 
  * @author Scott.Stark at jboss.org
  * @author adrian at jboss.org
@@ -86,6 +89,19 @@
       // Create a merged view
       JBossMetaData mergedMetaData = new JBossMetaData();
       mergedMetaData.merge(metaData, specMetaData);
+      // Incorporate any ear level overrides
+      DeploymentUnit topUnit = unit.getTopLevel();
+      if(topUnit != null && topUnit.getAttachment(JBossAppMetaData.class) != null)
+      {
+         JBossAppMetaData earMetaData = topUnit.getAttachment(JBossAppMetaData.class);
+         // Security domain
+         String securityDomain = earMetaData.getSecurityDomain();
+         if(mergedMetaData.getSecurityDomain() == null)
+            mergedMetaData.setSecurityDomain(securityDomain);
+         // TODO: Security roles
+      }
+
+      // Output the merged JBossMetaData
       unit.getTransientManagedObjects().addAttachment(JBossMetaData.class, mergedMetaData);
    }
 




More information about the jboss-cvs-commits mailing list