Example usage for org.eclipse.jface.dialogs ProgressMonitorDialog getProgressMonitor

List of usage examples for org.eclipse.jface.dialogs ProgressMonitorDialog getProgressMonitor

Introduction

In this page you can find the example usage for org.eclipse.jface.dialogs ProgressMonitorDialog getProgressMonitor.

Prototype

public IProgressMonitor getProgressMonitor() 

Source Link

Document

Returns the progress monitor to use for operations run in this progress dialog.

Usage

From source file:org.emftrace.ui.validation.ProjectCleaningHandler.java

License:Open Source License

@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
    ISelection sel = HandlerUtil.getCurrentSelection(event);
    final ECPProject project = (ECPProject) ((StructuredSelection) sel).getFirstElement();
    final Shell shell = HandlerUtil.getActiveWorkbenchWindow(event).getShell();

    final ProgressMonitorDialog progressDialog = new ProgressMonitorDialog(shell);

    progressDialog.open();/*from w  ww .  j  a  v a2  s.co m*/
    progressDialog.getProgressMonitor().beginTask("Cleaning up project...", 10);

    Callable<Void> call = new Callable<Void>() {
        @Override
        public Void call() throws Exception {
            Activator.getAccessLayer().invalidateCache(project);
            Activator.getProjectCleaner().cleanUpRuleOrphans(project);
            progressDialog.getProgressMonitor().worked(1);
            Activator.getProjectCleaner().cleanUpLinkTypeOrphans(project);
            progressDialog.getProgressMonitor().worked(1);
            Activator.getProjectCleaner().cleanUpViolationTypeOrphans(project);
            progressDialog.getProgressMonitor().worked(1);
            Activator.getProjectCleaner().cleanUpChangeTypeOrphans(project);
            progressDialog.getProgressMonitor().worked(1);
            Activator.getProjectCleaner().updateLinkTypeCatalogs(project);
            progressDialog.getProgressMonitor().worked(1);
            Activator.getProjectCleaner().updateViolationTypeCatalogs(project);
            progressDialog.getProgressMonitor().worked(1);
            Activator.getProjectCleaner().updateRuleCatalogs(project);
            progressDialog.getProgressMonitor().worked(1);
            Activator.getProjectCleaner().updateChangeTypeCatalogs(project);
            progressDialog.getProgressMonitor().worked(1);
            Activator.getProjectCleaner().updateLinkContainer(project);
            progressDialog.getProgressMonitor().worked(1);
            Activator.getProjectCleaner().updateReportContainer(project);
            progressDialog.getProgressMonitor().worked(1);

            return null;
        }
    };

    RunESCommand.run(call);

    progressDialog.getProgressMonitor().done();
    progressDialog.close();

    return null;
}

From source file:org.jboss.tools.xform.Activator.java

License:Open Source License

/**
 * @return the session to the ModeShape workspace repository.
 *///from   w w w  .ja v  a 2s. co m
public Session workspaceRepositorySession() {
    if (modeShape == null)
        try {
            final ProgressMonitorDialog dlg = new ProgressMonitorDialog(null);
            dlg.open();
            dlg.getProgressMonitor().setTaskName("Starting workspace repository...");
            dlg.run(false, false, new IRunnableWithProgress() {

                @SuppressWarnings("synthetic-access")
                @Override
                public void run(final IProgressMonitor monitor) throws InvocationTargetException {
                    try {
                        modeShape = new ModeShapeEngine();
                        modeShape.start();
                        final RepositoryConfiguration config = RepositoryConfiguration
                                .read("workspaceRepository.json");
                        final Problems problems = config.validate();
                        if (problems.hasProblems())
                            for (final Problem problem : problems) {
                                int severity;
                                switch (problem.getStatus()) {
                                case ERROR:
                                    severity = IStatus.ERROR;
                                    break;
                                case WARNING:
                                    severity = IStatus.WARNING;
                                    break;
                                default:
                                    severity = IStatus.INFO;
                                }
                                log(severity, problem.getThrowable());
                            }
                        if (problems.hasErrors())
                            throw new RuntimeException(problems.iterator().next().getThrowable());
                        Repository repository;
                        try {
                            repository = modeShape.getRepository(config.getName());
                        } catch (final NoSuchRepositoryException err) {
                            repository = modeShape.deploy(config);
                        }
                        session = repository.login("default");
                    } catch (final Exception error) {
                        throw new InvocationTargetException(error);
                    }
                }
            });
        } catch (InvocationTargetException | InterruptedException error) {
            throw new RuntimeException(error);
        }
    return session;
}

