EntityBeanType[] entityBeans = enterpriseBeans.getEntityArray();
SessionBeanType[] sessionBeans = enterpriseBeans.getSessionArray();
AssemblyDescriptorType assemblyDescriptor = ejbJar.getAssemblyDescriptor();
MethodPermissionType[] methodPermissions = assemblyDescriptor.getMethodPermissionArray();
ExcludeListType excludeList = assemblyDescriptor.getExcludeList();
/**
* Section 3.1.5.1
*/
for (int i = 0; i < methodPermissions.length; i++) {
MethodPermissionType methodPermission = methodPermissions[i];
MethodType[] methods = methodPermission.getMethodArray();
for (int j = 0; j < methods.length; j++) {
MethodType method = methods[j];
EJBMethodPermission permission = new EJBMethodPermission(method.getEjbName().getStringValue(),
method.getMethodName().getStringValue(),
method.getMethodIntf().getStringValue(),
toStringArray(method.getMethodParams().getMethodParamArray()));
try {
if (methodPermission.getUnchecked() != null) {
configuration.addToUncheckedPolicy(permission);
} else {
RoleNameType[] roleNames = methodPermission.getRoleNameArray();
for (int k = 0; k < roleNames.length; k++) {
configuration.addToRole(roleNames[k].getStringValue(), permission);
}
}
} catch (PolicyContextException e) {
throw new GeronimoSecurityException(e);
}
}
}
/**
* Section 3.1.5.2
*/
if (excludeList != null) {
MethodType[] methods = excludeList.getMethodArray();
try {
for (int i = 0; i < methods.length; i++) {
EJBMethodPermission permission = new EJBMethodPermission(methods[i].getEjbName().getStringValue(),
methods[i].getMethodName().getStringValue(),
methods[i].getMethodIntf().getStringValue(),