@Override public int compare(BandDefinition o1, BandDefinition o2) { return o1.getPosition().compareTo(o2.getPosition()); } });
@Override protected boolean isApplicable() { if (target != null) { BandDefinition selectedItem = (BandDefinition) target.getSingleSelected(); return selectedItem != null && selectedItem.getPosition() > 0 && isUpdatePermitted(); } return false; } });
@Override public void actionPerform(Component component) { BandDefinition definition = (BandDefinition) target.getSingleSelected(); if (definition != null && definition.getParentBandDefinition() != null) { BandDefinition parentDefinition = definition.getParentBandDefinition(); List<BandDefinition> definitionsList = parentDefinition.getChildrenBandDefinitions(); int index = definitionsList.indexOf(definition); if (index < definitionsList.size() - 1) { BandDefinition nextDefinition = definitionsList.get(index + 1); definition.setPosition(definition.getPosition() + 1); nextDefinition.setPosition(nextDefinition.getPosition() - 1); definitionsList.set(index, nextDefinition); definitionsList.set(index + 1, definition); treeDs.refresh(); } } }
@Override public void actionPerform(Component component) { BandDefinition definition = (BandDefinition) target.getSingleSelected(); if (definition != null && definition.getParentBandDefinition() != null) { BandDefinition parentDefinition = definition.getParentBandDefinition(); List<BandDefinition> definitionsList = parentDefinition.getChildrenBandDefinitions(); int index = definitionsList.indexOf(definition); if (index > 0) { BandDefinition previousDefinition = definitionsList.get(index - 1); definition.setPosition(definition.getPosition() - 1); previousDefinition.setPosition(previousDefinition.getPosition() + 1); definitionsList.set(index, previousDefinition); definitionsList.set(index - 1, definition); treeDs.refresh(); } } }
@Override protected boolean isApplicable() { if (target != null) { BandDefinition bandDefinition = (BandDefinition) target.getSingleSelected(); if (bandDefinition != null) { BandDefinition parent = bandDefinition.getParentBandDefinition(); return parent != null && parent.getChildrenBandDefinitions() != null && bandDefinition.getPosition() < parent.getChildrenBandDefinitions().size() - 1 && isUpdatePermitted(); } } return false; } });