From source file:org.lejos.tools.eclipse.plugin.util.AbstractJavaTestProject.java

License:Open Source License

public void buildProject() throws CoreException {
    if (!hasBeenBuild()) {
        Shell shell = new Shell();
        ProgressMonitorDialog dialog = new ProgressMonitorDialog(shell);
        dialog.open();// w w  w. ja  va 2s  .  co m
        IProgressMonitor monitor = dialog.getProgressMonitor();
        try {
            monitor.beginTask("Building project", 100);
            this.project.build(IncrementalProjectBuilder.FULL_BUILD, monitor);
        } finally {
            monitor.done();
        }
        dialog.close();
    }
}

From source file:org.occiware.clouddesigner.occi.emfgen.ui.popup.actions.GenUtils.java

License:Open Source License

public static IProject genDesignProject(String projectName, String modelFileName, String extensionScheme,
        ProgressMonitorDialog dialog) throws CoreException, IOException {
    final IPath projectLocationPath = ResourcesPlugin.getWorkspace().getRoot().getLocation();
    IProject project = ViewpointSpecificationProject.createNewViewpointSpecificationProject(
            PlatformUI.getWorkbench(), projectName, projectLocationPath, modelFileName,
            ViewpointSpecificationProject.INITIAL_OBJECT_NAME, ViewpointSpecificationProject.ENCODING_DEFAULT,
            dialog);//from   w w w . ja v  a  2 s.co  m

    // add dependency to the metamodel
    IFile manifest = PDEProject.getManifest(project);
    StringBuilder buffer = new StringBuilder();
    BufferedReader in = new BufferedReader(new InputStreamReader(manifest.getContents()));
    String inputLine;
    while ((inputLine = in.readLine()) != null) {
        buffer.append(inputLine + "\n");
        if (inputLine.startsWith("Require-Bundle:")) {
            buffer.append(" org.occiware.clouddesigner.occi,\n");
            buffer.append(" org.occiware.clouddesigner.occi.design,\n");
        }
    }
    in.close();
    manifest.setContents(new ByteArrayInputStream(buffer.toString().getBytes()), 0,
            dialog.getProgressMonitor());

    String modelName = modelFileName.substring(0, modelFileName.indexOf('.'));

    // add extension to plugin.xml
    IFile pluginXml = PDEProject.getPluginXml(project);
    buffer = new StringBuilder();
    in = new BufferedReader(new InputStreamReader(pluginXml.getContents()));
    while ((inputLine = in.readLine()) != null) {
        if (inputLine.startsWith("</plugin>")) {
            buffer.append("   <!-- Popup menu for creating a ").append(modelName)
                    .append(" configuration file. -->\n");
            buffer.append("   <extension point=\"org.eclipse.ui.newWizards\">\n");
            buffer.append("      <category\n");
            buffer.append("            id=\"org.occiware.clouddesigner.category.ID\"\n");
            buffer.append("            name=\"Cloud Designer\"/>\n");
            buffer.append("      <wizard\n");
            buffer.append("            category=\"org.occiware.clouddesigner.category.ID\"\n");
            buffer.append("            class=\"").append(projectName)
                    .append(".wizard.NewConfigurationWizard\"\n");
            buffer.append(
                    "            icon=\"platform:/plugin/org.occiware.clouddesigner.occi.edit/icons/full/obj16/Configuration.gif\"\n");
            buffer.append("            id=\"").append(projectName).append(".wizard.NewConfigurationWizard\"\n");
            buffer.append("            name=\"").append(modelName).append(" Configuration File\"/>\n");
            buffer.append("   </extension>\n");
        }
        buffer.append(inputLine + "\n");
    }
    in.close();
    pluginXml.setContents(new ByteArrayInputStream(buffer.toString().getBytes()), 0,
            dialog.getProgressMonitor());

    buffer = new StringBuilder();
    buffer.append("/*******************************************************************************\n");
    buffer.append(" * Copyright (c) 2015-2016 Obeo, Inria\n");
    buffer.append(" * All rights reserved. This program and the accompanying materials\n");
    buffer.append(" * are made available under the terms of the Eclipse Public License v1.0\n");
    buffer.append(" * which accompanies this distribution, and is available at\n");
    buffer.append(" * http://www.eclipse.org/legal/epl-v10.html\n");
    buffer.append(" *\n");
    buffer.append(" * Contributors:\n");
    buffer.append(" * - William Piers <william.piers@obeo.fr>\n");
    buffer.append(" * - Philippe Merle <philippe.merle@inria.fr>\n");
    buffer.append(" *******************************************************************************/\n");
    buffer.append("\n");
    buffer.append("package ").append(projectName).append(".wizard;\n");
    buffer.append("\n");
    buffer.append("import org.occiware.clouddesigner.occi.design.utils.NewDiagramWizard;\n");
    buffer.append("\n");
    buffer.append("/**\n");
    buffer.append(" * This is a simple wizard for creating a new ").append(modelName).append(" model file.\n");
    buffer.append(" */\n");
    buffer.append("\n");

    buffer.append("public class NewConfigurationWizard extends NewDiagramWizard\n");
    buffer.append("{\n");
    buffer.append("\tpublic NewConfigurationWizard()\n");
    buffer.append("\t{\n");
    String tmp = modelName.substring(0, 1).toUpperCase() + modelName.substring(1);
    buffer.append("\t\tsuper(\"").append(extensionScheme).append("\", \"viewpoint:/").append(projectName)
            .append("/").append(tmp).append("Configuration\", \"").append(modelName).append("\", \"")
            .append(tmp).append("Configuration Diagram\");\n");
    buffer.append("\t}\n");
    buffer.append("}\n");
    IFolder folder = project.getFolder("src/" + projectName.replaceAll("\\.", "/") + "/wizard");
    folder.create(false, false, dialog.getProgressMonitor());
    IFile newConfigurationWizard = folder.getFile("NewConfigurationWizard.java");
    newConfigurationWizard.create(new ByteArrayInputStream(buffer.toString().getBytes()), 0,
            dialog.getProgressMonitor());
    return project;
}

