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

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

Introduction

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

Prototype

public ProgressMonitorDialog(Shell parent) 

Source Link

Document

Creates a progress monitor dialog under the given shell.

Usage

From source file:SaveHandler.java

License:Open Source License

    @Execute
   public void execute(
         IEclipseContext context,/*from  w w  w .ja v  a 2 s.c  om*/
         @Named(IServiceConstants.ACTIVE_SHELL) Shell shell,
         @Named(IServiceConstants.ACTIVE_PART) final MContribution contribution)
         throws InvocationTargetException, InterruptedException {
      final IEclipseContext pmContext = context.createChild();

      ProgressMonitorDialog dialog = new ProgressMonitorDialog(shell);
      dialog.open();
      dialog.run(true, true, new IRunnableWithProgress() {
         public void run(IProgressMonitor monitor)
               throws InvocationTargetException, InterruptedException {
            pmContext.set(IProgressMonitor.class.getName(), monitor);
            if (contribution != null) {
               Object clientObject = contribution.getObject();
//               ContextInjectionFactory.invoke(clientObject, Persist.class, //$NON-NLS-1$
//                     pmContext, null);
            }
         }
      });

      if (pmContext instanceof IDisposable) {
         ((IDisposable) pmContext).dispose();
      }
   }

From source file:$group_id$.core.handlers.SaveHandler.java

License:Open Source License

@Execute
public void execute(IEclipseContext context, @Named(IServiceConstants.ACTIVE_SHELL) Shell shell,
        @Named(IServiceConstants.ACTIVE_PART) final MContribution contribution)
        throws InvocationTargetException, InterruptedException {
    final IEclipseContext pmContext = context.createChild();

    ProgressMonitorDialog dialog = new ProgressMonitorDialog(shell);
    dialog.open();// w w w . j  ava  2  s.c o  m
    dialog.run(true, true, new IRunnableWithProgress() {
        @Override
        public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
            pmContext.set(IProgressMonitor.class.getName(), monitor);
            if (contribution != null) {
                //               Object clientObject = contribution.getObject();
                //               ContextInjectionFactory.invoke(clientObject, Persist.class, //\$NON-NLS-1\$
                //                     pmContext, null);
            }
        }
    });

    pmContext.dispose();
}

From source file:ac.soton.eventb.atomicitydecomposition.generator.actions.GenerateAction.java

License:Open Source License

@Override
public Object execute(ExecutionEvent event) throws ExecutionException {

    IEditorPart editor = HandlerUtil.getActiveEditorChecked(event);
    if (editor instanceof RoseEditor) {
        final RoseEditor roseEditor = (RoseEditor) editor;
        IStructuredSelection selection = (IStructuredSelection) roseEditor.getSelection();
        if (selection.getFirstElement() instanceof EventBElement) {
            final EventBElement eventBElement = (EventBElement) selection.getFirstElement();

            ResourceSet resourceSet = eventBElement.eResource().getResourceSet();

            if (editor.isDirty())
                editor.doSave(new NullProgressMonitor());

            // first validate, then transform
            //   if (ValidateAction.validate(diagramDocumentEditor)){

            for (AbstractExtension abs : eventBElement.getExtensions()) {
                TransactionalEditingDomain editingDomain = TransactionalEditingDomain.Factory.INSTANCE
                        .createEditingDomain();

                AbstractExtension absExt;
                if (abs.eIsProxy()) {
                    absExt = (AbstractExtension) resourceSet.getEObject(EcoreUtil.getURI(abs), false);
                } else
                    absExt = abs;// w  w w .ja v a 2 s.  co m

                if (absExt instanceof FlowDiagram) {
                    //If there is no extension, set as being the name
                    if (absExt.getExtensionId() == null || absExt.getExtensionId().equals("")) {
                        absExt.setExtensionId(((FlowDiagram) absExt).getName());
                    }

                    final GenerateCommand generateCommand = new GenerateCommand(editingDomain, absExt);
                    if (generateCommand.canExecute()) {
                        // run with progress
                        ProgressMonitorDialog dialog = new ProgressMonitorDialog(
                                roseEditor.getSite().getShell());
                        try {
                            dialog.run(true, true, new IRunnableWithProgress() {
                                public void run(IProgressMonitor monitor) {
                                    monitor.beginTask(Messages.GENERATOR_MSG_05, IProgressMonitor.UNKNOWN);
                                    try {
                                        generateCommand.execute(monitor, roseEditor);
                                    } catch (ExecutionException e) {
                                        Activator.logError(Messages.GENERATOR_MSG_06, e);
                                    }
                                    monitor.done();
                                }
                            });
                        } catch (InvocationTargetException e) {
                            Activator.logError(Messages.GENERATOR_MSG_07, e);
                            return null;
                        } catch (InterruptedException e) {
                            Activator.logError(Messages.GENERATOR_MSG_08, e);
                            return null;
                        }
                        // error feedback
                        if (false == generateCommand.getCommandResult().getStatus().isOK())
                            MessageDialog.openError(editor.getSite().getShell(), Messages.GENERATOR_MSG_09,
                                    Messages.GENERATOR_MSG_10);
                    }
                }
            }
        }
    }
    return null;
}

