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

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

Introduction

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

Prototype

@Override
public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable)
        throws InvocationTargetException, InterruptedException 

Source Link

Document

This implementation of IRunnableContext#run(boolean, boolean, IRunnableWithProgress) runs the given IRunnableWithProgress using the progress monitor for this progress dialog and blocks until the runnable has been run, regardless of the value of fork.

Usage

From source file:org.bbaw.pdr.ae.standalone.AEApplication.java

License:Open Source License

private void optimizeDB() {
    final IDBManager dbManager = Facade.getInstanz().getDBManager();
    if (dbManager.isOptimizationRequired()) {
        ProgressMonitorDialog dialog = new ProgressMonitorDialog(new Shell());
        dialog.setCancelable(true);//from   w w  w .j  a v a2s . c  o m

        try {
            dialog.run(true, true, new IRunnableWithProgress() {
                @Override
                public void run(final IProgressMonitor monitor) {
                    dbManager.optimizeAll(monitor);
                    monitor.done();
                }
            });
        } catch (InvocationTargetException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}

From source file:org.bbaw.pdr.ae.view.control.dialogs.SelectObjectDialog.java

License:Open Source License

/**
 * Search aspects./*from ww w .j  a va2s  .co  m*/
 */
private void searchAspects() {
    _aspectTableViewer.setContentProvider(new AspectTableContentProvider());
    _aspectTableViewer.setLabelProvider(new TableLabelProvider());
    _aspectTableViewer.setComparator(new PdrObjectViewComparator());

    ProgressMonitorDialog dialog = new ProgressMonitorDialog(super.getShell());
    dialog.setCancelable(true);

    try {
        dialog.run(true, true, new IRunnableWithProgress() {
            @Override
            public void run(final IProgressMonitor monitor) {

                try {
                    final Object result = _mainSearcher.searchAspects(_aspectQuery, monitor);
                    UIJob job = new UIJob(_personTableViewer.getTable().getDisplay(), "Load Result") {
                        @Override
                        public IStatus runInUIThread(final IProgressMonitor monitor) {
                            _aspectTableViewer.setInput(result);
                            return Status.OK_STATUS;
                        }
                    };
                    job.setUser(true);
                    job.schedule();
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }

        });
    } catch (InvocationTargetException e) {
        e.printStackTrace();
    } catch (InterruptedException e) {
        e.printStackTrace();
    }

    _aspectSearchGroup.layout();

}

From source file:org.bbaw.pdr.ae.view.control.dialogs.SelectObjectDialog.java

License:Open Source License

/**
 * Search persons.//  www .  jav a2s  .com
 */
private void searchPersons() {
    _personTableViewer.setContentProvider(new PersonVectorContentProvider());
    _personTableViewer.setLabelProvider(new TableLabelProvider());
    _personTableViewer.setComparator(new PdrObjectViewComparator());
    ProgressMonitorDialog dialog = new ProgressMonitorDialog(super.getShell());
    dialog.setCancelable(true);

    try {
        dialog.run(true, true, new IRunnableWithProgress() {
            @Override
            public void run(final IProgressMonitor monitor) {

                try {

                    final Object result = _mainSearcher.searchPersons(_personQuery, monitor);
                    UIJob job = new UIJob(_personTableViewer.getTable().getDisplay(), "Load Result") {
                        @Override
                        public IStatus runInUIThread(final IProgressMonitor monitor) {
                            _personTableViewer.setInput(result);
                            return Status.OK_STATUS;
                        }
                    };
                    job.setUser(true);
                    job.schedule();

                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }

        });
    } catch (InvocationTargetException e) {
        e.printStackTrace();
    } catch (InterruptedException e) {
        e.printStackTrace();
    }

    _personResultGroup.layout();

}

From source file:org.bbaw.pdr.ae.view.control.dialogs.SelectObjectDialog.java

License:Open Source License

/**
 * Search references.//from ww w  .  ja  va 2 s .  co m
 */
private void searchReferences() {
    _referenceTableViewer.setContentProvider(new ReferenceTableContentProvider());
    _referenceTableViewer.setLabelProvider(new TableLabelProvider());
    _referenceTableViewer.setComparator(new PdrObjectViewComparator());

    ProgressMonitorDialog dialog = new ProgressMonitorDialog(super.getShell());
    dialog.setCancelable(true);

    try {
        dialog.run(true, true, new IRunnableWithProgress() {
            @Override
            public void run(final IProgressMonitor monitor) {

                try {

                    final Object result = _mainSearcher.searchReferences(_referenceQuery, monitor);
                    UIJob job = new UIJob(_personTableViewer.getTable().getDisplay(), "Load Result") {
                        @Override
                        public IStatus runInUIThread(final IProgressMonitor monitor) {
                            _referenceTableViewer.setInput(result);
                            return Status.OK_STATUS;
                        }
                    };
                    job.setUser(true);
                    job.schedule();
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }

        });
    } catch (InvocationTargetException e) {
        e.printStackTrace();
    } catch (InterruptedException e) {
        e.printStackTrace();
    }

    _refSearchGroup.layout();

}

From source file:org.bbaw.pdr.ae.view.control.PDRObjectsProvider.java

License:Open Source License

/**
 * Gets the arranged aspects.// w w w .  j a  v a 2s .c o m
 * @return the arranged aspects
 */
public final Vector<OrderingHead> getArrangedAspects() {
    final ProgressMonitorDialog dialog = new ProgressMonitorDialog(new Shell());
    dialog.setCancelable(true);

    try {
        dialog.run(true, true, new IRunnableWithProgress() {

            @Override
            public void run(final IProgressMonitor monitor) {

                if (_aspects == null) {
                    loadAspects(monitor);
                }
                monitor.beginTask("Filter Aspects. Number of Aspects: " + _aspects.size(), _aspects.size());
                filteredAspects = filterAspects(monitor);
                if (_orderedAspects == null) {
                    monitor.beginTask("Group Aspects. Number of Aspects: " + filteredAspects.size(),
                            filteredAspects.size());
                    if (_orderer != null) {
                        _orderedAspects = _orderer.orderedObjects(filteredAspects, monitor);
                    } else {
                        _orderedAspects = new Vector<OrderingHead>(1);
                        OrderingHead oh = new OrderingHead();
                        oh.setLabel(NLMessages.getString("View_group_all"));
                        oh.setValue("ALL");
                        oh.setImageString(IconsInternal.ASPECTS);
                        oh.setAspects(filteredAspects);
                        _orderedAspects.add(oh);
                    }
                }
                monitor.beginTask("Sort Aspects. Number of Aspect Groups: " + _orderedAspects.size(),
                        _orderedAspects.size());
                if (_lazySorting && !_orderedAspects.isEmpty()) {
                    if (_comparator != null) {
                        Collections.sort(_orderedAspects.firstElement().getAspects(), _comparator);
                    } else {
                        Collections.sort(_orderedAspects.firstElement().getAspects(),
                                new AspectsByCronComparator());

                    }
                    _orderedAspects.firstElement().setSorted(true);
                } else {
                    if (_comparator != null) {
                        for (OrderingHead oh : _orderedAspects) {
                            Collections.sort(oh.getAspects(), _comparator);
                            oh.setSorted(true);
                            monitor.worked(1);
                        }
                    } else {
                        AspectsByCronComparator cronComp = new AspectsByCronComparator();
                        for (OrderingHead oh : _orderedAspects) {
                            Collections.sort(oh.getAspects(), cronComp);
                            oh.setSorted(true);
                            monitor.worked(1);
                        }
                    }
                }
            }
        });
    } catch (InvocationTargetException e) {
        e.printStackTrace();
    } catch (InterruptedException e) {
        e.printStackTrace();
    }

    return _orderedAspects;
}

From source file:org.bbaw.pdr.ae.view.control.PDRObjectsProvider.java

License:Open Source License

/**
 * Gets the arranged references./*ww  w. j a v  a2  s  .co m*/
 * @return the arranged references
 */
public final Vector<OrderingHead> getArrangedReferences() {
    final ProgressMonitorDialog dialog = new ProgressMonitorDialog(new Shell());
    dialog.setCancelable(true);

    try {
        dialog.run(true, true, new IRunnableWithProgress() {

            @Override
            public void run(final IProgressMonitor monitor) {

                if (_aspects == null) {
                    loadAspects(monitor);
                }
                if (_references == null) {
                    loadReferences(monitor);
                    if (_input instanceof Person) {
                        loadPersonReferences(monitor);
                    }
                    if (_input instanceof ReferenceMods) {
                        loadHostedReferences(monitor);
                        if (!_references.contains(_input)) {
                            _references.add((ReferenceMods) _input);
                        }
                    }
                }
                // System.out.println("number of references " +
                // references.size());
                if (_aspects != null) {
                    monitor.beginTask(
                            "Filter Aspects and References. Number of Aspects: " + _aspects.size()
                                    + " Number of Aspects: " + _references.size(),
                            _aspects.size() + _references.size());

                    // System.out.println("number of filteredReferences " +
                    // filteredReferences.size());
                }
                filteredAspects = filterAspects(monitor);
                _filteredReferences = filterReferences(filteredAspects, monitor);
                if (_orderedReferences == null) {
                    if (_orderer != null) {
                        _orderedAspects = _orderer.orderedObjects(filteredAspects, monitor);
                        _orderedReferences = buildOrderedReferencesOnAspects(_orderedAspects);
                        if (_personReferences != null && _personReferences.size() > 0) {
                            monitor.beginTask("Group Aspects. Number of Aspects: " + filteredAspects.size(),
                                    filteredAspects.size());
                            OrderingHead oh = new OrderingHead();
                            if (_input instanceof Person) {
                                oh.setLabel(((Person) _input).getDisplayName());
                            } else {
                                oh.setLabel("????");
                            }
                            oh.setValue("Person");
                            oh.setImageString(IconsInternal.PERSON);
                            oh.setReferences(_personReferences);
                            _orderedReferences.insertElementAt(oh, 0);
                        }
                        if (_hostedReferences != null && _hostedReferences.size() > 0) {
                            OrderingHead oh = new OrderingHead();
                            oh.setLabel("contains");
                            oh.setValue("contains");
                            oh.setImageString(IconsInternal.REFERENCE);
                            oh.setReferences(_hostedReferences);
                            _orderedReferences.add(oh);
                        }
                    }
                }
                if (_orderedReferences == null) {
                    monitor.beginTask("Group References. Number of References: " + _filteredReferences.size(),
                            _filteredReferences.size());
                    if (_refOrderer != null) {
                        _orderedReferences = _refOrderer.orderedReferences(_filteredReferences, monitor);
                    } else {
                        _orderedReferences = new Vector<OrderingHead>(1);
                        OrderingHead oh = new OrderingHead();
                        oh.setLabel(NLMessages.getString("View_group_all"));
                        oh.setValue("ALL");
                        oh.setImageString(IconsInternal.REFERENCES);
                        oh.setReferences(_filteredReferences);
                        _orderedReferences.add(oh);

                        if (_hostedReferences != null && _hostedReferences.size() > 0) {
                            oh = new OrderingHead();
                            oh.setLabel("contains");
                            oh.setValue("contains");
                            oh.setImageString(IconsInternal.REFERENCE);
                            oh.setReferences(_hostedReferences);
                            _orderedReferences.add(oh);
                        }
                    }
                }
                monitor.beginTask("Sort References. Number of References: " + _filteredReferences.size(),
                        _filteredReferences.size());
                if (_lazySorting) {
                    if (_refComparator != null) {
                        Collections.sort(_orderedReferences.firstElement().getReferences(), _refComparator);
                    } else {
                        Collections.sort(_orderedReferences.firstElement().getReferences(),
                                new ReferenceByAuthorTitleComparator());
                    }
                    _orderedReferences.firstElement().setSorted(true);
                } else {
                    if (_refComparator != null) {
                        for (OrderingHead oh : _orderedReferences) {
                            Collections.sort(oh.getReferences(), _refComparator);
                            oh.setSorted(true);

                        }
                    } else {
                        ReferenceByAuthorTitleComparator cronComp = new ReferenceByAuthorTitleComparator();
                        for (OrderingHead oh : _orderedReferences) {
                            Collections.sort(oh.getReferences(), cronComp);
                            oh.setSorted(true);
                        }
                    }
                }

            }
        });
    } catch (InvocationTargetException e) {
        e.printStackTrace();
    } catch (InterruptedException e) {
        e.printStackTrace();
    }

    return _orderedReferences;
}

From source file:org.bbaw.pdr.ae.view.control.PDRObjectsProvider.java

License:Open Source License

/**
 * Gets the references.//www .  j av  a2  s  . c om
 * @return the references
 */
public final Vector<ReferenceMods> getReferences() {
    final ProgressMonitorDialog dialog = new ProgressMonitorDialog(new Shell());
    dialog.setCancelable(true);

    try {
        dialog.run(true, true, new IRunnableWithProgress() {

            @Override
            public void run(final IProgressMonitor monitor) {
                if (_aspects == null) {
                    loadAspects(monitor);
                }
                if (_references == null) {
                    loadReferences(monitor);
                    if (_input instanceof Person) {
                        loadPersonReferences(monitor);
                    }
                    if (_input instanceof ReferenceMods) {
                        loadHostedReferences(monitor);
                        if (!_references.contains(_input)) {
                            _references.add((ReferenceMods) _input);
                        }
                    }
                }
            }
        });
    } catch (InvocationTargetException e) {
        e.printStackTrace();
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    return _references;
}

From source file:org.bbaw.pdr.ae.view.identifiers.view.IdentifierSearchView.java

License:Open Source License

private void searchConcurringPersons(final int searchTarget,
        final IConcurrenceSearchService concurrenceSearchService) {
    final ConcurrenceSearchController searchController = new ConcurrenceSearchController();
    switch (searchTarget) {
    case 0://from w  w w .  j ava  2 s .  c  o  m
        _personsContainer = _facade.getAllPersons();
        break;
    case 1:
        _personsContainer = loadTreeObjects();
        break;
    case 2:
        _personsContainer = loadSelectedPersons();
    default:
        break;
    }

    ProgressMonitorDialog dialog = new ProgressMonitorDialog(new Shell());
    dialog.setCancelable(true);
    // System.out.println("searchConcurringPersons " + searchTarget);
    try {
        dialog.run(true, true, new IRunnableWithProgress() {

            @Override
            public void run(final IProgressMonitor monitor) {
                searchController.search(searchTarget, _personsContainer, concurrenceSearchService, _resultMap,
                        monitor);
                monitor.done();
            }
        });
    } catch (InvocationTargetException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    IStructuredSelection sel;
    IWorkbenchWindow ww = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
    ISelectionService selService = ww.getSelectionService();
    sel = (IStructuredSelection) selService.getSelection(AEPluginIDs.VIEW_TREEVIEW);
    if (sel != null) {
        Object obj = ((IStructuredSelection) sel).getFirstElement();
        if (obj instanceof Person) {
            _selectedPerson = (Person) obj;
            if (_resultMap != null && _resultMap.containsKey(_selectedPerson.getPdrId())) {
                loadConcurrenceData(_selectedPerson, _resultMap.get(_selectedPerson.getPdrId()));
            }
        }
    }
}

From source file:org.bbaw.pdr.ae.view.main.dialogs.LoginDialog.java

License:Open Source License

/**
 * checks if input is valid.//from   w  w w.  j  a  va 2s.  c  om
 * @return boolean valid TODO die berprfung des Benutzernamens und
 *         Passwortes soll nicht hier, sondern in der Controller-Schicht
 *         oder sogar in der DAtenhaltung aus gefhrt werden. TODO
 *         User-datenbank einbauen.
 */
private boolean isValidInput() {
    log(1, "Validating user credentials...");
    _projectId = Platform.getPreferencesService().getInt(CommonActivator.PLUGIN_ID, "PROJECT_ID",
            AEConstants.PROJECT_ID, null);
    log(1, "Project number returned by platform preferences service: " + _projectId);
    boolean valid = true;
    _userName = _userNameCombo.getText();
    _userPassword = _userPasswordText.getText();

    if (_userName.length() == 0) {
        setErrorMessage(NLMessages.getString("LoginDialog_errorMessageNoUserName")); //$NON-NLS-1$
        valid = false;
        return valid;
    }
    if (_userPassword.length() == 0) {
        setErrorMessage(NLMessages.getString("LoginDialog_errorMessageNoPassword")); //$NON-NLS-1$
        valid = false;
        return valid;

    }
    if (!usersInitialized) {
        ProgressMonitorDialog dialog = new ProgressMonitorDialog(this.getShell());
        dialog.setCancelable(false);

        try {
            dialog.run(true, true, new IRunnableWithProgress() {
                private Object _updateStatus;

                @Override
                public void run(final IProgressMonitor monitor) {
                    try {
                        monitor.setTaskName("Update Users from Repository");
                        IUpdateManager[] rums = Facade.getInstanz().getUpdateManagers();
                        for (IUpdateManager rum : rums) {
                            try {
                                iLogger.log(new Status(IStatus.INFO, Activator.PLUGIN_ID,
                                        "Look up ID of user " + _userName + " in project " + _projectId));
                                log(1, "Look up ID of user " + _userName + " in project " + _projectId);
                                _userID = rum.getUserId(_userName, _projectId);
                                log(1, "Retrieved user ID: " + _userID);
                                log(1, "Load initial users");
                                rum.loadInitialUsers(_userID, _userPassword, null);
                                usersInitialized = true;
                            } catch (PDRAlliesClientException e) {
                                log(2, "Allies Error: " + e.getMessage(), e);
                                setErrorMessage(NLMessages.getString("LoginDialog_errorMessageNoConnection")); //$NON-NLS-1$
                            } catch (Exception e) {
                                log(2, "Error: " + e.getMessage(), e);
                                log(1, "Verify/create users in user manager.");
                                _userManager.verifyOrCreateUsers();
                            }
                        }
                    } catch (Exception e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            });
        } catch (InvocationTargetException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
        }
    }
    if (_onStart) {
        log(1, "startup flag set.");
        User u = null;
        try {
            log(1, "Attempt to obtain user object based on user name.");
            u = _userManager.getUsersByUserName(_userName);
            log(1, "Returned user object: " + u.getDisplayNameWithID());
        } catch (Exception e) {
            e.printStackTrace();
        }
        if (u == null) {
            log(1, "User object is NULL. Try to load user data.");
            if (loadUserData(_userName, _userPassword)) {

                try {
                    log(1, "Try to get user object from user manager by user name");
                    u = _userManager.getUsersByUserName(_userName);
                } catch (Exception e) {
                    e.printStackTrace();
                }

            }
        }
        if (u == null) {
            log(2, "User object is still NULL");
            setErrorMessage(NLMessages.getString("LoginDialog_errorMessageUserNameUnknown")); //$NON-NLS-1$
            IStatus sname = new Status(IStatus.INFO, Activator.PLUGIN_ID, "Login user name is valid"); //$NON-NLS-1$
            iLogger.log(sname);
            return false;
        }
        if (u.getAuthentication() != null && _userName.equals(u.getAuthentication().getUserName())) {
            IStatus sname = new Status(IStatus.INFO, Activator.PLUGIN_ID, "Login user name is valid"); //$NON-NLS-1$
            iLogger.log(sname);
            log(1, "User name valid.");
            if (_userPassword.equals(u.getAuthentication().getPassword())) {
                IStatus spw = new Status(IStatus.INFO, Activator.PLUGIN_ID, "Login password is also valid"); //$NON-NLS-1$
                iLogger.log(spw);
                log(1, "Password correct.");
                valid = true;
                _user = u;
                return valid;
            } else {
                log(2, "Password incorrect!");
                setErrorMessage(NLMessages.getString("LoginDialog_errorMessagePasswordInvalid")); //$NON-NLS-1$
                valid = false;
                return valid;
            }
        } else {
            setErrorMessage(NLMessages.getString("LoginDialog_errorMessageUserNameUnknown")); //$NON-NLS-1$
            log(2, "User name not known.");
            valid = false;
        }
    } else {
        log(1, "OnStart flag not set.");
        log(1, "get current user from facade");
        _user = _facade.getCurrentUser();
        if (_userName.equals(_user.getAuthentication().getUserName())) // FIXME: nullpointer in case 'modify user' dialog didn't work out recently
        {
            log(1, "user name recognized.");
            if (_userPassword.equals(_user.getAuthentication().getPassword())) {
                log(1, "password correct.");
                valid = true;
            } else {
                log(2, "password incorrect!");
                setErrorMessage(NLMessages.getString("LoginDialog_errorMessagePasswordInvalid")); //$NON-NLS-1$
                valid = false;
                return valid;
            }
        } else {
            log(2, "User name not recognized!");
            setErrorMessage(NLMessages.getString("LoginDialog_login_message_not_your_userName"));
            valid = false;
        }
    }

    // else-clause
    return valid;
}

From source file:org.brainwy.liclipsetext.shared_ui.utils.AsynchronousProgressMonitorDialog.java

License:Open Source License

/**
 * Test code below/*from   w w w. ja  v  a2 s .com*/
 */
public static void main(String[] arg) {
    Shell shl = new Shell();
    ProgressMonitorDialog dlg = new AsynchronousProgressMonitorDialog(shl);

    long l = System.currentTimeMillis();
    try {
        dlg.run(true, true, new IRunnableWithProgress() {

            @Override
            public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
                monitor.beginTask("Testing", 100000);
                for (long i = 0; i < 100000 && !monitor.isCanceled(); i++) {
                    //monitor.worked(1);
                    monitor.setTaskName("Task " + i);
                }
            }
        });
    } catch (Exception e) {
        Log.log(e);
    }
    System.out.println("Took " + ((System.currentTimeMillis() - l)));
}