From source file:org.pentaho.di.ui.core.database.dialog.GetPreviewTableProgressDialog.java

License:Apache License

public List<Object[]> open() {
    IRunnableWithProgress op = new IRunnableWithProgress() {
        public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
            db = new Database(Spoon.loggingObject, dbMeta);
            try {
                db.connect();//  w  w w . j a v a  2s.  c  o  m

                if (limit > 0) {
                    db.setQueryLimit(limit);
                }

                rows = db.getFirstRows(tableName, limit, new ProgressMonitorAdapter(monitor));
                rowMeta = db.getReturnRowMeta();
            } catch (KettleException e) {
                throw new InvocationTargetException(e,
                        "Couldn't find any rows because of an error :" + e.toString());
            } finally {
                db.disconnect();
            }
        }
    };

    try {
        final ProgressMonitorDialog pmd = new ProgressMonitorDialog(shell);
        // Run something in the background to cancel active database queries, forecably if needed!
        Runnable run = new Runnable() {
            public void run() {
                IProgressMonitor monitor = pmd.getProgressMonitor();
                while (pmd.getShell() == null || (!pmd.getShell().isDisposed() && !monitor.isCanceled())) {
                    try {
                        Thread.sleep(100);
                    } catch (InterruptedException e) {
                        // Ignore
                    }
                }

                if (monitor.isCanceled()) { // Disconnect and see what happens!

                    try {
                        db.cancelQuery();
                    } catch (Exception e) {
                        // Ignore
                    }
                }
            }
        };
        // Start the cancel tracker in the background!
        new Thread(run).start();

        pmd.run(true, true, op);
    } catch (InvocationTargetException e) {
        showErrorDialog(e);
        return null;
    } catch (InterruptedException e) {
        showErrorDialog(e);
        return null;
    }

    return rows;
}

