@Nullable @Override public E getSelectedItem() { return container.getItemOrNull(); }
@Nullable @Override public E getItem(Object itemId) { return container.getItemOrNull(itemId); }
@Nullable @Override public E getSelectedItem() { return container.getItemOrNull(); }
@Nullable @Override public E getSelectedItem() { return container.getItemOrNull(); }
@Override public E getItem(@Nullable Object itemId) { return itemId == null ? null : container.getItemOrNull(itemId); }
@Override public E getItem(@Nullable Object itemId) { return itemId == null ? null : container.getItemOrNull(itemId); }
@Override public DataItem getItem(Object id) { Entity entity = dataContainer.getItemOrNull(id); return entity == null ? null : new EntityDataItem(entity); }
@Override public boolean containsItem(E item) { return container.getItemOrNull(item.getId()) != null; }
@Override public boolean containsItem(E item) { return container.getItemOrNull(item.getId()) != null; }
@Nullable @Override public GroupInfo getParentGroup(E item) { K id = item.getId(); if (container.getItemOrNull(id) == null) { throw new IllegalArgumentException("Datasource doesn't contain passed entity"); } if (itemGroups == null) { return null; } return itemGroups.get(item.getId()); }
@Override public List<GroupInfo> getGroupPath(E item) { K id = item.getId(); if (container.getItemOrNull(id) == null) { throw new IllegalArgumentException("Datasource doesn't contain passed entity"); } if (itemGroups == null) { return Collections.emptyList(); } GroupInfo groupInfo = itemGroups.get(item.getId()); if (groupInfo == null) { return Collections.emptyList(); } LinkedList<GroupInfo> parentGroups = new LinkedList<>(); parentGroups.add(groupInfo); GroupInfo parent = parents.get(groupInfo); while (parent != null) { parentGroups.addFirst(parent); parent = parents.get(parent); } return parentGroups; }
@Override public Stream<E> getChildren(E item) { if (item == null) { // root items return container.getItems().stream() .filter(it -> { E parentItem = it.getValue(hierarchyProperty); return parentItem == null || (container.getItemOrNull(parentItem.getId()) == null); }); } else { return container.getItems().stream() .filter(it -> { E parentItem = it.getValue(hierarchyProperty); return parentItem != null && parentItem.equals(item); }); } }
@Override public Stream<E> getChildren(E item) { if (item == null) { // root items return container.getItems().stream() .filter(it -> { E parentItem = it.getValue(hierarchyProperty); return parentItem == null || (container.getItemOrNull(parentItem.getId()) == null); }); } else { return container.getItems().stream() .filter(it -> { E parentItem = it.getValue(hierarchyProperty); return parentItem != null && parentItem.equals(item); }); } }
@Override public boolean isRoot(Object itemId) { Instance item = getItem(itemId); if (item == null) return false; if (hierarchyProperty != null) { Entity parentItem = item.getValue(hierarchyProperty); return (parentItem == null || (container.getItemOrNull(parentItem.getId()) == null)); } else { return true; } }
@Override public Collection<?> getRootItemIds() { Collection<?> ids = getItemIds(); if (hierarchyProperty != null) { Set<Object> result = new LinkedHashSet<>(); for (Object id : ids) { Entity item = getItemNN(id); Entity parentItem = item.getValue(hierarchyProperty); if (parentItem == null || (container.getItemOrNull(parentItem.getId()) == null)) result.add(item.getId()); } return result; } else { return new LinkedHashSet<>(ids); } }
/** * Method invoked when clicking the Cancel button, discards changes and disables controls for editing. */ public void discardChanges() { releaseLock(); getScreenData().getDataContext().evict(getEditContainer().getItem()); getEditContainer().setItem(null); T selectedItem = getBrowseContainer().getItemOrNull(); if (selectedItem != null) { View view = getEditContainer().getView(); boolean loadDynamicAttributes = getEditLoader().isLoadDynamicAttributes(); T reloadedItem = getBeanLocator().get(DataManager.class) .reload(selectedItem, view, null, loadDynamicAttributes); getBrowseContainer().setItem(reloadedItem); } disableEditControls(); }