public void setPrivileges(User user, Set<String> privileges, User authUser) { if (!privileges.equals(getPrivileges(user))) { String privilegesString = Privilege.toString(privileges); LOGGER.info( "Setting privileges to '%s' on user '%s' by '%s'", privilegesString, user.getUsername(), authUser.getUsername() ); getUserRepository().setPropertyOnUser(user, PRIVILEGES_PROPERTY_IRI, privilegesString); sendNotificationToUserAboutPrivilegeChange(user, privileges, authUser); workQueueRepository.pushUserAccessChange(user); fireUserPrivilegesUpdatedEvent(user, privileges); } }