/** * This method allows an application admin to revoke a permission. * * @param permission The permission to revoke. * @throws RemoteException * @throws CSMInternalFault * @throws AccessDeniedFault * @throws CSMTransactionFault */ public void revokePermission(Permission permission) throws RemoteException, CSMInternalFault, AccessDeniedFault, CSMTransactionFault { if (permission.isGroupPermission()) { List<Role> roles = permission.getRoles(); for (int i = 0; i < roles.size(); i++) { revokePermission(permission.getGroup(), roles.get(i), permission.getProtectionGroup()); } } else if (permission.isUserPermission()) { List<Role> roles = permission.getRoles(); for (int i = 0; i < roles.size(); i++) { revokePermission(permission.getUser(), roles.get(i), permission.getProtectionGroup()); } } }