Example usage for org.eclipse.jface.dialogs MessageDialog openWarning

List of usage examples for org.eclipse.jface.dialogs MessageDialog openWarning

Introduction

In this page you can find the example usage for org.eclipse.jface.dialogs MessageDialog openWarning.

Prototype

public static void openWarning(Shell parent, String title, String message) 

Source Link

Document

Convenience method to open a standard warning dialog.

Usage

From source file:com.centurylink.mdw.plugin.designer.views.ProcessExplorerContentProvider.java

License:Apache License

public Object[] getChildren(Object parentElement) {
    if (parentElement instanceof WorkflowProject) {
        final WorkflowProject workflowProject = (WorkflowProject) parentElement;

        if (!workflowProject.isLoaded()) {
            try {
                IRunnableWithProgress loader = new IRunnableWithProgress() {
                    public void run(IProgressMonitor monitor)
                            throws InvocationTargetException, InterruptedException {
                        ProgressMonitor progressMonitor = new SwtProgressMonitor(monitor);
                        progressMonitor.start("Loading " + workflowProject.getLabel());
                        progressMonitor.progress(5);
                        try {
                            workflowProject.initialize(progressMonitor);
                            if (workflowProject.getDataAccess() != null) {
                                workflowProject.getTopLevelUserVisiblePackages(progressMonitor);
                                workflowProject.getArchivedUserVisiblePackagesFolder(progressMonitor);
                                progressMonitor.done();
                            }//from www .j  av  a 2s.  co m
                        } catch (Exception ex) {
                            throw new InvocationTargetException(ex);
                        }
                    }
                };
                ProgressMonitorDialog progMonDlg = new MdwProgressMonitorDialog(MdwPlugin.getShell());
                progMonDlg.run(true, false, loader);
            } catch (InvocationTargetException itx) {
                if (itx.getCause() instanceof DataUnavailableException) {
                    PluginMessages.log(itx);
                    MessageDialog.openWarning(MdwPlugin.getShell(), "Load Workflow Project",
                            itx.getCause().getMessage());
                } else if (itx.getCause() instanceof DataAccessOfflineException) {
                    PluginMessages.log(itx);
                    MessageDialog.openError(MdwPlugin.getShell(), "Load Workflow Project",
                            itx.getCause().getMessage());
                    return new WorkflowPackage[0];
                } else {
                    PluginMessages.uiError(itx, "Load Workflow Project", workflowProject);
                    return new WorkflowPackage[0];
                }
            } catch (Exception ex) {
                PluginMessages.uiError(ex, "Load Workflow Project", workflowProject);
                return new WorkflowPackage[0];
            }
        }

        if (workflowProject.getDataAccess() == null)
            return new WorkflowPackage[0];

        List<WorkflowPackage> topLevelPackages = workflowProject.getTopLevelUserVisiblePackages();
        Folder archivedPackageFolder = workflowProject.getArchivedUserVisiblePackagesFolder();

        int size = topLevelPackages.size();
        boolean showArchived = isShowArchivedItems(workflowProject);
        if (showArchived)
            size++;

        AutomatedTestSuite testSuite = workflowProject.getLegacyTestSuite();
        if (testSuite != null && !testSuite.isEmpty())
            size++;

        Object[] objects = new Object[size];
        for (int i = 0; i < topLevelPackages.size(); i++)
            objects[i] = topLevelPackages.get(i);

        int cur = topLevelPackages.size();
        if (showArchived) {
            objects[cur] = archivedPackageFolder;
            cur++;
        }

        if (testSuite != null && !testSuite.isEmpty())
            objects[cur] = testSuite;

        return objects;
    } else if (parentElement instanceof WorkflowPackage) {
        WorkflowPackage packageVersion = (WorkflowPackage) parentElement;
        if (packageVersion.isArchived() && packageVersion.hasDescendantPackageVersions()) {
            return packageVersion.getDescendantPackageVersions().toArray(new WorkflowPackage[0]);
        } else {
            List<WorkflowElement> elements = new ArrayList<WorkflowElement>();
            IPreferenceStore prefsStore = MdwPlugin.getDefault().getPreferenceStore();

            if (!prefsStore.getBoolean(PreferenceConstants.PREFS_FILTER_PROCESSES_IN_PEX))
                elements.addAll(packageVersion.getProcesses());
            if (!prefsStore.getBoolean(PreferenceConstants.PREFS_FILTER_WORKFLOW_ASSETS_IN_PEX))
                elements.addAll(packageVersion.getAssets());
            if (!prefsStore.getBoolean(PreferenceConstants.PREFS_FILTER_EVENT_HANDLERS_IN_PEX))
                elements.addAll(packageVersion.getExternalEvents());
            if (prefsStore.getBoolean(PreferenceConstants.PREFS_SHOW_ACTIVITY_IMPLEMENTORS_IN_PEX))
                elements.addAll(packageVersion.getActivityImpls());
            if (!prefsStore.getBoolean(PreferenceConstants.PREFS_FILTER_TASK_TEMPLATES_IN_PEX))
                elements.addAll(packageVersion.getTaskTemplates());
            elements.addAll(packageVersion.getChildFolders());

            if (isSortPackageContentsAtoZ()) {
                Collections.sort(elements, new Comparator<WorkflowElement>() {
                    public int compare(WorkflowElement e1, WorkflowElement e2) {
                        return e1.getLabel().compareToIgnoreCase(e2.getLabel());
                    }
                });
            }

            return elements.toArray(new Object[0]);
        }
    } else if (parentElement instanceof WorkflowProcess) {
        WorkflowProcess processVersion = (WorkflowProcess) parentElement;
        if (processVersion.hasDescendantProcessVersions()) {
            return processVersion.getDescendantProcessVersions().toArray(new WorkflowProcess[0]);
        } else {
            return EMPTY_ARRAY;
        }
    } else if (parentElement instanceof Folder) {
        Folder folder = (Folder) parentElement;
        return folder.getChildren().toArray(new WorkflowElement[0]);
    } else if (parentElement instanceof AutomatedTestSuite) {
        AutomatedTestSuite testSuite = (AutomatedTestSuite) parentElement;
        return testSuite.getTestCases().toArray(new AutomatedTestCase[0]);
    } else if (parentElement instanceof AutomatedTestCase) {
        AutomatedTestCase testCase = (AutomatedTestCase) parentElement;
        if (!testCase.isLegacy())
            return EMPTY_ARRAY;
        List<LegacyExpectedResults> expectedResults = testCase.getLegacyExpectedResults();
        List<File> files = testCase.getFiles();
        Object[] objects = new Object[expectedResults.size() + files.size()];
        for (int i = 0; i < expectedResults.size(); i++)
            objects[i] = expectedResults.get(i);
        for (int i = expectedResults.size(); i < objects.length; i++)
            objects[i] = files.get(i - expectedResults.size());
        return objects;
    } else {
        return EMPTY_ARRAY;
    }
}

