use of org.apache.cayenne.modeler.action.dbimport.EditNodeAction in project cayenne by apache.
the class DbImportTreeCellEditor method cancelCellEditing.
@Override
public void cancelCellEditing() {
if (tree.getSelectionPath() == null) {
return;
}
if (!Util.isEmptyString(super.getCellEditorValue().toString()) && !insertableNodeExist() && (isValidReverseEngineering())) {
EditNodeAction action = projectController.getApplication().getActionManager().getAction(EditNodeAction.class);
action.setActionName(super.getCellEditorValue().toString());
action.actionPerformed(null);
} else {
DbImportTreeNode selectedNode = (DbImportTreeNode) tree.getSelectionPath().getLastPathComponent();
if (Util.isEmptyString(selectedNode.getSimpleNodeName()) || (insertableNodeExist())) {
DeleteNodeAction action = projectController.getApplication().getActionManager().getAction(DeleteNodeAction.class);
TreePath parentPath = tree.getSelectionPath().getParentPath();
action.actionPerformed(null);
tree.setSelectionPath(parentPath);
} else {
tree.startEditingAtPath(tree.getSelectionPath());
}
}
DbImportTreeNode selectedNode = (DbImportTreeNode) tree.getSelectionPath().getLastPathComponent();
((DbImportModel) tree.getModel()).reload(selectedNode);
}
Aggregations