From source file:ac.soton.eventb.emf.diagrams.generator.actions.GenerateAction.java

License:Open Source License

@Override
public Object execute(ExecutionEvent event) throws ExecutionException {

    IEditorPart editor = HandlerUtil.getActiveEditorChecked(event);
    if (editor instanceof DiagramDocumentEditor) {
        final DiagramDocumentEditor diagramDocumentEditor = (DiagramDocumentEditor) editor;

        if (diagramDocumentEditor.getDiagram().getElement() instanceof EventBElement) {
            final EventBElement eventBElement = (EventBElement) diagramDocumentEditor.getDiagram().getElement();

            // save before transformation
            if (editor.isDirty())
                editor.doSave(new NullProgressMonitor());

            // first validate, then transform
            if (ValidateAction.validate(diagramDocumentEditor)) {

                final GenerateCommand generateCommand = new GenerateCommand(
                        diagramDocumentEditor.getDiagramEditPart().getEditingDomain(), eventBElement);
                if (generateCommand.canExecute()) {
                    // run with progress
                    ProgressMonitorDialog dialog = new ProgressMonitorDialog(
                            diagramDocumentEditor.getSite().getShell());
                    try {
                        dialog.run(true, true, new IRunnableWithProgress() {
                            public void run(IProgressMonitor monitor) {
                                monitor.beginTask(Messages.GENERATOR_MSG_05, IProgressMonitor.UNKNOWN);
                                try {
                                    generateCommand.execute(monitor, diagramDocumentEditor);
                                } catch (ExecutionException e) {
                                    Activator.logError(Messages.GENERATOR_MSG_06, e);
                                }/* w w w.ja va 2s  . c om*/
                                monitor.done();
                            }
                        });
                    } catch (InvocationTargetException e) {
                        Activator.logError(Messages.GENERATOR_MSG_07, e);
                        return null;
                    } catch (InterruptedException e) {
                        Activator.logError(Messages.GENERATOR_MSG_08, e);
                        return null;
                    }

                    // error feedback
                    if (false == generateCommand.getCommandResult().getStatus().isOK())
                        MessageDialog.openError(editor.getSite().getShell(), Messages.GENERATOR_MSG_09,
                                Messages.GENERATOR_MSG_10);
                }
            }
        }
    }
    return null;
}

From source file:ac.soton.eventb.statemachines.transformation.TranslateAction.java

License:Open Source License

@Override
public Object execute(ExecutionEvent event) throws ExecutionException {

    IEditorPart editor = HandlerUtil.getActiveEditorChecked(event);
    if (editor instanceof DiagramDocumentEditor) {
        final DiagramDocumentEditor diagramDocumentEditor = (DiagramDocumentEditor) editor;

        if (diagramDocumentEditor.getDiagram().getElement() instanceof Statemachine) {
            final Statemachine statemachine = (Statemachine) diagramDocumentEditor.getDiagram().getElement();

            // save before transformation
            if (editor.isDirty())
                editor.doSave(new NullProgressMonitor());

            // first validate, then transform
            if (ValidateAction.validate(diagramDocumentEditor)) {

                final StatemachineTransformationCommand generateCommand = new StatemachineTransformationCommand(
                        diagramDocumentEditor.getDiagramEditPart().getEditingDomain(), statemachine);

                if (generateCommand.canExecute()) {
                    // run with progress
                    ProgressMonitorDialog dialog = new ProgressMonitorDialog(
                            diagramDocumentEditor.getSite().getShell());
                    try {
                        dialog.run(true, true, new IRunnableWithProgress() {
                            public void run(IProgressMonitor monitor) {
                                monitor.beginTask("Translating to Event-B ...", IProgressMonitor.UNKNOWN);
                                try {
                                    generateCommand.execute(monitor, diagramDocumentEditor);
                                } catch (ExecutionException e) {
                                    Activator.logError("Statemachine transformation failed", e);
                                }//w ww  .j ava2s  .c  om
                                monitor.done();
                            }
                        });
                    } catch (InvocationTargetException e) {
                        TransformationPlugin.getDefault().logError("Transformation failed", e);
                        return null;
                    } catch (InterruptedException e) {
                        TransformationPlugin.getDefault().logError("Transformation interrupted", e);
                        return null;
                    }

                    // error feedback
                    if (false == generateCommand.getCommandResult().getStatus().isOK())
                        MessageDialog.openError(editor.getSite().getShell(), "Translation Information",
                                "Translation encountered problems.\n\nSee log for details.");
                }
            }
        }
    }
    return null;
}

