Search in sources :

Example 1 with MultipleDeletionDialog

use of com.twinsoft.convertigo.engine.studio.dialogs.MultipleDeletionDialog in project convertigo by convertigo.

the class DatabaseObjectDeleteAction method run2.

@Override
protected void run2() throws Exception {
    String qname = null;
    try {
        treeNodesToUpdate = new ArrayList<WrapDatabaseObject>();
        WrapDatabaseObject treeObject = null;
        WrapObject[] treeObjects = studio.getSelectedObjects().toArray(new WrapObject[0]);
        dboDoDelete = new HashMap<>(treeObjects.length);
        if (treeObjects != null) {
            MultipleDeletionDialog dialog = new MultipleDeletionDialog(studio, "Object Deletion", treeObjects.length > 1);
            for (int i = 0; i < treeObjects.length; ++i) {
                treeObject = (WrapDatabaseObject) treeObjects[i];
                String message = treeObject.instanceOf(Project.class) ? java.text.MessageFormat.format("Do you really want to delete the project \"{0}\" and all its sub-objects?", new Object[] { treeObject.getName() }) : java.text.MessageFormat.format("Do you really want to delete the object \"{0}\" and all its sub-objects?", new Object[] { treeObject.getName() });
                qname = ((DatabaseObject) treeObject.getObject()).getQName();
                if (!dialog.shouldBeDeleted(message)) {
                    dboDoDelete.put(qname, false);
                    continue;
                }
                dboDoDelete.put(qname, true);
                if (treeObject.instanceOf(Project.class)) {
                    ((ProjectView) treeObject).closeAllEditors();
                } else if (treeObject.instanceOf(Sequence.class)) {
                    ((ProjectView) ((SequenceView) treeObject).getParent()).closeSequenceEditors((Sequence) treeObject.getObject());
                } else if (treeObject.instanceOf(Connector.class)) {
                    ((ProjectView) ((ConnectorView) treeObject).getParent()).closeConnectorEditors((Connector) treeObject.getObject());
                } else if (treeObject.instanceOf(Step.class)) {
                // // We close the editor linked with the SimpleStep (=SequenceJsStep)
                // if (treeObject.getObject() instanceof SimpleStep) {
                // boolean find = false;
                // SimpleStep simpleStep = (SimpleStep) treeObject.getObject();
                // IWorkbenchPage page = this.getActivePage();
                // IEditorReference[] editors = page.getEditorReferences();
                // int _i = 0;
                // while (find != true && _i < editors.length) {
                // IEditorReference editor = editors[_i];
                // IEditorPart editorPart = page.findEditor(editor.getEditorInput());
                // if (editorPart != null && editorPart instanceof JscriptStepEditor) {
                // JscriptStepEditor jscriptEditor = (JscriptStepEditor) editorPart;
                // if (jscriptEditor.getSimpleStepLinked().equals(simpleStep)) {
                // find = true;
                // page.activate(editorPart);
                // page.closeEditor(editorPart, false);
                // }
                // }
                // ++_i;
                // }
                }
                delete(treeObject);
                if (treeObject.instanceOf(Project.class)) {
                // explorerView.removeProjectTreeObject(treeObject);
                } else {
                // // prevents treeObject and its childs to receive further TreeObjectEvents
                // if (treeObject instanceof TreeObjectListener)
                // explorerView.removeTreeObjectListener(treeObject);
                // treeObject.removeAllChildren();
                }
            // 
            // explorerView.fireTreeObjectRemoved(new TreeObjectEvent(treeObject));
            }
        }
        // Updating the tree and the properties panel
        Enumeration<WrapDatabaseObject> enumeration = Collections.enumeration(treeNodesToUpdate);
        WrapDatabaseObject parentTreeObject;
        while (enumeration.hasMoreElements()) {
            parentTreeObject = enumeration.nextElement();
            if (parentTreeObject != null) {
            // explorerView.reloadTreeObject(parentTreeObject);
            // explorerView.setSelectedTreeObject(parentTreeObject);
            }
        }
    // 
    // Refresh tree to show potential 'broken' steps
    // explorerView.refreshTree();
    } catch (Exception e) {
        throw e;
    }
}
Also used : WrapObject(com.twinsoft.convertigo.engine.studio.views.projectexplorer.model.WrapObject) MultipleDeletionDialog(com.twinsoft.convertigo.engine.studio.dialogs.MultipleDeletionDialog) Sequence(com.twinsoft.convertigo.beans.core.Sequence) ThenStep(com.twinsoft.convertigo.beans.steps.ThenStep) Step(com.twinsoft.convertigo.beans.core.Step) ElseStep(com.twinsoft.convertigo.beans.steps.ElseStep) ConvertigoException(com.twinsoft.convertigo.engine.ConvertigoException) IOException(java.io.IOException) EngineException(com.twinsoft.convertigo.engine.EngineException) Project(com.twinsoft.convertigo.beans.core.Project) SequenceView(com.twinsoft.convertigo.engine.studio.views.projectexplorer.model.SequenceView) WrapObject(com.twinsoft.convertigo.engine.studio.views.projectexplorer.model.WrapObject) DatabaseObject(com.twinsoft.convertigo.beans.core.DatabaseObject) WrapDatabaseObject(com.twinsoft.convertigo.engine.studio.views.projectexplorer.model.WrapDatabaseObject) WrapDatabaseObject(com.twinsoft.convertigo.engine.studio.views.projectexplorer.model.WrapDatabaseObject) ProjectView(com.twinsoft.convertigo.engine.studio.views.projectexplorer.model.ProjectView)

Aggregations

DatabaseObject (com.twinsoft.convertigo.beans.core.DatabaseObject)1 Project (com.twinsoft.convertigo.beans.core.Project)1 Sequence (com.twinsoft.convertigo.beans.core.Sequence)1 Step (com.twinsoft.convertigo.beans.core.Step)1 ElseStep (com.twinsoft.convertigo.beans.steps.ElseStep)1 ThenStep (com.twinsoft.convertigo.beans.steps.ThenStep)1 ConvertigoException (com.twinsoft.convertigo.engine.ConvertigoException)1 EngineException (com.twinsoft.convertigo.engine.EngineException)1 MultipleDeletionDialog (com.twinsoft.convertigo.engine.studio.dialogs.MultipleDeletionDialog)1 ProjectView (com.twinsoft.convertigo.engine.studio.views.projectexplorer.model.ProjectView)1 SequenceView (com.twinsoft.convertigo.engine.studio.views.projectexplorer.model.SequenceView)1 WrapDatabaseObject (com.twinsoft.convertigo.engine.studio.views.projectexplorer.model.WrapDatabaseObject)1 WrapObject (com.twinsoft.convertigo.engine.studio.views.projectexplorer.model.WrapObject)1 IOException (java.io.IOException)1