action.paste(where, content, domain, map);
}
@Override
public void undo() throws CannotUndoException {
RemoveAttributeAction rAttributeAction = actionManager
.getAction(RemoveAttributeAction.class);
RemoveAction rAction = actionManager.getAction(RemoveAction.class);
RemoveRelationshipAction rRelationShipAction = actionManager
.getAction(RemoveRelationshipAction.class);
RemoveProcedureParameterAction rProcedureParamAction = actionManager
.getAction(RemoveProcedureParameterAction.class);
if (content instanceof DataMap) {
if (where instanceof DataChannelDescriptor) {
rAction.removeDataMap((DataMap) content);
}
else if (where instanceof DataNodeDescriptor) {
rAction.removeDataMapFromDataNode(
(DataNodeDescriptor) where,
(DataMap) content);
}
}
else if (where instanceof DataMap) {
if (content instanceof DbEntity) {
rAction.removeDbEntity(map, (DbEntity) content);
}
else if (content instanceof ObjEntity) {
rAction.removeObjEntity(map, (ObjEntity) content);
}
else if (content instanceof Embeddable) {
rAction.removeEmbeddable(map, (Embeddable) content);
}
else if (content instanceof Query) {
rAction.removeQuery(map, (Query) content);
}
else if (content instanceof Procedure) {
rAction.removeProcedure(map, (Procedure) content);
}
}
else if (where instanceof DbEntity) {
if (content instanceof DbEntity) {
rAction.removeDbEntity(map, (DbEntity) content);
}
else if (content instanceof DbAttribute) {
rAttributeAction.removeDbAttributes(
map,
(DbEntity) where,
new DbAttribute[] {
(DbAttribute) content
});
}
else if (content instanceof DbRelationship) {
rRelationShipAction.removeDbRelationships(
(DbEntity) where,
new DbRelationship[] {
(DbRelationship) content
});
}
}
else if (where instanceof ObjEntity) {
if (content instanceof ObjEntity) {
rAction.removeObjEntity(map, (ObjEntity) content);
}
else if (content instanceof ObjAttribute) {
rAttributeAction.removeObjAttributes(
(ObjEntity) where,
new ObjAttribute[] {
(ObjAttribute) content
});
}