From source file:com.centurylink.mdw.plugin.designer.views.ProcessExplorerDropTarget.java

License:Apache License

/**
 * @param processInfo//from ww  w  . j  a va 2 s  . co m
 * @param targetPackage
 * @param operation
 * @return
 */
private boolean handleDropProcess(String processInfo, WorkflowPackage targetPackage, int operation) {
    String processName = getProcessName(processInfo);
    String version = getProcessVersion(processInfo);
    WorkflowProject targetProject = targetPackage.getProject();
    WorkflowPackage sourcePackage = targetProject.getPackage(getPackageName(processInfo));
    DesignerProxy designerProxy = targetProject.getDesignerProxy();

    if (operation == DND.DROP_COPY) {
        String workflowProjectName = getWorkflowProjectName(processInfo);
        WorkflowProcess existing = targetProject.getProcess(processName, version);

        if (!targetPackage.getProject().getName().equals(workflowProjectName)) {
            // copying from remote project
            if (existing != null) {
                MessageDialog.openError(getViewer().getControl().getShell(), "Copy Foreign Process",
                        "' " + processName + " v" + version + "' already exists in workflow project '"
                                + targetPackage.getProject().getLabel() + "'.");
                return false;
            }

            WorkflowProject sourceProject = WorkflowProjectManager.getInstance()
                    .getWorkflowProject(workflowProjectName);

            designerProxy.copyForeignProcess(processName, version, sourceProject, targetPackage);
            WorkflowProcess newCopy = targetProject.getProcess(processName, "0.1");
            if (newCopy != null) {
                newCopy.addElementChangeListener(targetProject);
                newCopy.fireElementChangeEvent(ChangeType.ELEMENT_CREATE, newCopy);
            }

            ((TreeViewer) getViewer()).refresh(targetPackage, true);
            return true;
        } else {
            // is there a dirty editor open?
            if (existing != null) {
                IEditorPart editor = findOpenEditor(existing);
                if (editor != null && editor.isDirty()) {
                    MessageDialog.openWarning(getViewer().getControl().getShell(), "Copy Process", "' "
                            + processName + " v" + version
                            + "' is currently open in an editor.\nPlease save or close before copying.");
                    return false;
                }
            }
            CopyDialog copyDialog = new CopyDialog(getViewer().getControl().getShell(), existing, processName,
                    version, targetPackage);
            if (copyDialog.open() == Dialog.OK) {
                String newName = copyDialog.getNewName();
                designerProxy.copyProcess(processName, version, newName, targetPackage);
                WorkflowProcess newCopy = targetProject.getProcess(newName, "0.1");
                if (newCopy != null) {
                    newCopy.addElementChangeListener(targetProject);
                    newCopy.fireElementChangeEvent(ChangeType.ELEMENT_CREATE, newCopy);
                }
                ((TreeViewer) getViewer()).refresh(targetPackage, true);
                return true;
            }
        }

        return false;
    } else if (operation == DND.DROP_MOVE) {
        // don't allow multiple versions of the same process in a package
        if (!targetPackage.isDefaultPackage()) {
            if (targetPackage.getProcess(processName) != null) {
                MessageDialog.openError(MdwPlugin.getShell(), "Process Exists", "Process '" + processName
                        + "' already exists in package '" + targetPackage.getName() + "'.");
                return false;
            }
        }

        if (targetPackage.isDefaultPackage()) {
            designerProxy.removeProcessFromPackage(processName, version, sourcePackage);
        } else {
            designerProxy.moveProcessToPackage(processName, version, targetPackage);
        }
        ((TreeViewer) getViewer()).refresh(targetPackage.getProject(), true);
        if (sourcePackage != null)
            ((TreeViewer) getViewer()).refresh(sourcePackage.getProject(), true);
        return true;
    } else {
        return false;
    }
}

