[jboss-cvs] JBossAS SVN: r65847 - in projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb: spec and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Oct 4 11:46:26 EDT 2007
Author: scott.stark at jboss.org
Date: 2007-10-04 11:46:25 -0400 (Thu, 04 Oct 2007)
New Revision: 65847
Modified:
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/MethodMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/MethodPermissionMetaData.java
Log:
Correct handling of method permission checks
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-04 15:45:10 UTC (rev 65846)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java 2007-10-04 15:46:25 UTC (rev 65847)
@@ -873,7 +873,7 @@
*/
public SecurityRoleMetaData getSecurityRole(String roleName)
{
- JBossAssemblyDescriptorMetaData assemblyDescriptor = getJBossMetaDataWithCheck().getAssemblyDescriptor();
+ JBossAssemblyDescriptorMetaData assemblyDescriptor = getJBossMetaDataWithCheck().getMergedAssemblyDescriptor();
if (assemblyDescriptor == null)
return null;
else
@@ -888,7 +888,7 @@
*/
public Set<String> getSecurityRolePrincipals(String roleName)
{
- JBossAssemblyDescriptorMetaData assemblyDescriptor = getJBossMetaDataWithCheck().getAssemblyDescriptor();
+ JBossAssemblyDescriptorMetaData assemblyDescriptor = getJBossMetaDataWithCheck().getMergedAssemblyDescriptor();
if (assemblyDescriptor == null)
return null;
else
@@ -948,18 +948,21 @@
Set<String> roles = permission.getRoles();
if (roles != null)
{
+ if (result == null)
+ result = new HashSet<Principal>();
for (String roleName : roles)
{
+ // Get any extra principal names assigned to the role
Set<String> principals = getSecurityRolePrincipals(roleName);
if (principals != null)
{
for (String principal : principals)
{
- if (result == null)
- result = new HashSet<Principal>();
result.add(new SimplePrincipal(principal));
}
}
+ // Also add the role name itself
+ result.add(new SimplePrincipal(roleName));
}
}
}
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/MethodMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/MethodMetaData.java 2007-10-04 15:45:10 UTC (rev 65846)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/MethodMetaData.java 2007-10-04 15:46:25 UTC (rev 65847)
@@ -247,4 +247,20 @@
{
return MethodInterfaceType.ServiceEndpoint == methodInterface;
}
+
+ @Override
+ public String toString()
+ {
+ StringBuilder tmp = new StringBuilder("MethodMetaData(");
+ tmp.append("ejbName=");
+ tmp.append(ejbName);
+ tmp.append(",interface=");
+ tmp.append(methodInterface);
+ tmp.append(",method=");
+ tmp.append(methodName);
+ tmp.append(",params=");
+ tmp.append(methodParams);
+ tmp.append(')');
+ return tmp.toString();
+ }
}
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/MethodPermissionMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/MethodPermissionMetaData.java 2007-10-04 15:45:10 UTC (rev 65846)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/MethodPermissionMetaData.java 2007-10-04 15:46:25 UTC (rev 65847)
@@ -25,7 +25,6 @@
import org.jboss.metadata.javaee.spec.EmptyMetaData;
import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptions;
-import org.jboss.metadata.javaee.support.NonNullLinkedHashSet;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
@@ -103,7 +102,7 @@
*
* @param roles the roles.
*/
- @XmlElement(name="role-name", type=NonNullLinkedHashSet.class)
+ @XmlElement(name="role-name"/*, type=NonNullLinkedHashSet.class*/)
public void setRoles(Set<String> roles)
{
this.roles = roles;
@@ -192,4 +191,24 @@
return false;
return matches(methodName, params, interfaceType);
}
+
+ @Override
+ public String toString()
+ {
+ StringBuilder tmp = new StringBuilder("MethodPermissionMetaData(id=");
+ tmp.append(getId());
+ if (isNotChecked())
+ {
+ tmp.append(",unchecked=true");
+ }
+ else
+ {
+ tmp.append(",roles=");
+ tmp.append(this.roles);
+ }
+ tmp.append(",methods=");
+ tmp.append(this.methods);
+ tmp.append(')');
+ return tmp.toString();
+ }
}
More information about the jboss-cvs-commits
mailing list