From source file:ac.soton.fmusim.components.presentation.ComponentsEditor.java

License:Open Source License

/**
 * This is for implementing {@link IEditorPart} and simply saves the model file.
 * <!-- begin-user-doc -->/*  w  w w . ja v a2s.  com*/
 * <!-- end-user-doc -->
 * @generated
 */
@Override
public void doSave(IProgressMonitor progressMonitor) {
    // Save only resources that have actually changed.
    //
    final Map<Object, Object> saveOptions = new HashMap<Object, Object>();
    saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);

    // Do the work within an operation because this is a long running activity that modifies the workbench.
    //
    WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
        // This is the method that gets invoked when the operation runs.
        //
        @Override
        public void execute(IProgressMonitor monitor) {
            // Save the resources to the file system.
            //
            boolean first = true;
            for (Resource resource : editingDomain.getResourceSet().getResources()) {
                if ((first || !resource.getContents().isEmpty() || isPersisted(resource))
                        && !editingDomain.isReadOnly(resource)) {
                    try {
                        long timeStamp = resource.getTimeStamp();
                        resource.save(saveOptions);
                        if (resource.getTimeStamp() != timeStamp) {
                            savedResources.add(resource);
                        }
                    } catch (Exception exception) {
                        resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
                    }
                    first = false;
                }
            }
        }
    };

    updateProblemIndication = false;
    try {
        // This runs the options, and shows progress.
        //
        new ProgressMonitorDialog(getSite().getShell()).run(true, false, operation);

        // Refresh the necessary state.
        //
        ((BasicCommandStack) editingDomain.getCommandStack()).saveIsDone();
        firePropertyChange(IEditorPart.PROP_DIRTY);
    } catch (Exception exception) {
        // Something went wrong that shouldn't.
        //
        ComponentsEditorPlugin.INSTANCE.log(exception);
    }
    updateProblemIndication = true;
    updateProblemIndication();
}

From source file:actions.FileScanningAction.java

License:Open Source License

@Override
public void run() {

    try {/*  w w w  .j a v  a  2 s . c om*/
        mainTable.setRedrawEnabled(false);
        // disable action
        DirectoryDialog dialog = new DirectoryDialog(shell);
        dialog.setText("Select a Directory");
        dialog.setMessage(
                "Select a directory of music files. Music files found in that directory will be added to your music library.");
        final String path = dialog.open();

        new ProgressMonitorDialog(shell).run(true, true, new ScanProgressMonitor(path));
    } catch (InvocationTargetException e) {
        MessageDialog.openError(shell, "Error", e.getMessage());
    } catch (InterruptedException e) {
        MessageDialog.openInformation(shell, "Cancelled", e.getMessage());
    } finally {
        mainTable.setRedrawEnabled(true);
    }
}

From source file:actions.FileScanningAction.java

License:Open Source License

public void scanFiles(String[] files) {
    try {/*from   w  w  w .  j  a  v  a 2s.  co m*/
        ProgressMonitorDialog dialog = new ProgressMonitorDialog(shell);
        dialog.run(true, true, new ScanProgressMonitor(files));
    } catch (InvocationTargetException e) {
        MessageDialog.openError(shell, "Error", e.getMessage());
    } catch (InterruptedException e) {
        MessageDialog.openInformation(shell, "Cancelled", e.getMessage());
    }
}

From source file:ag.ion.noa4e.ui.NOAUIPlugin.java

