public String generateMatchingRuleRolesAccessGroupColumn(AbstractCommonMatchingRule entity) { if (CUSTOM == entity.getRuleType()) return StringUtils.EMPTY; AbstractDbStoredMatchingRule dbStoredMatchingRule = ((AbstractDbStoredMatchingRule) entity); StringBuilder sb = new StringBuilder("Roles: "); for (Role role : ((AbstractDbStoredMatchingRule) entity).getRoles()) { sb.append(role.getName()); sb.append(";"); } sb.append("\n"); sb.append("Access group: "); sb.append(dbStoredMatchingRule.getAccessGroup() == null ? StringUtils.EMPTY : dbStoredMatchingRule.getAccessGroup().getName()); return sb.toString(); }
protected void moveUsersToGroup(Set<User> selected) { Map<String, Object> lookupParams = ParamsMap.of( "exclude", groupsTree.getSelected().iterator().next(), "excludeChildren", false); AbstractLookup lookupWindow = openLookup(Group.class, items -> { if (items.size() == 1) { Group group = (Group) items.iterator().next(); List<UUID> usersForModify = new ArrayList<>(); for (User user : selected) { usersForModify.add(user.getId()); } userManagementService.moveUsersToGroup(usersForModify, group.getId()); if (selected.size() == 1) { User user = selected.iterator().next(); showNotification(formatMessage("userMovedToGroup", user.getLogin(), group.getName())); } else { showNotification(formatMessage("usersMovedToGroup", group.getName())); } usersTable.getDatasource().refresh(); } }, OpenType.DIALOG, lookupParams); lookupWindow.addCloseListener(actionId -> usersTable.requestFocus() ); }
protected void moveConstraintToGroup(Constraint constraint) { Map<String, Object> lookupParams = ParamsMap.of( "exclude", groupsTree.getSelected().iterator().next(), "excludeChildren", false); AbstractLookup lookupWindow = openLookup(Group.class, items -> { if (items.isEmpty()) { return; } Group group = (Group) items.iterator().next(); constraint.setGroup(group); dataManager.commit(constraint); constraintsDs.refresh(); showNotification(formatMessage("notification.constraintMovedToGroup", group.getName())); }, OpenType.DIALOG, lookupParams); lookupWindow.addCloseListener(actionId -> getComponentNN("constraintsTable").requestFocus() ); }
protected void initDragAndDrop() { Companion companion = getCompanion(); if (companion != null) { companion.initDragAndDrop(usersTable, groupsTree, (event) -> { if (event.getUsers().size() == 1) { if (moveSelectedUsersToGroup(event)) { showNotification(formatMessage("userMovedToGroup", event.getUsers().get(0).getLogin(), event.getGroup().getName())); } } else { showOptionDialog( messages.getMainMessage("dialogs.Confirmation"), formatMessage("dialogs.moveToGroup.message", event.getGroup().getName(), event.getUsers().size()), MessageType.CONFIRMATION, new Action[]{ new DialogAction(Type.OK).withHandler(dialogEvent -> { if (moveSelectedUsersToGroup(event)) { showNotification(formatMessage("usersMovedToGroup", event.getGroup().getName())); } }), new DialogAction(Type.CANCEL, Action.Status.PRIMARY) } ); } }, (groupEvent) -> { userManagementService.changeGroupParent(groupEvent.getGroupId(), groupEvent.getNewParentId()); groupsDs.refresh(); }); } }
protected Group cloneGroup(Group group, Group parent, Set<String> groupNames, EntityManager em) { Group groupClone = metadata.create(Group.class); String newGroupName = generateName(group.getName(), groupNames); groupClone.setName(newGroupName); groupNames.add(newGroupName);