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.eclipse.egit.ui.internal.repository.RepositorySearchDialog.java

License:Open Source License

private void doSearch() {

    setMessage(null);/*from  ww w  . j a  v  a2 s .  c  o m*/
    setErrorMessage(null);
    // perform the search...
    final Set<String> directories = new HashSet<String>();
    final File file = new File(dir.getText());
    final boolean lookForNested = lookForNestedButton.getSelection();
    if (file.exists()) {
        try {
            prefs.put(PREF_PATH, file.getCanonicalPath());
            try {
                prefs.flush();
            } catch (BackingStoreException e1) {
                // ignore here
            }
        } catch (IOException e2) {
            // ignore
        }

        IRunnableWithProgress action = new IRunnableWithProgress() {

            public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {

                try {
                    findGitDirsRecursive(file, directories, monitor, lookForNested);
                } catch (Exception ex) {
                    Activator.getDefault().getLog()
                            .log(new Status(IStatus.ERROR, Activator.getPluginId(), ex.getMessage(), ex));
                }
                if (monitor.isCanceled()) {
                    throw new InterruptedException();
                }
            }
        };
        try {
            ProgressMonitorDialog pd = new ProgressMonitorDialog(getShell());
            pd.getProgressMonitor().setTaskName(UIText.RepositorySearchDialog_ScanningForRepositories_message);
            pd.run(true, true, action);

        } catch (InvocationTargetException e1) {
            org.eclipse.egit.ui.Activator.handleError(UIText.RepositorySearchDialog_errorOccurred, e1, true);
        } catch (InterruptedException e1) {
            // ignore
        }

        int foundOld = 0;

        final TreeSet<String> validDirs = new TreeSet<String>();

        for (String foundDir : directories) {
            if (!fExistingDirectories.contains(foundDir)) {
                validDirs.add(foundDir);
            } else {
                foundOld++;
            }
        }

        if (foundOld > 0) {
            String message = NLS.bind(UIText.RepositorySearchDialog_SomeDirectoriesHiddenMessage,
                    Integer.valueOf(foundOld));
            setMessage(message, IMessageProvider.INFORMATION);
        } else if (directories.isEmpty())
            setMessage(UIText.RepositorySearchDialog_NothingFoundMessage, IMessageProvider.INFORMATION);

        toggleSelectionButton.setEnabled(!validDirs.isEmpty());
        fTree.clearFilter();
        fTreeViewer.setInput(validDirs);
        // this sets all to selected
        fTreeViewer.setAllChecked(true);
        enableOk();

    }

}

From source file:org.eclipse.emf.ecp.common.commands.DeleteModelElementCommand.java

License:Open Source License

/**
 * {@inheritDoc}//w  w  w. j a  v a2s .c  o  m
 */
public void run() {
    // remove already contained model elements to prevent double deletes -> exception
    removeAnchestorDuplicates(toBeDeleted);

    // collect all association classes to be deleted
    Set<EObject> additionalMEs = new HashSet<EObject>();
    for (EObject eObject : toBeDeleted) {
        additionalMEs.addAll(AssociationClassHelper.getRelatedAssociationClassToDelete(eObject,
                context.getMetaModelElementContext()));
    }
    toBeDeleted.addAll(additionalMEs);
    // now delete
    if (askConfirmation()) {
        ProgressMonitorDialog progressDialog = new ProgressMonitorDialog(
                PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());
        progressDialog.open();
        try {
            long start = System.currentTimeMillis();
            removeElementsWithoutRoot(toBeDeleted);

            if (toBeDeleted.size() > 0) {
                new ECPCommandWithParameter<Set<EObject>>(toBeDeleted.iterator().next()) {

                    @Override
                    protected void doRun(Set<EObject> parameter) {
                        for (EObject eObject : toBeDeleted) {
                            EcoreUtil.delete(eObject, true);
                        }
                    }

                }.run(toBeDeleted);
            }
            setStatusMessage(
                    "Element deletion lasted " + (System.currentTimeMillis() - start) / 1000.0 + "sec");
            // Command deleteCommand = DeleteCommand.create(context.getEditingDomain(), toBeDeleted);
            // context.getEditingDomain().getCommandStack().execute(deleteCommand);
        } finally {
            progressDialog.getProgressMonitor().done();
            progressDialog.close();
        }
    }
}

From source file:org.eclipse.emf.ecp.emfstorebridge.actions.ImportXMIAction.java

License:Open Source License

private void importFile(final ProjectSpace projectSpace, final URI fileURI, final Resource resource,
        final ProgressMonitorDialog progressDialog) {
    try {/*  w ww .  j  a v  a  2 s.c  om*/
        progressDialog.open();
        progressDialog.getProgressMonitor().beginTask("Import model...", 100);

        Set<EObject> importElements = validation(resource);

        if (importElements.size() > 0) {
            int i = 0;
            for (EObject eObject : importElements) {
                // run the import command
                runImport(projectSpace, fileURI, ModelUtil.clone(eObject), i);
                progressDialog.getProgressMonitor().worked(10);
                i++;
            }
        }
        // BEGIN SUPRESS CATCH EXCEPTION
    } catch (RuntimeException e) {
        ModelUtil.logException(e);
        // END SUPRESS CATCH EXCEPTION
    } finally {
        progressDialog.getProgressMonitor().done();
        progressDialog.close();
    }
}

