use of org.apache.cayenne.modeler.dialog.ConfirmRemoveDialog in project cayenne by apache.
the class RemoveAction method performAction.
/**
* Performs delete action
*
* @param allowAsking If false, no question will be asked no matter what settings are
*/
public void performAction(ActionEvent e, boolean allowAsking) {
ProjectController mediator = getProjectController();
ConfirmRemoveDialog dialog = getConfirmDeleteDialog(allowAsking);
if (mediator.getCurrentObjEntity() != null) {
if (dialog.shouldDelete("ObjEntity", mediator.getCurrentObjEntity().getName())) {
application.getUndoManager().addEdit(new RemoveUndoableEdit(mediator.getCurrentDataMap(), mediator.getCurrentObjEntity()));
removeObjEntity(mediator.getCurrentDataMap(), mediator.getCurrentObjEntity());
}
} else if (mediator.getCurrentDbEntity() != null) {
if (dialog.shouldDelete("DbEntity", mediator.getCurrentDbEntity().getName())) {
application.getUndoManager().addEdit(new RemoveUndoableEdit(mediator.getCurrentDataMap(), mediator.getCurrentDbEntity()));
removeDbEntity(mediator.getCurrentDataMap(), mediator.getCurrentDbEntity());
}
} else if (mediator.getCurrentQuery() != null) {
if (dialog.shouldDelete("query", mediator.getCurrentQuery().getName())) {
application.getUndoManager().addEdit(new RemoveUndoableEdit(mediator.getCurrentDataMap(), mediator.getCurrentQuery()));
removeQuery(mediator.getCurrentDataMap(), mediator.getCurrentQuery());
}
} else if (mediator.getCurrentProcedure() != null) {
if (dialog.shouldDelete("procedure", mediator.getCurrentProcedure().getName())) {
application.getUndoManager().addEdit(new RemoveUndoableEdit(mediator.getCurrentDataMap(), mediator.getCurrentProcedure()));
removeProcedure(mediator.getCurrentDataMap(), mediator.getCurrentProcedure());
}
} else if (mediator.getCurrentEmbeddable() != null) {
if (dialog.shouldDelete("embeddable", mediator.getCurrentEmbeddable().getClassName())) {
application.getUndoManager().addEdit(new RemoveUndoableEdit(mediator.getCurrentDataMap(), mediator.getCurrentEmbeddable()));
removeEmbeddable(mediator.getCurrentDataMap(), mediator.getCurrentEmbeddable());
}
} else if (mediator.getCurrentDataMap() != null) {
if (dialog.shouldDelete("data map", mediator.getCurrentDataMap().getName())) {
// In context of Data node just remove from Data Node
if (mediator.getCurrentDataNode() != null) {
application.getUndoManager().addEdit(new RemoveUndoableEdit(application, mediator.getCurrentDataNode(), mediator.getCurrentDataMap()));
removeDataMapFromDataNode(mediator.getCurrentDataNode(), mediator.getCurrentDataMap());
} else {
// Not under Data Node, remove completely
application.getUndoManager().addEdit(new RemoveUndoableEdit(application, mediator.getCurrentDataMap()));
removeDataMap(mediator.getCurrentDataMap());
}
}
} else if (mediator.getCurrentDataNode() != null) {
if (dialog.shouldDelete("data node", mediator.getCurrentDataNode().getName())) {
application.getUndoManager().addEdit(new RemoveUndoableEdit(application, mediator.getCurrentDataNode()));
removeDataNode(mediator.getCurrentDataNode());
}
} else if (mediator.getCurrentPaths() != null) {
// multiple deletion
if (dialog.shouldDelete("selected objects")) {
ConfigurationNode[] paths = mediator.getCurrentPaths();
ConfigurationNode parentPath = mediator.getCurrentParentPath();
CompoundEdit compoundEdit = new RemoveCompoundUndoableEdit();
for (ConfigurationNode path : paths) {
compoundEdit.addEdit(removeLastPathComponent(path, parentPath));
}
compoundEdit.end();
application.getUndoManager().addEdit(compoundEdit);
}
} else if (mediator.getCurrentCallbackMethods().length > 0) {
removeMethods(mediator, dialog, getProjectController().getCurrentCallbackMethods());
} else if (mediator.getCurrentObjRelationships().length > 0) {
removeObjRelationships(mediator, dialog, getProjectController().getCurrentObjRelationships());
} else if (mediator.getCurrentDbRelationships().length > 0) {
removeDBRelationships(mediator, dialog, getProjectController().getCurrentDbRelationships());
} else if (mediator.getCurrentObjAttributes().length > 0) {
removeObjAttributes(mediator, dialog, getProjectController().getCurrentObjAttributes());
} else if (mediator.getCurrentEmbAttributes().length > 0) {
removeEmbAttributes(mediator, dialog, getProjectController().getCurrentEmbAttributes());
} else if (mediator.getCurrentDbAttributes().length > 0) {
removeDbAttributes(mediator, dialog, getProjectController().getCurrentDbAttributes());
} else if (mediator.getCurrentProcedureParameters().length > 0) {
removeProcedureParameters(mediator.getCurrentProcedure(), mediator.getCurrentProcedureParameters());
}
}
use of org.apache.cayenne.modeler.dialog.ConfirmRemoveDialog in project cayenne by apache.
the class RemoveCallbackMethodAction method performAction.
/**
* performs callback method removing
* @param e event
*/
public void performAction(ActionEvent e, boolean allowAsking) {
ConfirmRemoveDialog dialog = getConfirmDeleteDialog(allowAsking);
ObjCallbackMethod[] methods = getProjectController().getCurrentCallbackMethods();
if ((methods.length == 1 && dialog.shouldDelete("callback method", methods[0].getName())) || (methods.length > 1 && dialog.shouldDelete("selected callback methods"))) {
removeCallbackMethods();
}
}
use of org.apache.cayenne.modeler.dialog.ConfirmRemoveDialog in project cayenne by apache.
the class RemoveRelationshipAction method performAction.
@Override
public void performAction(ActionEvent e, boolean allowAsking) {
ConfirmRemoveDialog dialog = getConfirmDeleteDialog(allowAsking);
ProjectController mediator = getProjectController();
ObjRelationship[] rels = getProjectController().getCurrentObjRelationships();
if (rels != null && rels.length > 0) {
if ((rels.length == 1 && dialog.shouldDelete("ObjRelationship", rels[0].getName())) || (rels.length > 1 && dialog.shouldDelete("selected ObjRelationships"))) {
ObjEntity entity = mediator.getCurrentObjEntity();
removeObjRelationships(entity, rels);
Application.getInstance().getUndoManager().addEdit(new RemoveRelationshipUndoableEdit(entity, rels));
}
} else {
DbRelationship[] dbRels = getProjectController().getCurrentDbRelationships();
if (dbRels != null && dbRels.length > 0) {
if ((dbRels.length == 1 && dialog.shouldDelete("DbRelationship", dbRels[0].getName())) || (dbRels.length > 1 && dialog.shouldDelete("selected DbRelationships"))) {
DbEntity entity = mediator.getCurrentDbEntity();
removeDbRelationships(entity, dbRels);
Application.getInstance().getUndoManager().addEdit(new RemoveRelationshipUndoableEdit(entity, dbRels));
}
}
}
}
use of org.apache.cayenne.modeler.dialog.ConfirmRemoveDialog in project cayenne by apache.
the class RemoveEntityAction method performAction.
@Override
public void performAction(ActionEvent e, boolean allowAsking) {
ConfirmRemoveDialog dialog = getConfirmDeleteDialog(allowAsking);
Entity entity = builder.getSelectedEntity();
if (entity == null) {
return;
}
if (entity instanceof ObjEntity) {
if (dialog.shouldDelete("ObjEntity", entity.getName())) {
application.getUndoManager().addEdit(new RemoveUndoableEdit(entity.getDataMap(), (ObjEntity) entity));
removeObjEntity(entity.getDataMap(), (ObjEntity) entity);
}
} else {
if (dialog.shouldDelete("DbEntity", entity.getName())) {
application.getUndoManager().addEdit(new RemoveUndoableEdit(entity.getDataMap(), (DbEntity) entity));
removeDbEntity(entity.getDataMap(), (DbEntity) entity);
}
}
}
use of org.apache.cayenne.modeler.dialog.ConfirmRemoveDialog in project cayenne by apache.
the class RemoveAttributeAction method performAction.
@Override
public void performAction(ActionEvent e, boolean allowAsking) {
ConfirmRemoveDialog dialog = getConfirmDeleteDialog(allowAsking);
ProjectController mediator = getProjectController();
EmbeddableAttribute[] embAttrs = getProjectController().getCurrentEmbAttributes();
ObjAttribute[] objAttrs = getProjectController().getCurrentObjAttributes();
DbAttribute[] dbAttrs = getProjectController().getCurrentDbAttributes();
if (embAttrs != null && embAttrs.length > 0) {
if ((embAttrs.length == 1 && dialog.shouldDelete("Embeddable Attribute", embAttrs[0].getName())) || (embAttrs.length > 1 && dialog.shouldDelete("selected EmbAttributes"))) {
Embeddable embeddable = mediator.getCurrentEmbeddable();
application.getUndoManager().addEdit(new RemoveAttributeUndoableEdit(embeddable, embAttrs));
removeEmbeddableAttributes(embeddable, embAttrs);
}
} else if (objAttrs != null && objAttrs.length > 0) {
if ((objAttrs.length == 1 && dialog.shouldDelete("ObjAttribute", objAttrs[0].getName())) || (objAttrs.length > 1 && dialog.shouldDelete("selected ObjAttributes"))) {
ObjEntity entity = mediator.getCurrentObjEntity();
application.getUndoManager().addEdit(new RemoveAttributeUndoableEdit(entity, objAttrs));
removeObjAttributes(entity, objAttrs);
}
} else if (dbAttrs != null && dbAttrs.length > 0) {
if ((dbAttrs.length == 1 && dialog.shouldDelete("DbAttribute", dbAttrs[0].getName())) || (dbAttrs.length > 1 && dialog.shouldDelete("selected DbAttributes"))) {
DbEntity entity = mediator.getCurrentDbEntity();
application.getUndoManager().addEdit(new RemoveAttributeUndoableEdit(entity, dbAttrs));
removeDbAttributes(mediator.getCurrentDataMap(), entity, dbAttrs);
}
}
}
Aggregations