License:Open Source License

/**
 * Internal method in order to start the office application.
 * //w ww  .j a  v a 2s .c o m
 * @param shell shell to be used
 * @param officeApplication office application to be used
 * 
 * @return status information
 * 
 * @author Joerg Sigle
 * @date 24.06.2012
 * @date 20.02.2012 00:57
 *
 * @author Andreas Brker
 * @date 28.06.2006
 * 
 * Adopted for Elexis by Joerg Sigle 02/2012, adding the following line.
 * Changes required because of different preference store layout in Elexis.
 * There are corresponding changes in:
 * LocalOfficeApplicationsPreferencesPage.java
 *   PREFS_PREVENT_TERMINATION
 *   initPreferenceValues()
 *   performOk()
 * NOAUIPlugin.java                     
 *   PREFERENCE_OFFICE_HOME
 *   PREFERENCE_PREVENT_TERMINATION            
 *   internalStartApplication().
 */
private static IStatus internalStartApplication(final Shell shell, IOfficeApplication officeApplication) {

    System.out.println("NOAUIPlugin: internalStartApplication() begin");

    if (officeApplication.isActive()) {
        System.out.println(
                "NOAUIPlugin: internalStartApplication(): officeApplication.isActive(), so returning immediately.");
        return Status.OK_STATUS;
    }

    System.out.println(
            "NOAUIPlugin: internalStartApplication(): !officeApplication.isActive(), so starting it up...");

    boolean configurationChanged = false;
    boolean canStart = false;
    String home = null;

    HashMap configuration = new HashMap(1);

    //My warning in the following line referred to the original noa4e code:
    //System.out.println("NOAUIPlugin: internalStartApplication(): getting officeHome (WARNING: probably from the wrong source)...");
    System.out.println("NOAUIPlugin: internalStartApplication(): getting officeHome...");
    System.out.println(
            "NOAUIPlugin: internalStartApplication(): Using js mod adopted for Elexis, reproducing prior GW adoptions, P_OOBASEDIR via ...(Hub.localCfg)");

    //JS modified this:
    //The original code tries to access a preference store which is not used in Elexis,
    //according to GWs mods in (back then:) LocalOfficeApplicationPreferencesPage.java
    //Unsuitable original line, removed:
    //String officeHome = getDefault().getPreferenceStore().getString(PREFERENCE_OFFICE_HOME);
    //Newly inserted lines:
    IPreferenceStore preferenceStore = new SettingsPreferenceStore(CoreHub.localCfg);
    String officeHome = preferenceStore.getString(PreferenceConstants.P_OOBASEDIR);

    if (officeHome == null)
        System.out.println("NOAUIPlugin: internalStartApplication(): WARNING: officeHome==null");
    else
        System.out.println("NOAUIPlugin: internalStartApplication(): officeHome=" + officeHome);

    if (officeHome.length() != 0) {
        File file = new File(officeHome);
        if (file.canRead()) {

            System.out.println(
                    "NOAUIPlugin: internalStartApplication(): Check: officeHome is a valid path. Setting canStart to true.");

            configuration.put(IOfficeApplication.APPLICATION_HOME_KEY, officeHome);
            canStart = true;
        } else {
            System.out.println(
                    "NOAUIPlugin: internalStartApplication(): WARNING: officeHome is NOT a valid path. Leaving canStart at false.");

            MessageDialog.openWarning(shell, Messages.NOAUIPlugin_dialog_warning_invalid_path_title,
                    Messages.NOAUIPlugin_dialog_warning_invalid_path_message);
        }
    }

    System.out.println("NOAUIPlugin: internalStartApplication(): canStart=" + canStart);

    if (!canStart) {
        System.out.println(
                "NOAUIPlugin: internalStartApplication(): canStart==false; trying to auto locate available office suite installations...");

        configurationChanged = true;
        ILazyApplicationInfo[] applicationInfos = null;
        boolean configurationCompleted = false;
        try {
            ProgressMonitorDialog progressMonitorDialog = new ProgressMonitorDialog(shell);
            FindApplicationInfosOperation findApplicationInfosOperation = new FindApplicationInfosOperation();
            progressMonitorDialog.run(true, true, findApplicationInfosOperation);
            applicationInfos = findApplicationInfosOperation.getApplicationsInfos();
            if (applicationInfos.length == 1) {
                if (applicationInfos[0].getMajorVersion() == 2 || (applicationInfos[0].getMajorVersion() == 1
                        && applicationInfos[0].getMinorVersion() == 9)) {
                    configuration.put(IOfficeApplication.APPLICATION_HOME_KEY, applicationInfos[0].getHome());
                    configurationCompleted = true;
                }
            }
        } catch (Throwable throwable) {
            System.out.println(
                    "NOAUIPlugin: internalStartApplication(): canStart==false; cannot auto locate an office suite installation. So we must search manually...");
            //we must search manually
        }

        System.out.println(
                "NOAUIPlugin: internalStartApplication(): configurationCompleted=" + configurationCompleted);

        if (!configurationCompleted) {
            LocalApplicationWizard localApplicationWizard = new LocalApplicationWizard(applicationInfos);
            if (home != null && home.length() != 0)
                localApplicationWizard.setHomePath(home);
            WizardDialog wizardDialog = new WizardDialog(shell, localApplicationWizard);
            if (wizardDialog.open() == Window.CANCEL)
                return Status.CANCEL_STATUS;

            configuration.put(IOfficeApplication.APPLICATION_HOME_KEY,
                    localApplicationWizard.getSelectedHomePath());
        }
    }

    System.out.println(
            "NOAUIPlugin: internalStartApplication(): the office suite configuration should now be valid:");
    if (officeApplication == null)
        System.out.println("NOAUIPlugin: internalStartApplication(): officeApplication==null");
    else
        System.out.println(
                "NOAUIPlugin: internalStartApplication(): officeApplication=" + officeApplication.toString());
    if (configuration == null)
        System.out.println("NOAUIPlugin: internalStartApplication(): configuration==null");
    else
        System.out
                .println("NOAUIPlugin: internalStartApplication(): configuration=" + configuration.toString());
    if (shell == null)
        System.out.println("NOAUIPlugin: internalStartApplication(): shell==null");
    else
        System.out.println("NOAUIPlugin: internalStartApplication(): shell=" + shell.toString());
    System.out.println(
            "NOAUIPlugin: internalStartApplication(): Finally trying activateOfficeApplication(officeApplication, configuration, shell):");

    IStatus status = activateOfficeApplication(officeApplication, configuration, shell);
    if (configurationChanged) {
        System.out.println(
                "NOAUIPlugin: internalStartApplication(): Configuration of PREFERENCE_OFFICE_HOME changed.");
        System.out.println("NOAUIPlugin: internalStartApplication(): Storing the new configuration.");
        System.out.println(
                "NOAUIPlugin: internalStartApplication(): Using js mod adopted for Elexis, reproducing prior GW adoptions, P_OOBASEDIR via ...(Hub.localCfg)");

        //JS modified this:
        //The original code tries to access a preference store which is not used in Elexis,
        //according to GWs mods in (back then:) LocalOfficeApplicationPreferencesPage.java
        //Unsuitable original line, removed:
        //getDefault().getPluginPreferences().setValue(PREFERENCE_OFFICE_HOME,
        //                                             configuration.get(IOfficeApplication.APPLICATION_HOME_KEY).toString());
        //Newly inserted line:
        preferenceStore.setValue(PreferenceConstants.P_OOBASEDIR,
                configuration.get(IOfficeApplication.APPLICATION_HOME_KEY).toString());
    }

    System.out.println("NOAUIPlugin: internalStartApplication() end, returning status");
    return status;
}

