List of usage examples for org.eclipse.jface.dialogs ProgressMonitorDialog run
@Override public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InvocationTargetException, InterruptedException
IRunnableWithProgress
using the progress monitor for this progress dialog and blocks until the runnable has been run, regardless of the value of fork
. From source file:com.centurylink.mdw.plugin.designer.views.ProcessExplorerContentProvider.java
License:Apache License
public Object[] getChildren(Object parentElement) { if (parentElement instanceof WorkflowProject) { final WorkflowProject workflowProject = (WorkflowProject) parentElement; if (!workflowProject.isLoaded()) { try { IRunnableWithProgress loader = new IRunnableWithProgress() { public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { ProgressMonitor progressMonitor = new SwtProgressMonitor(monitor); progressMonitor.start("Loading " + workflowProject.getLabel()); progressMonitor.progress(5); try { workflowProject.initialize(progressMonitor); if (workflowProject.getDataAccess() != null) { workflowProject.getTopLevelUserVisiblePackages(progressMonitor); workflowProject.getArchivedUserVisiblePackagesFolder(progressMonitor); progressMonitor.done(); }/* w w w. j a va 2 s .co m*/ } catch (Exception ex) { throw new InvocationTargetException(ex); } } }; ProgressMonitorDialog progMonDlg = new MdwProgressMonitorDialog(MdwPlugin.getShell()); progMonDlg.run(true, false, loader); } catch (InvocationTargetException itx) { if (itx.getCause() instanceof DataUnavailableException) { PluginMessages.log(itx); MessageDialog.openWarning(MdwPlugin.getShell(), "Load Workflow Project", itx.getCause().getMessage()); } else if (itx.getCause() instanceof DataAccessOfflineException) { PluginMessages.log(itx); MessageDialog.openError(MdwPlugin.getShell(), "Load Workflow Project", itx.getCause().getMessage()); return new WorkflowPackage[0]; } else { PluginMessages.uiError(itx, "Load Workflow Project", workflowProject); return new WorkflowPackage[0]; } } catch (Exception ex) { PluginMessages.uiError(ex, "Load Workflow Project", workflowProject); return new WorkflowPackage[0]; } } if (workflowProject.getDataAccess() == null) return new WorkflowPackage[0]; List<WorkflowPackage> topLevelPackages = workflowProject.getTopLevelUserVisiblePackages(); Folder archivedPackageFolder = workflowProject.getArchivedUserVisiblePackagesFolder(); int size = topLevelPackages.size(); boolean showArchived = isShowArchivedItems(workflowProject); if (showArchived) size++; AutomatedTestSuite testSuite = workflowProject.getLegacyTestSuite(); if (testSuite != null && !testSuite.isEmpty()) size++; Object[] objects = new Object[size]; for (int i = 0; i < topLevelPackages.size(); i++) objects[i] = topLevelPackages.get(i); int cur = topLevelPackages.size(); if (showArchived) { objects[cur] = archivedPackageFolder; cur++; } if (testSuite != null && !testSuite.isEmpty()) objects[cur] = testSuite; return objects; } else if (parentElement instanceof WorkflowPackage) { WorkflowPackage packageVersion = (WorkflowPackage) parentElement; if (packageVersion.isArchived() && packageVersion.hasDescendantPackageVersions()) { return packageVersion.getDescendantPackageVersions().toArray(new WorkflowPackage[0]); } else { List<WorkflowElement> elements = new ArrayList<WorkflowElement>(); IPreferenceStore prefsStore = MdwPlugin.getDefault().getPreferenceStore(); if (!prefsStore.getBoolean(PreferenceConstants.PREFS_FILTER_PROCESSES_IN_PEX)) elements.addAll(packageVersion.getProcesses()); if (!prefsStore.getBoolean(PreferenceConstants.PREFS_FILTER_WORKFLOW_ASSETS_IN_PEX)) elements.addAll(packageVersion.getAssets()); if (!prefsStore.getBoolean(PreferenceConstants.PREFS_FILTER_EVENT_HANDLERS_IN_PEX)) elements.addAll(packageVersion.getExternalEvents()); if (prefsStore.getBoolean(PreferenceConstants.PREFS_SHOW_ACTIVITY_IMPLEMENTORS_IN_PEX)) elements.addAll(packageVersion.getActivityImpls()); if (!prefsStore.getBoolean(PreferenceConstants.PREFS_FILTER_TASK_TEMPLATES_IN_PEX)) elements.addAll(packageVersion.getTaskTemplates()); elements.addAll(packageVersion.getChildFolders()); if (isSortPackageContentsAtoZ()) { Collections.sort(elements, new Comparator<WorkflowElement>() { public int compare(WorkflowElement e1, WorkflowElement e2) { return e1.getLabel().compareToIgnoreCase(e2.getLabel()); } }); } return elements.toArray(new Object[0]); } } else if (parentElement instanceof WorkflowProcess) { WorkflowProcess processVersion = (WorkflowProcess) parentElement; if (processVersion.hasDescendantProcessVersions()) { return processVersion.getDescendantProcessVersions().toArray(new WorkflowProcess[0]); } else { return EMPTY_ARRAY; } } else if (parentElement instanceof Folder) { Folder folder = (Folder) parentElement; return folder.getChildren().toArray(new WorkflowElement[0]); } else if (parentElement instanceof AutomatedTestSuite) { AutomatedTestSuite testSuite = (AutomatedTestSuite) parentElement; return testSuite.getTestCases().toArray(new AutomatedTestCase[0]); } else if (parentElement instanceof AutomatedTestCase) { AutomatedTestCase testCase = (AutomatedTestCase) parentElement; if (!testCase.isLegacy()) return EMPTY_ARRAY; List<LegacyExpectedResults> expectedResults = testCase.getLegacyExpectedResults(); List<File> files = testCase.getFiles(); Object[] objects = new Object[expectedResults.size() + files.size()]; for (int i = 0; i < expectedResults.size(); i++) objects[i] = expectedResults.get(i); for (int i = expectedResults.size(); i < objects.length; i++) objects[i] = files.get(i - expectedResults.size()); return objects; } else { return EMPTY_ARRAY; } }
From source file:com.centurylink.mdw.plugin.designer.wizards.ImportPackagePage.java
License:Apache License
@Override public IWizardPage getNextPage() { ImportPackageWizard wiz = (ImportPackageWizard) getWizard(); if (isDiscovery()) { preselected = null;//from w w w . ja v a2 s.co m ((ImportPackageWizard) getWizard()).setHasOldImplementors(false); final String url = discoveryUrlText.getText().trim(); final boolean latestVersionsOnly = latestVersionsCheckbox.getSelection(); // display a progress dialog since this can take a while ProgressMonitorDialog pmDialog = new MdwProgressMonitorDialog(getShell()); try { pmDialog.run(true, true, new IRunnableWithProgress() { public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { monitor.beginTask("Crawling for workflow assets...", 100); try { packageFolder = populateTopFolder(url, latestVersionsOnly, monitor); monitor.done(); } catch (InterruptedException ex) { throw ex; } catch (Exception ex) { throw new InvocationTargetException(ex); } } }); } catch (InterruptedException iex) { } catch (Exception ex) { PluginMessages.uiError(getShell(), ex, "Discover Packages", getProject()); return null; } } else { BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() { public void run() { try { packageFolder = populateTopFolder(null, false, null); } catch (Exception ex) { PluginMessages.uiError(getShell(), ex, "Import Packages", getProject()); } } }); } if (packageFolder == null) { return null; } else { wiz.setFolder(packageFolder); wiz.initializePackageSelectPage(preselected); return ((ImportPackageWizard) getWizard()).getImportPackageSelectPage(); } }
From source file:com.centurylink.mdw.plugin.project.assembly.ExtensionModulesUpdater.java
License:Apache License
private void doAdd(final ExtensionModule module, final Shell shell) { try {/*from ww w .j a v a2s .c om*/ ProgressMonitorDialog pmDialog = new MdwProgressMonitorDialog(shell); pmDialog.run(true, true, new IRunnableWithProgress() { public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { monitor.beginTask("Adding Extension Module: " + module.getName(), 105); monitor.worked(5); try { if (module.addTo(project, monitor)) project.addExtension(module); WorkflowProjectManager.getInstance().save(project); monitor.done(); } catch (InterruptedException ex) { throw ex; } catch (Exception ex) { PluginMessages.log(ex); throw new InvocationTargetException(ex); } } }); } catch (InvocationTargetException ex) { PluginMessages.uiError(shell, ex, "Add Extension Module", project); } catch (InterruptedException ex) { PluginMessages.log(ex); MessageDialog.openWarning(shell, "Add Extension Module", "Operation cancelled"); } }
From source file:com.centurylink.mdw.plugin.project.assembly.ExtensionModulesUpdater.java
License:Apache License
private void doRemove(final ExtensionModule module, final Shell shell) { try {/* w ww. j a v a 2s.c om*/ ProgressMonitorDialog pmDialog = new MdwProgressMonitorDialog(shell); pmDialog.run(true, true, new IRunnableWithProgress() { public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { monitor.beginTask("Removing Extension Module: " + module.getName(), 105); monitor.worked(5); try { if (module.removeFrom(project, monitor)) project.removeExtension(module); WorkflowProjectManager.getInstance().save(project); monitor.done(); } catch (InterruptedException ex) { throw ex; } catch (Exception ex) { PluginMessages.log(ex); throw new InvocationTargetException(ex); } } }); } catch (InvocationTargetException ex) { PluginMessages.uiError(shell, ex, "Remove Extension Module", project); } catch (InterruptedException ex) { PluginMessages.log(ex); MessageDialog.openWarning(shell, "Remove Extension Module", "Operation cancelled"); } }
From source file:com.centurylink.mdw.plugin.project.assembly.ExtensionModulesUpdater.java
License:Apache License
private void doUpdate(final ExtensionModule module, final Shell shell) { try {/*w w w.j a v a2 s .com*/ ProgressMonitorDialog pmDialog = new MdwProgressMonitorDialog(shell); pmDialog.run(true, true, new IRunnableWithProgress() { public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { monitor.beginTask("Updating Extension Module: " + module.getName(), 105); monitor.worked(5); try { module.update(project, monitor); monitor.done(); } catch (InterruptedException ex) { throw ex; } catch (Exception ex) { PluginMessages.log(ex); throw new InvocationTargetException(ex); } } }); } catch (InvocationTargetException ex) { PluginMessages.uiError(shell, ex, "Update Extension Module", project); } catch (InterruptedException ex) { PluginMessages.log(ex); MessageDialog.openWarning(shell, "Update Extension Module", "Operation cancelled"); } }
From source file:com.centurylink.mdw.plugin.project.assembly.ProjectConfigurator.java
License:Apache License
public void initializeFrameworkJars() { final Shell shell = MdwPlugin.getShell(); ProgressMonitorDialog pmDialog = new MdwProgressMonitorDialog(shell); try {/*w w w. j av a2 s . c o m*/ pmDialog.run(false, false, new IRunnableWithProgress() { public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { monitor.beginTask("Adding Framework Libraries", 100); monitor.worked(5); ProjectUpdater updater = new ProjectUpdater(getProject(), getSettings()); updater.updateFrameworkJars(monitor); try { SubProgressMonitor submon = new SubProgressMonitor(monitor, 75); addFrameworkJarsToClasspath(submon); createFrameworkSourceCodeAssociations(shell, submon); monitor.done(); } catch (CoreException ex) { throw new InvocationTargetException(ex); } } }); } catch (Exception ex) { PluginMessages.uiError(ex, "Framework Jars", getProject()); } }
From source file:com.centurylink.mdw.plugin.project.assembly.ProjectConfigurator.java
License:Apache License
public void initializeWebAppJars() { if (getProject().isRemote()) return;//from w w w .ja v a2 s . c om final Shell shell = MdwPlugin.getShell(); ProgressMonitorDialog pmDialog = new MdwProgressMonitorDialog(shell); try { pmDialog.run(true, false, new IRunnableWithProgress() { public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { monitor.beginTask("Adding WebApp Libraries", 100); monitor.worked(5); try { ProjectUpdater updater = new ProjectUpdater(getProject(), MdwPlugin.getSettings()); updater.updateWebProjectJars(monitor); createFrameworkSourceCodeAssociations(shell, monitor); } catch (CoreException ex) { PluginMessages.log(ex); } } }); } catch (Exception ex) { PluginMessages.log(ex); } }
From source file:com.centurylink.mdw.plugin.project.assembly.ProjectInflator.java
License:Apache License
public void inflateCloudProject(final IRunnableContext container) { getProject().setCloudProject(true);// ww w. jav a2 s. c o m // get a project handle final IProject newProjectHandle = ResourcesPlugin.getWorkspace().getRoot() .getProject(workflowProject.getName()); // get a project descriptor IWorkspace workspace = ResourcesPlugin.getWorkspace(); final IProjectDescription description = workspace.newProjectDescription(newProjectHandle.getName()); // create the new project operation IRunnableWithProgress op = new IRunnableWithProgress() { public void run(IProgressMonitor monitor) throws InvocationTargetException { Repository newRepo = null; try { if (workflowProject.getPersistType() == PersistType.Git) { File localDir = new File(ResourcesPlugin.getWorkspace().getRoot().getLocation().toFile() + "/" + workflowProject.getName()); if (workflowProject.getMdwVcsRepository().hasRemoteRepository()) { monitor.subTask("Cloning Git repository"); VcsRepository gitRepo = workflowProject.getMdwVcsRepository(); Git.cloneRepository().setURI(gitRepo.getRepositoryUrlWithCredentials()) .setDirectory(localDir).call(); } else { newRepo = new FileRepository(new File(localDir + "/.git")); newRepo.create(); } // .gitignore Generator generator = new Generator(shell); JetAccess jet = getJet("source/.ignorejet", getProject().getSourceProject(), ".gitignore", null); generator.createFile(jet, monitor); } CreateProjectOperation op = new CreateProjectOperation(description, "MDW Cloud Project"); PlatformUI.getWorkbench().getOperationSupport().getOperationHistory().execute(op, monitor, WorkspaceUndoUtil.getUIInfoAdapter(shell)); } catch (Exception ex) { throw new InvocationTargetException(ex); } finally { if (newRepo != null) newRepo.close(); } } }; // run the new project creation operation try { container.run(false, false, op); ProgressMonitorDialog pmDialog = new MdwProgressMonitorDialog(MdwPlugin.getShell()); pmDialog.run(true, false, new IRunnableWithProgress() { public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { monitor.beginTask("Inflating Workflow Project", 250); monitor.worked(5); // configure as Java project ProjectConfigurator projConf = new ProjectConfigurator(getProject(), MdwPlugin.getSettings()); projConf.setJava(new SubProgressMonitor(monitor, 3)); ProjectUpdater updater = new ProjectUpdater(getProject(), MdwPlugin.getSettings()); updater.updateMappingFiles(new SubProgressMonitor(monitor, 3)); // bootstrap // versions // of // the // property // files updater.updateFrameworkJars(new SubProgressMonitor(monitor, 150)); updater.updateWebProjectJars(new SubProgressMonitor(monitor, 50)); try { if (getProject().isOsgi()) projConf.addJavaProjectSourceFolder(getProject().getOsgiSettings().getSourceDir(), new SubProgressMonitor(monitor, 3)); else if (!getProject().isWar()) projConf.addJavaProjectSourceFolder("src", monitor); projConf.setJavaBuildOutputPath("build/classes", new SubProgressMonitor(monitor, 5)); projConf.addFrameworkJarsToClasspath(monitor); // add the workflow facet getProject().setSkipFacetPostInstallUpdates(true); // already // did // framework // updates IFacetedProject facetedProject = ProjectFacetsManager .create(getProject().getSourceProject(), true, new SubProgressMonitor(monitor, 3)); IProjectFacetVersion javaFacetVersion = ProjectFacetsManager.getProjectFacet("java") .getDefaultVersion(); if (Float.parseFloat(javaFacetVersion.getVersionString()) < 1.6) javaFacetVersion = ProjectFacetsManager.getProjectFacet("java").getVersion("1.6"); if (workflowProject.isCloudOnly()) javaFacetVersion = ProjectFacetsManager.getProjectFacet("java").getVersion("1.7"); facetedProject.installProjectFacet(javaFacetVersion, null, new SubProgressMonitor(monitor, 3)); IProjectFacetVersion mdwFacet = ProjectFacetsManager.getProjectFacet("mdw.workflow") .getDefaultVersion(); facetedProject.installProjectFacet(mdwFacet, getProject(), new SubProgressMonitor(monitor, 3)); if (workflowProject.isOsgi()) { IProjectFacet utilFacet = ProjectFacetsManager.getProjectFacet("jst.utility"); IProjectFacetVersion facetVer = utilFacet.getDefaultVersion(); IActionDefinition def = facetVer.getActionDefinition(null, IFacetedProject.Action.Type.INSTALL); Object cfg = def.createConfigObject(); facetedProject.installProjectFacet( ProjectFacetsManager.getProjectFacet("jst.utility").getDefaultVersion(), cfg, new SubProgressMonitor(monitor, 3)); } else if (workflowProject.isWar()) { // add the facet to the xml file IFile facetsFile = workflowProject.getSourceProject() .getFile(".settings/org.eclipse.wst.common.project.facet.core.xml"); if (facetsFile.exists()) { String content = new String(PluginUtil.readFile(facetsFile)); int insert = content.indexOf("</faceted-project>"); content = content.substring(0, insert) + " <installed facet=\"jst.web\" version=\"3.0\"/>\n" + content.substring(insert); PluginUtil.writeFile(facetsFile, content, new SubProgressMonitor(monitor, 3)); } } final ProjectConfigurator configurator = new ProjectConfigurator(getProject(), MdwPlugin.getSettings()); if (!workflowProject.isOsgi() && !workflowProject.isWar()) { MdwPlugin.getDisplay().syncExec(new Runnable() { public void run() { try { configurator.createFrameworkSourceCodeAssociations(MdwPlugin.getShell(), new NullProgressMonitor()); } catch (CoreException ex) { PluginMessages.log(ex); } } }); } if (workflowProject.isOsgi()) { generateOsgiArtifacts(new SubProgressMonitor(monitor, 10)); configurator.configureOsgiProject(shell, new SubProgressMonitor(monitor, 5)); } else if (workflowProject.isWar()) { generateWarCloudArtifacts(new SubProgressMonitor(monitor, 10)); configurator.addMavenNature(new SubProgressMonitor(monitor, 5)); // force // maven // refresh } } catch (Exception ex) { throw new InvocationTargetException(ex); } } }); } catch (Exception ex) { PluginMessages.uiError(ex, "Create Cloud Project", workflowProject); } }
From source file:com.centurylink.mdw.plugin.project.assembly.ProjectUpdater.java
License:Apache License
/** * Download the file into the local folder in the specified project. *//* w ww . j a v a 2s .co m*/ public void updateWithDialog() { Shell shell = MdwPlugin.getShell(); try { ProgressMonitorDialog pmDialog = new MdwProgressMonitorDialog(shell); pmDialog.run(true, true, this); } catch (InvocationTargetException ex) { PluginMessages.uiError(shell, ex, "MDW Update", workflowProject); } catch (InterruptedException ex) { PluginMessages.log(ex); MessageDialog.openError(shell, "MDW Update", "Update cancelled"); } }
From source file:com.centurylink.mdw.plugin.server.WebLogicServerConfigurator.java
License:Apache License
public void doConfigure(Shell shell) { setShell(shell);/* ww w. jav a2 s . c o m*/ try { ProgressMonitorDialog pmDialog = new MdwProgressMonitorDialog(shell); pmDialog.run(true, true, this); } catch (InvocationTargetException ex) { PluginMessages.uiError(shell, ex, "Configure Server", getServerSettings().getProject()); } catch (InterruptedException ex) { PluginMessages.log(ex); MessageDialog.openWarning(shell, "Configure Server", "Configuration cancelled"); } }