From source file:org.pentaho.di.ui.core.database.dialog.GetQueryFieldsProgressDialog.java

License:Apache License

public RowMetaInterface open() {
    IRunnableWithProgress op = new IRunnableWithProgress() {
        public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
            db = new Database(Spoon.loggingObject, dbMeta);
            try {
                db.connect();//from ww  w  .  ja v a2  s.  c  om
                result = db.getQueryFields(sql, false);
                if (monitor.isCanceled()) {
                    throw new InvocationTargetException(new Exception("This operation was cancelled!"));
                }
            } catch (Exception e) {
                throw new InvocationTargetException(e,
                        "Problem encountered determining query fields: " + e.toString());
            } finally {
                db.disconnect();
            }
        }
    };

    try {
        final ProgressMonitorDialog pmd = new ProgressMonitorDialog(shell);

        // Run something in the background to cancel active database queries, forecably if needed!
        Runnable run = new Runnable() {
            public void run() {
                IProgressMonitor monitor = pmd.getProgressMonitor();
                while (pmd.getShell() == null || (!pmd.getShell().isDisposed() && !monitor.isCanceled())) {
                    try {
                        Thread.sleep(250);
                    } catch (InterruptedException e) {
                        // Ignore
                    }
                }

                if (monitor.isCanceled()) { // Disconnect and see what happens!

                    try {
                        db.cancelQuery();
                    } catch (Exception e) {
                        // Ignore
                    }
                }
            }
        };
        // Dump the cancel looker in the background!
        new Thread(run).start();

        pmd.run(true, true, op);
    } catch (InvocationTargetException e) {
        showErrorDialog(e);
        return null;
    } catch (InterruptedException e) {
        showErrorDialog(e);
        return null;
    }

    return result;
}

From source file:org.pentaho.di.ui.core.database.dialog.GetTableSizeProgressDialog.java

License:Apache License

public Long open() {
    IRunnableWithProgress op = new IRunnableWithProgress() {
        public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
            db = new Database(Spoon.loggingObject, dbMeta);
            try {
                db.connect();/*from ww w  .  j a  va 2  s  . c om*/

                String sql = dbMeta.getDatabaseInterface().getSelectCountStatement(tableName);
                RowMetaAndData row = db.getOneRow(sql);
                size = row.getRowMeta().getInteger(row.getData(), 0);

                if (monitor.isCanceled()) {
                    throw new InvocationTargetException(new Exception("This operation was cancelled!"));
                }

            } catch (KettleException e) {
                throw new InvocationTargetException(e,
                        "Couldn't get a result because of an error :" + e.toString());
            } finally {
                db.disconnect();
            }
        }
    };

    try {
        final ProgressMonitorDialog pmd = new ProgressMonitorDialog(shell);
        // Run something in the background to cancel active database queries, forecably if needed!
        Runnable run = new Runnable() {
            public void run() {
                IProgressMonitor monitor = pmd.getProgressMonitor();
                while (pmd.getShell() == null || (!pmd.getShell().isDisposed() && !monitor.isCanceled())) {
                    try {
                        Thread.sleep(100);
                    } catch (InterruptedException e) {
                        // Ignore
                    }
                }

                if (monitor.isCanceled()) { // Disconnect and see what happens!

                    try {
                        db.cancelQuery();
                    } catch (Exception e) {
                        // Ignore
                    }
                }
            }
        };
        // Start the cancel tracker in the background!
        new Thread(run).start();

        pmd.run(true, true, op);
    } catch (InvocationTargetException e) {
        showErrorDialog(e);
        return null;
    } catch (InterruptedException e) {
        showErrorDialog(e);
        return null;
    }

    return size;
}

From source file:org.pentaho.di.ui.repository.dialog.RepositoryExportProgressDialog.java

License:Apache License

