@Override public E getSelectedItem() { return datasource.getItem(); }
@Override protected boolean isApplicable() { Stencil selectedItem = stencilsDs.getItem(); if (selectedItem != null && selectedItem instanceof ServiceTaskStencil) { for (Stencil stencil : stencilsDs.getItems()) { if (selectedItem.getParentGroup().equals(stencil.getParentGroup()) && stencil.getOrderNo() < selectedItem.getOrderNo()) { return true; } } } return false; }
@Override protected boolean isApplicable() { Stencil selectedItem = stencilsDs.getItem(); if (selectedItem != null && selectedItem instanceof ServiceTaskStencil) { for (Stencil stencil : stencilsDs.getItems()) { if (selectedItem.getParentGroup().equals(stencil.getParentGroup()) && stencil.getOrderNo() > selectedItem.getOrderNo()) { return true; } } } return false; }
@SuppressWarnings("unchecked") @Override public E getItem(@Nullable Object itemId) { return datasource.getItem((K) itemId); }
@Override public void actionPerform(Component component) { Stencil selectedStencil = stencilsDs.getItem(); Integer currentOrderNo = selectedStencil.getOrderNo(); stencilsDs.getItems().stream() .filter(stencil -> stencil.getParentGroup() != null && stencil.getParentGroup().equals(selectedStencil.getParentGroup()) && stencil.getOrderNo() > currentOrderNo) .min((o1, o2) -> o1.getOrderNo() - o2.getOrderNo()) .ifPresent(nextStencil -> { selectedStencil.setOrderNo(nextStencil.getOrderNo()); nextStencil.setOrderNo(currentOrderNo); refreshDs(); stencilsTable.setSelected(selectedStencil); }); }
@Override public Stream<E> getChildren(E item) { Collection<K> itemIds = item == null ? datasource.getRootItemIds() : datasource.getChildren(item.getId()); return itemIds.stream() .map(id -> datasource.getItem(id)); }
@Override public void actionPerform(Component component) { Stencil selectedStencil = stencilsDs.getItem(); Integer currentOrderNo = selectedStencil.getOrderNo(); stencilsDs.getItems().stream() .filter(stencil -> stencil.getParentGroup() != null && stencil.getParentGroup().equals(selectedStencil.getParentGroup()) && stencil.getOrderNo() < currentOrderNo) .max((o1, o2) -> o1.getOrderNo() - o2.getOrderNo()) .ifPresent(prevStencil -> { selectedStencil.setOrderNo(prevStencil.getOrderNo()); prevStencil.setOrderNo(currentOrderNo); refreshDs(); stencilsTable.setSelected(selectedStencil); }); }
@Nullable @Override public E getParent(E item) { Preconditions.checkNotNullArgument(item); K parentId = datasource.getParent(item.getId()); return datasource.getItem(parentId); }
public void createServiceTaskStencil() { if (!validateActiveStencilFrame()) return; GroupStencil group = null; Stencil currentlySelected = stencilsDs.getItem(); if (currentlySelected != null) { if (currentlySelected instanceof GroupStencil) { group = (GroupStencil) currentlySelected; } else { group = currentlySelected.getParentGroup(); } } if (group == null) { showNotification(getMessage("selectGroup"), NotificationType.WARNING); return; } ServiceTaskStencil stencilEntity = metadata.create(ServiceTaskStencil.class); stencilEntity.setOrderNo(0); GroupStencil finalGroup = group; stencilsDs.getItems().stream() .filter(stencil -> finalGroup.equals(stencil.getParentGroup())) .max((o1, o2) -> o1.getOrderNo() - o2.getOrderNo()) .ifPresent(stencilWithMaxOrderNo -> stencilEntity.setOrderNo(stencilWithMaxOrderNo.getOrderNo() + 1)); stencilEntity.setParentGroup(group); stencilsDs.addItem(stencilEntity); stencilsTable.setSelected(stencilEntity); activeStencilFrame.requestFocus(); stencilsTable.expand(group.getId()); }
public void copyGroup() { Group group = groupsDs.getItem(); if (group != null) { userManagementService.copyAccessGroup(group.getId()); groupsDs.refresh(); } }
@Override public void init(Map<String, Object> params) { groupsDs.refresh(); groups.expandTree(); if (params.containsKey("exclude")) { boolean excludeChildren = (boolean) params.getOrDefault("excludeChildren", true); excludeItem((Group) params.get("exclude"), excludeChildren); } if (groupsDs.size() > 1 && selectedGroup != null) { groups.setSelected(selectedGroup); } else { Collection<UUID> rootItemIds = groupsDs.getRootItemIds(); if ((rootItemIds != null) && (!rootItemIds.isEmpty())) { UUID firstId = rootItemIds.iterator().next(); Group item = groupsDs.getItem(firstId); groups.setSelected(item); } } }
@Nullable @Override public E getParent(E item) { Preconditions.checkNotNullArgument(item); K parentId = getHierarchicalDatasource().getParent(item.getId()); return getHierarchicalDatasource().getItem(parentId); } }
protected void excludeItem(Group group, boolean excludeChildren) { if (excludeChildren) { for (UUID childId : groupsDs.getChildren(group.getId())) { excludeItem(groupsDs.getItem(childId), true); } } groupsDs.excludeItem(group); } }
@Override public void actionPerform(Component component) { BandDefinition parentDefinition = treeDs.getItem(); Report report = getItem(); // Use root band as parent if no items selected if (parentDefinition == null) { parentDefinition = report.getRootBandDefinition(); } if (parentDefinition.getChildrenBandDefinitions() == null) { parentDefinition.setChildrenBandDefinitions(new ArrayList<>()); } // orderBandDefinitions(parentDefinition); BandDefinition newBandDefinition = metadata.create(BandDefinition.class); newBandDefinition.setName("newBand" + (parentDefinition.getChildrenBandDefinitions().size() + 1)); newBandDefinition.setOrientation(Orientation.HORIZONTAL); newBandDefinition.setParentBandDefinition(parentDefinition); if (parentDefinition.getChildrenBandDefinitions() != null) { newBandDefinition.setPosition(parentDefinition.getChildrenBandDefinitions().size()); } else { newBandDefinition.setPosition(0); } newBandDefinition.setReport(report); parentDefinition.getChildrenBandDefinitions().add(newBandDefinition); treeDs.addItem(newBandDefinition); treeDs.refresh(); bandTree.expandTree(); bandTree.setSelected(newBandDefinition);//let's try and see if it increases usability bandTree.focus(); }
groupsTree.setSelected(groupsDs.getItem(itemIds.iterator().next()));