From source file:org.eclipse.emf.ecp.internal.ui.util.ECPExportHandlerHelper.java

License:Open Source License

private static void runCommand(final List<EObject> exportModelElements, String filePath, Shell shell) {
    final File file = new File(filePath);

    final URI uri = URI.createFileURI(filePath);

    final ProgressMonitorDialog progressDialog = new ProgressMonitorDialog(shell);

    progressDialog.open();/*from   w  w w.  j a  v  a 2 s  .  c o m*/
    progressDialog.getProgressMonitor().beginTask("Export modelelement...", 100); //$NON-NLS-1$
    progressDialog.getProgressMonitor().worked(10);

    try {
        saveEObjectToResource(exportModelElements, uri);
    } catch (final IOException e) {
        showExceptionDialog(e.getMessage(), e, shell);
    }
    progressDialog.getProgressMonitor().done();
    progressDialog.close();

    MessageDialog.openInformation(null, "Export", "Exported modelelement to file " + file.getName()); //$NON-NLS-1$ //$NON-NLS-2$
}

From source file:org.eclipse.emf.ecp.internal.ui.util.ECPImportHandlerHelper.java

License:Open Source License

private static void importFile(final Object parentObject, final URI fileURI, final Resource resource,
        final Shell shell) {
    imported = false;/*from w w  w.  j  a  va  2 s  .  c  o m*/
    final ProgressMonitorDialog progressDialog = new ProgressMonitorDialog(shell);
    try {

        progressDialog.open();
        progressDialog.getProgressMonitor().beginTask("Import model...", 100); //$NON-NLS-1$

        // Set<EObject> importElements = validation(resource);
        final EObject eObjectImport = resource.getContents().get(0);

        if (parentObject instanceof EObject) {

            for (final EReference ref : ((EObject) parentObject).eClass().getEAllContainments()) {
                if (ref.getEReferenceType().isInstance(eObjectImport)) {
                    final EditingDomain editingDomain = AdapterFactoryEditingDomain
                            .getEditingDomainFor(parentObject);
                    if (ref.isMany()) {
                        editingDomain.getCommandStack().execute(new AddCommand(editingDomain,
                                (EObject) parentObject, ref, EcoreUtil.copy(eObjectImport)));
                    } else {
                        editingDomain.getCommandStack().execute(new SetCommand(editingDomain,
                                (EObject) parentObject, ref, EcoreUtil.copy(eObjectImport)));
                    }
                    imported = true;
                    break;
                }
            }
        } else if (parentObject instanceof ECPProject) {
            final EditingDomain editingDomain = ((ECPProject) parentObject).getEditingDomain();
            editingDomain.getCommandStack().execute(new ChangeCommand(eObjectImport) {

                @Override
                protected void doExecute() {
                    ((ECPProject) parentObject).getContents().add(EcoreUtil.copy(eObjectImport));
                    imported = true;
                }
            });
        }

        // if (importElements.size() > 0) {
        // for (EObject eObject : importElements) {
        // project.addModelElement(EcoreUtil.copy(eObject));
        // progressDialog.getProgressMonitor().worked(10);
        // }
        // }
        // BEGIN SUPRESS CATCH EXCEPTION
    } catch (final RuntimeException e) {
        Activator.log(e.getMessage(), e);
        // END SUPRESS CATCH EXCEPTION
    } finally {
        progressDialog.getProgressMonitor().done();
        progressDialog.close();
    }
    if (!imported) {
        MessageDialog.openWarning(shell, "No Imports", //$NON-NLS-1$
                "No Objects were imported, the model element you selected probably can't contain the element you try to import."); //$NON-NLS-1$
    }
}

From source file:org.eclipse.emf.ecp.navigator.handler.ExportModelHandler.java

License:Open Source License

private void runCommand(final List<EObject> exportModelElements, String filePath) {
    final File file = new File(filePath);

    final URI uri = URI.createFileURI(filePath);

    final ProgressMonitorDialog progressDialog = new ProgressMonitorDialog(
            PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());

    progressDialog.open();/* w  w w  . ja v  a 2s  .c o m*/
    progressDialog.getProgressMonitor().beginTask("Export modelelement...", 100);
    progressDialog.getProgressMonitor().worked(10);

    try {
        saveEObjectToResource(exportModelElements, uri);
    } catch (IOException e) {
        DialogHandler.showExceptionDialog(e.getMessage(), e);
    }
    progressDialog.getProgressMonitor().done();
    progressDialog.close();

    MessageDialog.openInformation(null, "Export", "Exported modelelement to file " + file.getName());
}

