[jboss-cvs] JBossAS SVN: r66403 - in projects/metadata/trunk/src: test/java/org/jboss/test/metadata/ejb and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Oct 24 17:54:03 EDT 2007


Author: scott.stark at jboss.org
Date: 2007-10-24 17:54:03 -0400 (Wed, 24 Oct 2007)
New Revision: 66403

Modified:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss50UnitTestCase.java
   projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss50_testCtsEjb20Jar.xml
   projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss50_testCtsJBoss32.xml
Log:
Only create merged security identity if it exists in the input

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java	2007-10-24 21:52:33 UTC (rev 66402)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java	2007-10-24 21:54:03 UTC (rev 66403)
@@ -1438,9 +1438,12 @@
       SecurityIdentityMetaData originalSecurityIdentity = null;
       if(original != null)
          originalSecurityIdentity = original.getSecurityIdentity();
-      if(securityIdentity == null)
-         securityIdentity = new SecurityIdentityMetaData();
-      securityIdentity.merge(jbossSecurityIdentity, originalSecurityIdentity);
+      if(jbossSecurityIdentity != null || originalSecurityIdentity != null)
+      {
+         if(securityIdentity == null)
+            securityIdentity = new SecurityIdentityMetaData();
+         securityIdentity.merge(jbossSecurityIdentity, originalSecurityIdentity);
+      }
    }
 
    /**

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss50UnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss50UnitTestCase.java	2007-10-24 21:52:33 UTC (rev 66402)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss50UnitTestCase.java	2007-10-24 21:54:03 UTC (rev 66403)
@@ -23,11 +23,13 @@
 
 import java.util.HashSet;
 import java.util.Iterator;
+import java.util.Map;
 import java.util.Set;
 
 import junit.framework.Test;
 
 import org.jboss.metadata.ApplicationMetaData;
+import org.jboss.metadata.AssemblyDescriptorMetaData;
 import org.jboss.metadata.BeanMetaData;
 import org.jboss.metadata.ConfigurationMetaData;
 import org.jboss.metadata.common.ejb.IEnterpriseBeanMetaData;
@@ -70,6 +72,7 @@
 import org.jboss.metadata.javaee.spec.ResourceReferencesMetaData;
 import org.jboss.metadata.javaee.spec.RunAsMetaData;
 import org.jboss.metadata.merge.MergeUtil;
+import org.jboss.security.SecurityRoleMetaData;
 import org.jboss.test.metadata.javaee.AbstractJavaEEMetaDataTest;
 import org.jboss.test.metadata.javaee.JBossXBTestDelegate;
 import org.jboss.xb.binding.sunday.unmarshalling.DefaultSchemaResolver;
@@ -527,6 +530,17 @@
       assertEquals("5", maxActiveCount.getValue());
       assertEquals("queue/A", strictlyPooledMDBMD.getDestinationJndiName());
       assertEquals("Strictly Pooled Message Driven Bean", strictlyPooledMDBMD.getConfigurationName());
+
+      // Test security-identity information      
+      org.jboss.metadata.SecurityIdentityMetaData secMetaData = beanCfg.getSecurityIdentityMetaData();
+      assertNull(secMetaData);
+
+      BeanMetaData RunAsStatelessSessionBean = appMetaData.getBeanByEjbName("RunAsStatelessSessionBean");
+      assertNotNull(RunAsStatelessSessionBean);
+      secMetaData = RunAsStatelessSessionBean.getSecurityIdentityMetaData();
+      assertEquals("getUseCallerIdentity", false, secMetaData.getUseCallerIdentity());
+      String roleName = secMetaData.getRunAsRoleName();
+      assertEquals("RunAsStatelessSessionBean.getRunAsRoleName", "RunAsStatelessSessionBean-role-name", roleName);
    }
 
    /**

Modified: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss50_testCtsEjb20Jar.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss50_testCtsEjb20Jar.xml	2007-10-24 21:52:33 UTC (rev 66402)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss50_testCtsEjb20Jar.xml	2007-10-24 21:54:03 UTC (rev 66403)
@@ -29,6 +29,22 @@
          <transaction-type>Container</transaction-type>
       </session>
       <session>
+         <display-name>Secure Stateless Session</display-name>
+         <ejb-name>RunAsStatelessSessionBean</ejb-name>
+         <home>org.jboss.test.cts.interfaces.StatelessSessionHome</home>
+         <remote>org.jboss.test.cts.interfaces.StatelessSession</remote>
+         <local-home>org.jboss.test.cts.interfaces.StatelessSessionLocalHome</local-home>
+         <local>org.jboss.test.cts.interfaces.StatelessSessionLocal</local>
+         <ejb-class>org.jboss.test.cts.ejb.StatelessSessionBean</ejb-class>
+         <session-type>Stateless</session-type>
+         <transaction-type>Container</transaction-type>
+         <security-identity>
+            <run-as>
+               <role-name>RunAsStatelessSessionBean-role-name</role-name>
+            </run-as>
+         </security-identity>
+      </session>
+      <session>
          <display-name>Stateful Session</display-name>
          <ejb-name>StatefulSessionBean</ejb-name>
          <home>org.jboss.test.cts.interfaces.StatefulSessionHome</home>

Modified: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss50_testCtsJBoss32.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss50_testCtsJBoss32.xml	2007-10-24 21:52:33 UTC (rev 66402)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss50_testCtsJBoss32.xml	2007-10-24 21:54:03 UTC (rev 66403)
@@ -31,6 +31,10 @@
          <jndi-name>ejbcts/StatelessSessionHome</jndi-name>
       </session>
       <session>
+         <ejb-name>RunAsStatelessSessionBean</ejb-name>
+         <jndi-name>ejbcts/RunAsStatelessSessionBean</jndi-name>
+      </session>
+      <session>
          <ejb-name>StrictlyPooledStatelessBean</ejb-name>
          <jndi-name>ejbcts/StrictlyPooledStatelessBean</jndi-name>
          <configuration-name>Strictly Pooled Stateless SessionBean</configuration-name>




More information about the jboss-cvs-commits mailing list