From source file:ag.ion.noa4e.ui.NOAUIPlugin.java

License:Open Source License

/**
 * Activates office application./*from   w  ww.ja  v a  2  s . c o  m*/
 * 
 * @param officeApplication office application to be activated
 * @param configuration configuration to be used
 * @param shell shell to be used
 * 
 * @return status information of the activation
 *  
 * @author Andreas Brker
 * @date 28.08.2006
 */
private static IStatus activateOfficeApplication(IOfficeApplication officeApplication, Map configuration,
        Shell shell) {
    IStatus status = Status.OK_STATUS;

    System.out.println("NOAUIPlugin: activateOfficeApplication() begin");
    System.out.println("NOAUIPlugin: activateOfficeApplication(): trying to getActiveWorkbenchWindow()");

    try {
        officeApplication.setConfiguration(configuration);
        boolean useProgressMonitor = true;
        IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
        if (workbenchWindow == null)
            useProgressMonitor = false;
        else {
            IWorkbenchPage workbenchPage = workbenchWindow.getActivePage();
            if (workbenchPage == null)
                useProgressMonitor = false;

            if (workbenchPage == null)
                System.out.println("NOAUIPlugin: activateOfficeApplication(): workbenchPage==null");
            else
                System.out.println(
                        "NOAUIPlugin: activateOfficeApplication(): workbenchPage=" + workbenchPage.toString());

        }

        if (workbenchWindow == null)
            System.out.println("NOAUIPlugin: activateOfficeApplication(): workbenchWindow==null");
        else
            System.out.println(
                    "NOAUIPlugin: activateOfficeApplication(): workbenchWindow=" + workbenchWindow.toString());

        System.out.println(
                "NOAUIPlugin: activateOfficeApplication(): trying to get new ActivateOfficeApplicationOperation()");

        ActivateOfficeApplicationOperation activateOfficeApplicationOperation = new ActivateOfficeApplicationOperation(
                officeApplication);

        if (activateOfficeApplicationOperation == null)
            System.out.println(
                    "NOAUIPlugin: activateOfficeApplication(): activateOfficeApplicationOperation==null");
        else
            System.out.println("NOAUIPlugin: activateOfficeApplication(): activateOfficeApplicationOperation="
                    + activateOfficeApplicationOperation.toString());

        System.out
                .println("NOAUIPlugin: activateOfficeApplication(): useProgressMonitor=" + useProgressMonitor);

        if (useProgressMonitor) {
            System.out.println(
                    "NOAUIPlugin: activateOfficeApplication(): trying to get new ProgressMonitorDialog()");

            ProgressMonitorDialog progressMonitorDialog = new ProgressMonitorDialog(shell);

            if (progressMonitorDialog == null)
                System.out.println("NOAUIPlugin: activateOfficeApplication(): progressMonitorDialog==null");
            else
                System.out.println("NOAUIPlugin: activateOfficeApplication(): progressMonitorDialog="
                        + progressMonitorDialog.toString());
            if (activateOfficeApplicationOperation == null)
                System.out.println(
                        "NOAUIPlugin: activateOfficeApplication(): activateOfficeApplicationOperation==null");
            else
                System.out
                        .println("NOAUIPlugin: activateOfficeApplication(): activateOfficeApplicationOperation="
                                + activateOfficeApplicationOperation.toString());

            System.out.println("NOAUIPlugin: activateOfficeApplication(): trying to run ProgressMonitorDialog");

            //in progressMonitorDialog.run() selbst kann ich offenbar kein Monitoring hineinschreiben,
            //das gehrt zu den eclipse Klassen. Aber vielleicht nach activateOfficeApplicationOperation.

            progressMonitorDialog.run(true, true, activateOfficeApplicationOperation);

            System.out.println(
                    "NOAUIPlugin: activateOfficeApplication(): ProgressMonitorDialog should now be running...");
        } else
            activateOfficeApplicationOperation.run(new NullProgressMonitor());

        System.out.println("NOAUIPlugin: activateOfficeApplication(): check whether exception occured:");

        if (activateOfficeApplicationOperation.getOfficeApplicationException() != null) {

            System.out.println(
                    "NOAUIPlugin: activateOfficeApplication(): check whether exception occured: YES: so show status in error dialog");

            status = new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR,
                    activateOfficeApplicationOperation.getOfficeApplicationException().getMessage(),
                    activateOfficeApplicationOperation.getOfficeApplicationException());
            ErrorDialog.openError(shell, Messages.NOAUIPlugin_title_error, ERROR_ACTIVATING_APPLICATION,
                    status);
        }

    } catch (InvocationTargetException invocationTargetException) {
        status = new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, invocationTargetException.getMessage(),
                invocationTargetException);
        ErrorDialog.openError(shell, Messages.NOAUIPlugin_title_error, ERROR_ACTIVATING_APPLICATION, status);
    } catch (OfficeApplicationException officeApplicationException) {
        status = new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, officeApplicationException.getMessage(),
                officeApplicationException);
        ErrorDialog.openError(shell, Messages.NOAUIPlugin_title_error, ERROR_ACTIVATING_APPLICATION, status);
    } catch (InterruptedException interruptedException) {
        return Status.CANCEL_STATUS;
    }

    System.out.println("NOAUIPlugin: activateOfficeApplication() end, returning status");
    return status;
}