From source file:org.eclipse.emf.ecp.navigator.handler.ImportModelHandler.java

License:Open Source License

private void importFile(ECPProject project, final URI fileURI, final Resource resource,
        final ProgressMonitorDialog progressDialog) {

    try {//from   w  w  w  .  j  a  v a  2 s . co  m
        progressDialog.open();
        progressDialog.getProgressMonitor().beginTask("Import model...", 100);

        Set<EObject> importElements = validation(resource);

        if (importElements.size() > 0) {
            int i = 0;
            for (EObject eObject : importElements) {
                // run the import command
                runImport(project, fileURI, EcoreUtil.copy(eObject), i);
                progressDialog.getProgressMonitor().worked(10);
                i++;
            }
        }
        // BEGIN SUPRESS CATCH EXCEPTION
    } catch (RuntimeException e) {
        Activator.getDefault().logException(e.getMessage(), e);
        // END SUPRESS CATCH EXCEPTION
    } finally {
        progressDialog.getProgressMonitor().done();
        progressDialog.close();
    }
}

From source file:org.eclipse.emf.emfstore.client.ui.controller.UIGenericExportImportController.java

License:Open Source License

/**
 * Executes the controller.//ww  w .j  a v  a2s .  com
 */
protected void execute(final IExportImportController controller) {

    FileDialog dialog = new FileDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
            controller.isExport() ? SWT.SAVE : SWT.OPEN);
    dialog.setFilterNames(controller.getFilteredNames());
    dialog.setFilterExtensions(controller.getFilteredExtensions());
    dialog.setOverwrite(true);

    if (controller.getParentFolderPropertyKey() != null) {
        String initialPath = EMFStorePreferenceHelper.getPreference(controller.getParentFolderPropertyKey(),
                System.getProperty("user.home"));
        dialog.setFilterPath(initialPath);
    }

    dialog.setFileName(controller.getFilename());
    String fn = dialog.open();
    if (fn == null) {
        return;
    }

    final File file = new File(dialog.getFilterPath(), dialog.getFileName());
    EMFStorePreferenceHelper.setPreference(controller.getParentFolderPropertyKey(), file.getParent());

    final ProgressMonitorDialog progress = openProgress();
    new EMFStoreCommand() {
        @Override
        protected void doRun() {
            try {
                progress.open();
                progress.getProgressMonitor().beginTask("Import " + controller.getLabel() + " ...", 100);
                progress.getProgressMonitor().worked(10);
                new ExportImportControllerExecutor(file, getProgressMonitor()).execute(controller);
            } catch (IOException e) {
                EMFStoreMessageDialog.showExceptionDialog(e);
            } finally {
                progress.getProgressMonitor().done();
                progress.close();
            }

        }
    }.run();

    // TODO: include confirmation dialog messages in interface
    // MessageDialog.openInformation(null, "Import", "Imported changes from file " + file.getAbsolutePath());
}

From source file:org.eclipse.emf.emfstore.client.ui.controller.UIShareProjectController.java

License:Open Source License

public void share(ProjectSpace projectSpace) {
    ProgressMonitorDialog progressDialog = openProgress();
    try {/*from w w  w  .  j a v a 2 s  .c o m*/
        ((ProjectSpaceImpl) projectSpace).shareProject(null, progressDialog.getProgressMonitor());
        MessageDialog.openInformation(getShell(), "Share completed", "The project was successfully shared.");
    } catch (LoginCanceledException e) {
        // fail silently
    } catch (EmfStoreException e) {
        MessageDialog.openError(Display.getCurrent().getActiveShell(), "Error", e.getMessage());
    } finally {
        closeProgress();
    }
}

From source file:org.eclipse.emf.emfstore.client.ui.views.emfstorebrowser.dialogs.admin.acimport.LdapSourceDialog.java

License:Open Source License

/**
 * {@inheritDoc}//from   w w w. j  a  va2s . co  m
 */
@Override
public void okPressed() {
    ProgressMonitorDialog progressMonitorDialog = new ProgressMonitorDialog(getShell());
    progressMonitorDialog.open();
    progressMonitorDialog.getProgressMonitor().beginTask("connecting", IProgressMonitor.UNKNOWN);

    Properties serverProperties = new Properties();

    serverProperties.put(Context.PROVIDER_URL, serverName.getText());
    serverProperties.put(LdapImportSource.LDAP_BASE, ldapBase.getText());

    this.ldapImport.setProperties(serverProperties);
    try {
        this.ldapImport.connect();
        this.isInitFinished = true;
        progressMonitorDialog.close();
    } catch (CorruptedSourceException e) {
        progressMonitorDialog.close();
        this.isInitFinished = false;
        EMFStoreMessageDialog.showExceptionDialog("An exception occured", e);
    }

    this.isOkPressed = true;
    close();
}