public boolean open() {
    boolean retval = true;

    final List<ExportFeedback> list = new ArrayList<ExportFeedback>();
    IRepositoryExporter tmpExporter = null;
    try {/* w w  w . jav  a 2s . c  o  m*/
        tmpExporter = rep.getExporter();
    } catch (KettleException e) {
        log.logError(RepositoryExportProgressDialog.class.toString(),
                "Error creating repository: " + e.toString());
        log.logError(Const.getStackTracker(e));
        new ErrorDialog(shell, BaseMessages.getString(PKG, "RepositoryExportDialog.ErrorExport.Title"),
                BaseMessages.getString(PKG, "RepositoryExportDialog.ErrorExport.Message"), e);
        return false;
    }
    final IRepositoryExporter exporter = tmpExporter;
    // this hack is only to support dog-nail build process for <...>
    // and keep base interfaces without changes - getExporter should 
    // directly return IRepositoryExporterFeedback.
    final boolean isFeedback = (exporter instanceof IRepositoryExporterFeedback) ? true : false;
    IRunnableWithProgress op = new IRunnableWithProgress() {
        public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
            try {
                exporter.setImportRulesToValidate(importRules);
                ProgressMonitorAdapter pMonitor = new ProgressMonitorAdapter(monitor);
                if (isFeedback) {
                    IRepositoryExporterFeedback fExporter = IRepositoryExporterFeedback.class.cast(exporter);
                    List<ExportFeedback> ret = fExporter.exportAllObjectsWithFeedback(pMonitor, filename, dir,
                            "all");
                    list.addAll(ret);
                } else {
                    exporter.exportAllObjects(pMonitor, filename, dir, "all");
                }
            } catch (KettleException e) {
                throw new InvocationTargetException(e, BaseMessages.getString(PKG,
                        "RepositoryExportDialog.Error.CreateUpdate", Const.getStackTracker(e)));
            }
        }
    };

    try {
        ProgressMonitorDialog pmd = new ProgressMonitorDialog(shell);
        pmd.run(true, true, op);

        if (!pmd.getProgressMonitor().isCanceled() && isFeedback) {
            // show some results here.
            IRepositoryExporterFeedback fExporter = IRepositoryExporterFeedback.class.cast(exporter);
            showExportResultStatus(list, fExporter.isRulesViolation());
        }
    } catch (InvocationTargetException e) {
        log.logError(RepositoryExportProgressDialog.class.toString(),
                "Error creating repository: " + e.toString());
        log.logError(Const.getStackTracker(e));
        new ErrorDialog(shell, BaseMessages.getString(PKG, "RepositoryExportDialog.ErrorExport.Title"),
                BaseMessages.getString(PKG, "RepositoryExportDialog.ErrorExport.Message"), e);
        retval = false;
    } catch (InterruptedException e) {
        log.logError(RepositoryExportProgressDialog.class.toString(),
                "Error creating repository: " + e.toString());
        log.logError(Const.getStackTracker(e));
        new ErrorDialog(shell, BaseMessages.getString(PKG, "RepositoryExportDialog.ErrorExport.Title"),
                BaseMessages.getString(PKG, "RepositoryExportDialog.ErrorExport.Message"), e);
        retval = false;
    }

    return retval;
}

From source file:org.pentaho.di.ui.spoon.dialog.CheckTransProgressDialog.java

License:Apache License

