List of usage examples for org.eclipse.jface.dialogs ProgressMonitorDialog setCancelable
public void setCancelable(boolean cancelable)
From source file:org.bbaw.pdr.ae.view.main.dialogs.LoginDialog.java
License:Open Source License
/** * checks if input is valid./*w w w.j a v a 2 s . com*/ * @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.dawnsci.conversion.ui.pages.AlignImagesConversionPage.java
License:Open Source License
private void align(final RectangularROI roi) { if (alignProgressJob == null) { alignProgressJob = new AlignProgressJob(); }/*w w w.j a va2 s .co m*/ alignProgressJob.setRectangularROI(roi); alignProgressJob.setMode(mode); alignProgressJob.setData(data); alignProgressJob.setAlignMethod(alignState); ProgressMonitorDialog alignProgress = new ProgressMonitorDialog(Display.getCurrent().getActiveShell()); alignProgress.setCancelable(true); try { alignProgress.run(true, true, alignProgressJob); } catch (InvocationTargetException e1) { MessageDialog.openError(Display.getCurrent().getActiveShell(), "Alignment Error", "An error occured during alignment: " + e1.getTargetException().getLocalizedMessage()); } catch (InterruptedException e1) { e1.printStackTrace(); } aligned = alignProgressJob.getShiftedImages(); sliderButtons.get(1).setEnabled(aligned != null); sliderButtons.get(0).setSelection(false); sliderButtons.get(1).setSelection(true); showCorrected = true; }
From source file:org.eclipse.cdt.linux.help.preferences.IndexPathControl.java
License:Open Source License
public boolean createIndex() { boolean success = false; String indexPathName;//from w ww . jav a 2s.c o m // if(HelpPlugin.getDefault().isRemote()) { DataStore dataStore; if (_isRemote) dataStore = DataStoreCorePlugin.getDefault().getCurrentDataStore(); else dataStore = DataStoreCorePlugin.getDefault().getRootDataStore(); DataElement indexObject = dataStore.createObject(null, "Project", "linuxhelp_command"); DataStore ids = indexObject.getDataStore(); String helpSettings = _settings.settingsToString(); DataElement argSettings = dataStore.createObject(null, "help_settings", helpSettings); DataElement descriptor = dataStore.localDescriptorQuery(indexObject.getDescriptor(), "C_HELPCREATEINDEX"); DataElement status; if (descriptor != null) { ArrayList args = new ArrayList(); args.add(argSettings); status = dataStore.command(descriptor, args, indexObject); HelpMonitor helpMonitor = new HelpMonitor( plugin.getLocalizedString(IHelpNLConstants.SETTINGS_INDEX_MONITORMESSAGE), status); Shell shell = WorkbenchPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getShell(); ProgressMonitorDialog progressDialog = new ProgressMonitorDialog(shell); progressDialog.setCancelable(false); try { progressDialog.run(true, false, helpMonitor); } catch (Exception e) { e.printStackTrace(); } while (!status.getName().equals("done")) { try { Thread.sleep(200); } catch (Exception e) { e.printStackTrace(); } Thread.yield(); } //indicate an index was created _settings.read(); _settings.put(IHelpSearchConstants.HELP_SETTINGS_INDEXEXISTS, true); _settings.write();//commit } return true; } }
From source file:org.eclipse.debug.examples.ui.pda.adapters.PDAVirtualFindAction.java
License:Open Source License
public void run() { final VirtualViewerListener listener = new VirtualViewerListener(); VirtualTreeModelViewer virtualViewer = initVirtualViewer(fClientViewer, listener); ProgressMonitorDialog dialog = new TimeTriggeredProgressMonitorDialog(fClientViewer.getControl().getShell(), 500);//ww w. j av a2 s . c o m final IProgressMonitor monitor = dialog.getProgressMonitor(); dialog.setCancelable(true); try { dialog.run(true, true, new IRunnableWithProgress() { public void run(final IProgressMonitor m) throws InvocationTargetException, InterruptedException { synchronized (listener) { listener.fProgressMonitor = m; listener.fProgressMonitor.beginTask(DebugUIPlugin.removeAccelerators(getText()), listener.fRemainingUpdatesCount); } while ((!listener.fLabelUpdatesComplete || !listener.fViewerUpdatesComplete) && !listener.fProgressMonitor.isCanceled()) { Thread.sleep(1); } synchronized (listener) { listener.fProgressMonitor = null; } } }); } catch (InvocationTargetException e) { DebugUIPlugin.log(e); return; } catch (InterruptedException e) { return; } VirtualItem root = virtualViewer.getTree(); if (!monitor.isCanceled()) { List list = new ArrayList(); collectAllChildren(root, list); FindLabelProvider labelProvider = new FindLabelProvider(virtualViewer, list); VirtualItem result = performFind(list, labelProvider); if (result != null) { setSelectionToClient(virtualViewer, labelProvider, result); } } virtualViewer.removeLabelUpdateListener(listener); virtualViewer.removeViewerUpdateListener(listener); virtualViewer.dispose(); }
From source file:org.eclipse.debug.internal.ui.viewers.model.VirtualCopyToClipboardActionDelegate.java
License:Open Source License
/** * Do the specific action using the current selection. * @param action Action that is running. *///from www. j av a 2s .c o m public void run(final IAction action) { if (fClientViewer.getSelection().isEmpty()) { writeBufferToClipboard(new StringBuffer("")); return; } final VirtualViewerListener listener = new VirtualViewerListener(); ItemsToCopyVirtualItemValidator validator = new ItemsToCopyVirtualItemValidator(); VirtualTreeModelViewer virtualViewer = initVirtualViewer(fClientViewer, listener, validator); ProgressMonitorDialog dialog = new TimeTriggeredProgressMonitorDialog(fClientViewer.getControl().getShell(), 500); final IProgressMonitor monitor = dialog.getProgressMonitor(); dialog.setCancelable(true); IRunnableWithProgress runnable = new IRunnableWithProgress() { public void run(final IProgressMonitor m) throws InvocationTargetException, InterruptedException { synchronized (listener) { listener.fProgressMonitor = m; listener.fProgressMonitor.beginTask(DebugUIPlugin.removeAccelerators(getAction().getText()), listener.fRemainingUpdatesCount); } while ((!listener.fLabelUpdatesComplete || !listener.fViewerUpdatesComplete) && !listener.fProgressMonitor.isCanceled()) { Thread.sleep(1); } synchronized (listener) { listener.fProgressMonitor = null; } } }; try { dialog.run(true, true, runnable); } catch (InvocationTargetException e) { DebugUIPlugin.log(e); return; } catch (InterruptedException e) { return; } if (!monitor.isCanceled()) { copySelectionToClipboard(virtualViewer, validator.fItemsToCopy, listener.fSelectionRootDepth); } virtualViewer.removeLabelUpdateListener(listener); virtualViewer.removeViewerUpdateListener(listener); virtualViewer.dispose(); }
From source file:org.eclipse.thym.ui.internal.engine.AvailableCordovaEnginesSection.java
License:Open Source License
private void handleSearch(final Composite parent) { DirectoryDialog directoryDialog = new DirectoryDialog(parent.getShell()); directoryDialog.setMessage("Select the directory in which to search for hybrid mobile engines"); directoryDialog.setText("Search for Hybrid Mobile Engines"); String pathStr = directoryDialog.open(); if (pathStr == null) return;/* w w w .ja v a 2s .co m*/ final IPath path = new Path(pathStr); final ProgressMonitorDialog dialog = new ProgressMonitorDialog(parent.getShell()); dialog.setBlockOnOpen(false); dialog.setCancelable(true); dialog.open(); final EngineSearchListener listener = new EngineSearchListener() { @Override public void engineFound(HybridMobileEngine engine) { addPathToPreference(engine.getLocation()); getEngineProvider().engineFound(engine); } }; IRunnableWithProgress runnable = new IRunnableWithProgress() { @Override public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { List<HybridMobileEngineLocator> locators = HybridCore.getEngineLocators(); for (HybridMobileEngineLocator locator : locators) { locator.searchForRuntimes(path, listener, monitor); } parent.getDisplay().asyncExec(new Runnable() { @Override public void run() { updateAvailableEngines(); } }); } }; try { dialog.run(true, true, runnable); } catch (InvocationTargetException e) { if (e.getTargetException() != null) { if (e.getTargetException() instanceof CoreException) { StatusManager.handle((CoreException) e.getTargetException()); } else { ErrorDialog.openError(parent.getShell(), "Local Engine Search Error", null, new Status(IStatus.ERROR, HybridUI.PLUGIN_ID, "Error when searching for local hybrid mobile engines", e.getTargetException())); } } } catch (InterruptedException e) { HybridUI.log(IStatus.ERROR, "Search for Cordova Engines error", e); } }
From source file:org.eclipse.wst.server.ui.internal.RuntimePreferencePage.java
License:Open Source License
/** * Create the preference options.// ww w . j av a 2 s . co m * * @param parent org.eclipse.swt.widgets.Composite * @return org.eclipse.swt.widgets.Control */ protected Control createContents(Composite parent) { initializeDialogUnits(parent); PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, ContextIds.PREF_GENERAL); Composite composite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); layout.horizontalSpacing = convertHorizontalDLUsToPixels(4); layout.verticalSpacing = convertVerticalDLUsToPixels(3); layout.marginWidth = 0; layout.marginHeight = 0; layout.numColumns = 2; composite.setLayout(layout); GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL); composite.setLayoutData(data); Label label = new Label(composite, SWT.WRAP); data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); data.horizontalSpan = 2; label.setLayoutData(data); label.setText(Messages.preferenceRuntimesDescription); label = new Label(composite, SWT.WRAP); data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); data.horizontalSpan = 2; data.verticalIndent = 5; label.setLayoutData(data); label.setText(Messages.preferenceRuntimesTable); runtimeComp = new RuntimeComposite(composite, SWT.NONE, new RuntimeComposite.RuntimeSelectionListener() { public void runtimeSelected(IRuntime runtime) { if (runtime == null) { edit.setEnabled(false); remove.setEnabled(false); pathLabel.setText(""); } else { IStatus status = runtime.validate(new NullProgressMonitor()); if (status != null && status.getSeverity() == IStatus.ERROR) { Color c = pathLabel.getDisplay().getSystemColor(SWT.COLOR_RED); pathLabel.setForeground(c); pathLabel.setText(status.getMessage()); } else if (runtime.getLocation() != null) { pathLabel.setForeground(edit.getForeground()); pathLabel.setText(runtime.getLocation() + ""); } else pathLabel.setText(""); if (runtime.isReadOnly()) { edit.setEnabled(false); remove.setEnabled(false); } else { if (runtime.getRuntimeType() != null) edit.setEnabled(ServerUIPlugin.hasWizardFragment(runtime.getRuntimeType().getId())); else edit.setEnabled(false); remove.setEnabled(true); } } } }); runtimeComp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL)); Composite buttonComp = new Composite(composite, SWT.NONE); layout = new GridLayout(); layout.horizontalSpacing = 0; layout.verticalSpacing = convertVerticalDLUsToPixels(3); layout.marginWidth = 0; layout.marginHeight = 0; layout.numColumns = 1; buttonComp.setLayout(layout); data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL); buttonComp.setLayoutData(data); Button add = SWTUtil.createButton(buttonComp, Messages.add); final RuntimeComposite runtimeComp2 = runtimeComp; add.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { if (showWizard(null) == Window.CANCEL) return; runtimeComp2.refresh(); } }); edit = SWTUtil.createButton(buttonComp, Messages.edit); edit.setEnabled(false); edit.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { IRuntime runtime = runtimeComp2.getSelectedRuntime(); if (runtime != null) { IRuntimeWorkingCopy runtimeWorkingCopy = runtime.createWorkingCopy(); if (showWizard(runtimeWorkingCopy) != Window.CANCEL) { try { runtimeComp2.refresh(runtime); } catch (Exception ex) { // ignore } } } } }); remove = SWTUtil.createButton(buttonComp, Messages.remove); remove.setEnabled(false); remove.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { IRuntime runtime = runtimeComp.getSelectedRuntime(); if (removeRuntime(runtime)) runtimeComp2.remove(runtime); } }); Button search = SWTUtil.createButton(buttonComp, Messages.search); data = (GridData) search.getLayoutData(); data.verticalIndent = 9; search.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { try { // select a target directory for the search DirectoryDialog directoryDialog = new DirectoryDialog(getShell()); directoryDialog.setMessage(Messages.dialogRuntimeSearchMessage); directoryDialog.setText(Messages.dialogRuntimeSearchTitle); String pathStr = directoryDialog.open(); if (pathStr == null) return; final IPath path = new Path(pathStr); final ProgressMonitorDialog dialog = new ProgressMonitorDialog(getShell()); dialog.setBlockOnOpen(false); dialog.setCancelable(true); dialog.open(); final IProgressMonitor monitor = dialog.getProgressMonitor(); final IRuntimeLocator[] locators = ServerPlugin.getRuntimeLocators(); monitor.beginTask(Messages.dialogRuntimeSearchProgress, 100 * locators.length + 10); final List<IRuntimeWorkingCopy> list = new ArrayList<IRuntimeWorkingCopy>(); final IRuntimeLocator.IRuntimeSearchListener listener = new IRuntimeLocator.IRuntimeSearchListener() { public void runtimeFound(final IRuntimeWorkingCopy runtime) { dialog.getShell().getDisplay().syncExec(new Runnable() { public void run() { monitor.subTask(runtime.getName()); } }); list.add(runtime); } }; IRunnableWithProgress runnable = new IRunnableWithProgress() { public void run(IProgressMonitor monitor2) { int size = locators.length; for (int i = 0; i < size; i++) { if (!monitor2.isCanceled()) try { locators[i].searchForRuntimes(path, listener, monitor2); } catch (CoreException ce) { if (Trace.WARNING) { Trace.trace(Trace.STRING_WARNING, "Error locating runtimes: " + locators[i].getId(), ce); } } } if (Trace.INFO) { Trace.trace(Trace.STRING_INFO, "Done search"); } } }; dialog.run(true, true, runnable); if (Trace.FINER) { Trace.trace(Trace.STRING_FINER, "Found runtimes: " + list.size()); } if (!monitor.isCanceled()) { if (list.isEmpty()) { EclipseUtil.openError(getShell(), Messages.infoNoRuntimesFound); return; } monitor.worked(5); if (Trace.FINER) { Trace.trace(Trace.STRING_FINER, "Removing duplicates"); } List<IRuntime> good = new ArrayList<IRuntime>(); Iterator iterator2 = list.iterator(); while (iterator2.hasNext()) { boolean dup = false; IRuntime wc = (IRuntime) iterator2.next(); IRuntime[] runtimes = ServerCore.getRuntimes(); if (runtimes != null) { int size = runtimes.length; for (int i = 0; i < size; i++) { if (runtimes[i].getLocation() != null && runtimes[i].getLocation().equals(wc.getLocation())) dup = true; } } if (!dup) good.add(wc); } monitor.worked(5); if (Trace.FINER) { Trace.trace(Trace.STRING_FINER, "Adding runtimes: " + good.size()); } Iterator iterator = good.iterator(); while (iterator.hasNext()) { IRuntimeWorkingCopy wc = (IRuntimeWorkingCopy) iterator.next(); wc.save(false, monitor); } monitor.done(); } dialog.close(); } catch (Exception ex) { if (Trace.SEVERE) { Trace.trace(Trace.STRING_SEVERE, "Error finding runtimes", ex); } } runtimeComp2.refresh(); } }); Button columnsButton = SWTUtil.createButton(buttonComp, Messages.actionColumns); data = (GridData) columnsButton.getLayoutData(); final RuntimePreferencePage thisClass = this; columnsButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { ConfigureColumns.forTable(runtimeComp.getTable(), thisClass); } }); pathLabel = new Label(parent, SWT.NONE); pathLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); Dialog.applyDialogFont(composite); return composite; }
From source file:org.eclipse.wst.server.ui.internal.view.servers.RemoveModuleAction.java
License:Open Source License
protected void removeModules(final IModule[] modules) { try {/*from w ww . ja v a 2 s .co m*/ final ProgressMonitorDialog dialog = new ProgressMonitorDialog(shell); dialog.setBlockOnOpen(false); dialog.setCancelable(true); IRunnableWithProgress runnable = new IRunnableWithProgress() { public void run(IProgressMonitor monitor) { try { IServerWorkingCopy wc = server.createWorkingCopy(); if (monitor.isCanceled()) { return; } wc.modifyModules(null, modules, monitor); if (monitor.isCanceled()) { return; } server = wc.save(true, monitor); if (Trace.INFO) { Trace.trace(Trace.STRING_INFO, "Done save server configuration in RemoveModuleAction."); } } catch (CoreException e) { if (Trace.WARNING) { Trace.trace(Trace.STRING_WARNING, "Failed to save server configuration. Could not remove module", e); } saveServerException = e; } } }; dialog.run(true, true, runnable); // Error when saving server so do not proceed on the remove action. if (saveServerException != null) { return; } if (server.getServerState() != IServer.STATE_STOPPED && ServerUIPlugin.getPreferences().getPublishOnAddRemoveModule()) { final IAdaptable info = new IAdaptable() { public Object getAdapter(Class adapter) { if (Shell.class.equals(adapter)) return shell; if (String.class.equals(adapter)) return "user"; return null; } }; server.publish(IServer.PUBLISH_INCREMENTAL, null, info, null); } } catch (Exception e) { if (Trace.WARNING) { Trace.trace(Trace.STRING_WARNING, "Could not remove module", e); } } }
From source file:org.eclipsercp.hyperbola.Application.java
License:Open Source License
private void connectWithProgress(final Session session) { ProgressMonitorDialog progress = new ProgressMonitorDialog(null); progress.setCancelable(true); try {/*from w w w .j a v a 2s .c o m*/ progress.run(true, true, new IRunnableWithProgress() { public void run(IProgressMonitor monitor) throws InvocationTargetException { try { session.connectAndLogin(monitor); } catch (XMPPException e) { e.printStackTrace(); } } }); } catch (InvocationTargetException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } }
From source file:org.emftrace.ui.dependencygraph.DependencyGraphNode.java
License:Open Source License
/** * Starts a type-based impact analysis with this node as the source of change *///ww w . j a v a 2 s . com private void performTypeBasedImpactAnalysis() { DependencyGraph graph = (DependencyGraph) getGraphModel(); Shell shell = graph.getShell(); Activator.getAccessLayer().invalidateCache(graph.getProject()); TypeBasedImpactAnalysisWizard wizard = new TypeBasedImpactAnalysisWizard(graph.getProject(), model); WizardDialog dialog = new WizardDialog(shell, wizard); dialog.open(); if (wizard.finishedSuccessfully) { wizard.selectedModels.add(model); if (wizard.changeTarget != null) wizard.selectedModels.add(wizard.changeTarget); ImpactAnalysisOperation op = new ImpactAnalysisOperation(graph.getProject(), wizard.selectedModels, wizard.selectedCatalog, wizard.b1, wizard.b2, true); ProgressMonitorDialog progressDialog = new ProgressMonitorDialog(shell); progressDialog.setCancelable(false); try { progressDialog.run(true, true, op); MessageDialog.openInformation(shell, "Impact Analysis completed", op.getSizeOfImpactSet() + " impact reports generated"); } catch (InvocationTargetException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } graph.adjustEdgesAfterImpactAnalysis(); } }