[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