public void open() {
    final ProgressMonitorDialog pmd = new ProgressMonitorDialog(shell);

    IRunnableWithProgress op = new IRunnableWithProgress() {
        public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
            try {
                transMeta.checkSteps(remarks, onlySelected, new ProgressMonitorAdapter(monitor), space,
                        repository, metaStore);
            } catch (Exception e) {
                throw new InvocationTargetException(e, BaseMessages.getString(PKG,
                        "AnalyseImpactProgressDialog.RuntimeError.ErrorCheckingTransformation.Exception",
                        e.toString()));//w w w.jav a  2 s . c  o m
            }
        }
    };

    try {
        // Run something in the background to cancel active database queries, force this if needed!
        Runnable run = new Runnable() {
            public void run() {
                IProgressMonitor monitor = pmd.getProgressMonitor();
                while (pmd.getShell() == null || (!pmd.getShell().isDisposed() && !monitor.isCanceled())) {
                    try {
                        Thread.sleep(250);
                    } catch (InterruptedException e) {
                        // Ignore sleep interruption exception
                    }
                }

                if (monitor.isCanceled()) { // Disconnect and see what happens!

                    try {
                        transMeta.cancelQueries();
                    } catch (Exception e) {
                        // Ignore cancel errors
                    }
                }
            }
        };
        // Dump the cancel looker in the background!
        new Thread(run).start();

        pmd.run(true, true, op);
    } catch (InvocationTargetException e) {
        new ErrorDialog(shell,
                BaseMessages.getString(PKG,
                        "CheckTransProgressDialog.Dialog.ErrorCheckingTransformation.Title"),
                BaseMessages.getString(PKG,
                        "CheckTransProgressDialog.Dialog.ErrorCheckingTransformation.Message"),
                e);
    } catch (InterruptedException e) {
        new ErrorDialog(shell,
                BaseMessages.getString(PKG,
                        "CheckTransProgressDialog.Dialog.ErrorCheckingTransformation.Title"),
                BaseMessages.getString(PKG,
                        "CheckTransProgressDialog.Dialog.ErrorCheckingTransformation.Message"),
                e);
    }
}

From source file:org.pentaho.di.ui.spoon.trans.TransGraph.java

License:Apache License

/**
 * Display the input- or outputfields for a step.
 *
 * @param stepMeta The step (it's metadata) to query
 * @param before   set to true if you want to have the fields going INTO the step, false if you want to see all the
 *                 fields that exit the step.
 *//*from   ww  w .j  a v a2 s  . co m*/
private void inputOutputFields(StepMeta stepMeta, boolean before) {
    spoon.refreshGraph();

    transMeta.setRepository(spoon.rep);
    SearchFieldsProgressDialog op = new SearchFieldsProgressDialog(transMeta, stepMeta, before);
    boolean alreadyThrownError = false;
    try {
        final ProgressMonitorDialog pmd = new ProgressMonitorDialog(shell);

        // Run something in the background to cancel active database queries, forecably if needed!
        Runnable run = new Runnable() {
            @Override
            public void run() {
                IProgressMonitor monitor = pmd.getProgressMonitor();
                while (pmd.getShell() == null || (!pmd.getShell().isDisposed() && !monitor.isCanceled())) {
                    try {
                        Thread.sleep(250);
                    } catch (InterruptedException e) {
                        // Ignore
                    }
                }

                if (monitor.isCanceled()) { // Disconnect and see what happens!

                    try {
                        transMeta.cancelQueries();
                    } catch (Exception e) {
                        // Ignore
                    }
                }
            }
        };
        // Dump the cancel looker in the background!
        new Thread(run).start();

        pmd.run(true, true, op);
    } catch (InvocationTargetException e) {
        new ErrorDialog(shell, BaseMessages.getString(PKG, "TransGraph.Dialog.GettingFields.Title"),
                BaseMessages.getString(PKG, "TransGraph.Dialog.GettingFields.Message"), e);
        alreadyThrownError = true;
    } catch (InterruptedException e) {
        new ErrorDialog(shell, BaseMessages.getString(PKG, "TransGraph.Dialog.GettingFields.Title"),
                BaseMessages.getString(PKG, "TransGraph.Dialog.GettingFields.Message"), e);
        alreadyThrownError = true;
    }

    RowMetaInterface fields = op.getFields();

    if (fields != null && fields.size() > 0) {
        StepFieldsDialog sfd = new StepFieldsDialog(shell, transMeta, SWT.NONE, stepMeta.getName(), fields);
        String sn = (String) sfd.open();
        if (sn != null) {
            StepMeta esi = transMeta.findStep(sn);
            if (esi != null) {
                editStep(esi);
            }
        }
    } else {
        if (!alreadyThrownError) {
            modalMessageDialog(getString("TransGraph.Dialog.CouldntFindFields.Title"),
                    getString("TransGraph.Dialog.CouldntFindFields.Message"), SWT.OK | SWT.ICON_INFORMATION);
        }
    }

}