Example usage for com.liferay.portal.kernel.exception RoleAssignmentException RoleAssignmentException

List of usage examples for com.liferay.portal.kernel.exception RoleAssignmentException RoleAssignmentException

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.exception RoleAssignmentException RoleAssignmentException.

Prototype

public RoleAssignmentException(Throwable cause) 

Source Link

Usage

From source file:com.liferay.roles.admin.web.internal.portlet.RolesAdminPortlet.java

License:Open Source License

public void editRoleAssignments(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {

    long roleId = ParamUtil.getLong(actionRequest, "roleId");

    Role role = _roleLocalService.getRole(roleId);

    String roleName = role.getName();

    if (roleName.equals(RoleConstants.OWNER)) {
        throw new RoleAssignmentException(roleName);
    }//from www.  j a va2 s. co m

    long[] addUserIds = StringUtil.split(ParamUtil.getString(actionRequest, "addUserIds"), 0L);
    long[] removeUserIds = StringUtil.split(ParamUtil.getString(actionRequest, "removeUserIds"), 0L);

    if (!ArrayUtil.isEmpty(addUserIds) || !ArrayUtil.isEmpty(removeUserIds)) {

        try (ProxyModeThreadLocalCloseable proxyModeThreadLocalCloseable = new ProxyModeThreadLocalCloseable()) {

            ProxyModeThreadLocal.setForceSync(true);

            _userService.addRoleUsers(roleId, addUserIds);
            _userService.unsetRoleUsers(roleId, removeUserIds);
        }
    }

    long[] addGroupIds = StringUtil.split(ParamUtil.getString(actionRequest, "addGroupIds"), 0L);
    long[] removeGroupIds = StringUtil.split(ParamUtil.getString(actionRequest, "removeGroupIds"), 0L);

    if (!ArrayUtil.isEmpty(addGroupIds) || !ArrayUtil.isEmpty(removeGroupIds)) {

        _groupService.addRoleGroups(roleId, addGroupIds);
        _groupService.unsetRoleGroups(roleId, removeGroupIds);
    }
}