From source file:com.centurylink.mdw.plugin.designer.views.ToolboxView.java

License:Apache License

public void handleFilter() {
    if (isDirty()) {
        MessageDialog.openWarning(getSite().getShell(), "Please Save",
                "Please save or abandon outstanding changes before filtering");
        return;//from   w  w w  .j a va2s  . c  o  m
    }

    WorkflowProject project = getProject();
    try {
        ToolboxFilterDialog filterDlg = new ToolboxFilterDialog(getSite().getShell(), project,
                project.getSuppressedActivityImplementors());
        int res = filterDlg.open();
        if (res == Dialog.OK) {
            project.setSuppressedActivityImplementors(filterDlg.getSuppressedImplementors());
            toolboxWrapper.update();
            actionGroup.getDeleteAction().setEnabled(false);
        }
    } catch (IOException ex) {
        PluginMessages.uiError(ex, "Filter Implementors", project);
    }
}

From source file:com.centurylink.mdw.plugin.designer.views.ToolboxView.java

License:Apache License

public void handleNew() {
    if (isDirty()) {
        MessageDialog.openWarning(getSite().getShell(), "Please Save",
                "Please save or abandon outstanding changes before creating a new implementor");
        return;//from  www.ja  va  2s  .c o m
    } else {
        IWorkbench workbench = PlatformUI.getWorkbench();
        NewWizard wizard = new NewWizard();
        wizard.setCategoryId("mdw.codegen.activity");
        wizard.init(workbench, new StructuredSelection(getProject()));

        IDialogSettings workbenchSettings = IDEWorkbenchPlugin.getDefault().getDialogSettings();
        IDialogSettings wizardSettings = workbenchSettings.getSection("NewWizardAction");
        if (wizardSettings == null)
            wizardSettings = workbenchSettings.addNewSection("NewWizardAction");
        wizardSettings.put("NewWizardSelectionPage.STORE_SELECTED_ID", "mdw.codegen.general.activity");
        wizard.setDialogSettings(wizardSettings);
        wizard.setForcePreviousAndNextButtons(true);

        WizardDialog dialog = new WizardDialog(null, wizard);
        dialog.create();
        if (dialog.open() != Dialog.CANCEL)
            toolboxWrapper.update();
    }
}

From source file:com.centurylink.mdw.plugin.designer.views.ToolboxView.java

License:Apache License

public void handleDiscover() {
    if (isDirty()) {
        MessageDialog.openWarning(getSite().getShell(), "Please Save",
                "Please save or abandon outstanding changes before discovering new assets");
        return;//from ww w.j a v  a  2  s . c  o  m
    } else {
        IWorkbench workbench = PlatformUI.getWorkbench();
        ImportPackageWizard wiz = new ImportPackageWizard();
        wiz.init(workbench, new StructuredSelection(getProject()));
        WizardDialog dlg = new WizardDialog(getSite().getShell(), wiz);
        if (dlg.open() != Dialog.CANCEL)
            toolboxWrapper.update();
    }
}

From source file:com.centurylink.mdw.plugin.designer.views.ToolboxView.java

License:Apache License

