} else {
methodParams = null;
}
// create the permission object
EJBMethodPermission permission = new EJBMethodPermission(ejbName, methodName, methodIntf, methodParams);
notAssigned = cullPermissions(notAssigned, permission);
// if this is unchecked, mark it as unchecked; otherwise assign the roles
if (unchecked) {
uncheckedPermissions.add(permission);
} else {
for (String roleName : roleNames) {
Permissions permissions = (Permissions) rolePermissions.get(roleName);
if (permissions == null) {
permissions = new Permissions();
rolePermissions.put(roleName, permissions);
}
permissions.add(permission);
}
}
}
}
/**
* JACC v1.0 section 3.1.5.2
*/
ExcludeList excludeList = assemblyDescriptor.getExcludeList();
if (excludeList != null) {
for (Method method : excludeList.getMethod()) {
if (!ejbName.equals(method.getEjbName())) {
continue;
}
// method name
String methodName = method.getMethodName();
// method interface
String methodIntf = method.getMethodIntf() == null? null: method.getMethodIntf().toString();
// method parameters
String[] methodParams;
if (method.getMethodParams() != null) {
List<String> paramList = method.getMethodParams().getMethodParam();
methodParams = paramList.toArray(new String[paramList.size()]);
} else {
methodParams = null;
}
// create the permission object
EJBMethodPermission permission = new EJBMethodPermission(ejbName, methodName, methodIntf, methodParams);
excludedPermissions.add(permission);
notAssigned = cullPermissions(notAssigned, permission);
}
}