protected void updateAction_1to5( Role role, long groupId, String selResource, String actionId, boolean selected, int scope, String[] groupIds) throws Exception { long roleId = role.getRoleId(); if (selected) { if (scope == ResourceConstants.SCOPE_COMPANY) { PermissionServiceUtil.setRolePermission( roleId, groupId, selResource, scope, String.valueOf(role.getCompanyId()), actionId); } else if (scope == ResourceConstants.SCOPE_GROUP_TEMPLATE) { PermissionServiceUtil.setRolePermission( roleId, groupId, selResource, ResourceConstants.SCOPE_GROUP_TEMPLATE, String.valueOf(GroupConstants.DEFAULT_PARENT_GROUP_ID), actionId); } else { PermissionServiceUtil.unsetRolePermissions( roleId, groupId, selResource, ResourceConstants.SCOPE_GROUP, actionId); for (String curGroupId : groupIds) { PermissionServiceUtil.setRolePermission( roleId, groupId, selResource, ResourceConstants.SCOPE_GROUP, curGroupId, actionId); } } } else { // Remove company, group template, and group permissions PermissionServiceUtil.unsetRolePermissions( roleId, groupId, selResource, ResourceConstants.SCOPE_COMPANY, actionId); PermissionServiceUtil.unsetRolePermissions( roleId, groupId, selResource, ResourceConstants.SCOPE_GROUP_TEMPLATE, actionId); PermissionServiceUtil.unsetRolePermissions( roleId, groupId, selResource, ResourceConstants.SCOPE_GROUP, actionId); } }