public void handleDelete() {
    ActivityImpl activityImpl = getSelection();
    if (activityImpl == null) {
        MessageDialog.openWarning(getSite().getShell(), "No Selection",
                "Please select an Activity Implementor To Delete");
        return;/*from  w ww.ja  va2 s  .c om*/
    }
    if (isDirty()) {
        MessageDialog.openWarning(getSite().getShell(), "Please Save",
                "Please save or abandon outstanding changes before deleting");
        return;
    } else {
        new WorkflowElementActionHandler().delete(new WorkflowElement[] { activityImpl });
        toolboxWrapper.update();
        dirtyStateChanged(false);
        actionGroup.getDeleteAction().setEnabled(false);
    }
}

From source file:com.centurylink.mdw.plugin.project.assembly.ExtensionModulesUpdater.java

License:Apache License

private void doAdd(final ExtensionModule module, final Shell shell) {
    try {/*  ww w  .  j a  v a2  s .c o  m*/
        ProgressMonitorDialog pmDialog = new MdwProgressMonitorDialog(shell);
        pmDialog.run(true, true, new IRunnableWithProgress() {

            public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
                monitor.beginTask("Adding Extension Module: " + module.getName(), 105);
                monitor.worked(5);
                try {
                    if (module.addTo(project, monitor))
                        project.addExtension(module);
                    WorkflowProjectManager.getInstance().save(project);
                    monitor.done();
                } catch (InterruptedException ex) {
                    throw ex;
                } catch (Exception ex) {
                    PluginMessages.log(ex);
                    throw new InvocationTargetException(ex);
                }
            }
        });
    } catch (InvocationTargetException ex) {
        PluginMessages.uiError(shell, ex, "Add Extension Module", project);
    } catch (InterruptedException ex) {
        PluginMessages.log(ex);
        MessageDialog.openWarning(shell, "Add Extension Module", "Operation cancelled");
    }
}

From source file:com.centurylink.mdw.plugin.project.assembly.ExtensionModulesUpdater.java

License:Apache License

private void doRemove(final ExtensionModule module, final Shell shell) {
    try {//  www  . ja v a 2  s .  co m
        ProgressMonitorDialog pmDialog = new MdwProgressMonitorDialog(shell);
        pmDialog.run(true, true, new IRunnableWithProgress() {

            public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
                monitor.beginTask("Removing Extension Module: " + module.getName(), 105);
                monitor.worked(5);
                try {
                    if (module.removeFrom(project, monitor))
                        project.removeExtension(module);
                    WorkflowProjectManager.getInstance().save(project);
                    monitor.done();
                } catch (InterruptedException ex) {
                    throw ex;
                } catch (Exception ex) {
                    PluginMessages.log(ex);
                    throw new InvocationTargetException(ex);
                }
            }
        });
    } catch (InvocationTargetException ex) {
        PluginMessages.uiError(shell, ex, "Remove Extension Module", project);
    } catch (InterruptedException ex) {
        PluginMessages.log(ex);
        MessageDialog.openWarning(shell, "Remove Extension Module", "Operation cancelled");
    }
}

From source file:com.centurylink.mdw.plugin.project.assembly.ExtensionModulesUpdater.java

License:Apache License

private void doUpdate(final ExtensionModule module, final Shell shell) {
    try {//from w w w . j a  v  a 2 s. co m
        ProgressMonitorDialog pmDialog = new MdwProgressMonitorDialog(shell);
        pmDialog.run(true, true, new IRunnableWithProgress() {

            public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
                monitor.beginTask("Updating Extension Module: " + module.getName(), 105);
                monitor.worked(5);
                try {
                    module.update(project, monitor);
                    monitor.done();
                } catch (InterruptedException ex) {
                    throw ex;
                } catch (Exception ex) {
                    PluginMessages.log(ex);
                    throw new InvocationTargetException(ex);
                }
            }
        });
    } catch (InvocationTargetException ex) {
        PluginMessages.uiError(shell, ex, "Update Extension Module", project);
    } catch (InterruptedException ex) {
        PluginMessages.log(ex);
        MessageDialog.openWarning(shell, "Update Extension Module", "Operation cancelled");
    }
}

From source file:com.centurylink.mdw.plugin.project.WorkflowProjectManager.java

License:Apache License

public void deleteProject(IProject project) {
    WorkflowProject workflowProject = getWorkflowProject(project);
    if (workflowProject != null) {
        deleteProject(workflowProject);//  w  w w  .  j av  a 2  s  .  co  m
    } else {
        try {
            project.delete(true, true, null);
        } catch (CoreException ex) {
            if (ex instanceof ResourceException
                    && ex.getMessage().startsWith("Problems encountered while deleting"))
                MessageDialog.openWarning(MdwPlugin.getShell(), "Problems Deleting",
                        "Not all resources under project '" + project.getName()
                                + "' could be deleted.\nPlease delete the project manually on the file system.");
            else
                PluginMessages.uiError(ex, "Delete Project", workflowProject);
        }
    }
}