List of usage examples for org.eclipse.jface.operation IRunnableWithProgress IRunnableWithProgress
IRunnableWithProgress
From source file:com.collabnet.subversion.merge.wizards.MergeWizardUnblockRevisionsPage.java
License:Open Source License
private void refresh() { IRunnableWithProgress runnable = new IRunnableWithProgress() { public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { try { monitor.setTaskName(Messages.MergeWizardUnblockRevisionsPage_retrievingRemoteResource); monitor.beginTask(Messages.MergeWizardUnblockRevisionsPage_retrievingRemoteResource, 2); monitor.worked(1);/*from w ww .java 2 s.co m*/ remoteResource = repositoryLocation.getRemoteFile(new SVNUrl(fromUrl)); monitor.worked(1); monitor.done(); } catch (Exception e) { Activator.handleError(e); } } }; setPageComplete(false); setErrorMessage(null); fromUrl = standardPage.getFromUrl(); ISVNMergeInfo mergeInfo = standardPage.getMergeInfo(); if (mergeInfo == null) { entries = new ILogEntry[0]; return; } revisionRanges = mergeInfo.getRevisionRange(fromUrl); remoteResource = null; try { getContainer().run(false, false, runnable); if (remoteResource == null) { setErrorMessage(Messages.MergeWizardUnblockRevisionsPage_errorRetrievingRemoteResource); entries = new ILogEntry[0]; } else getLogEntries(); } catch (Exception e) { setErrorMessage(e.getMessage()); entries = new ILogEntry[0]; } if (tableHistoryViewer.getInput() == null) tableHistoryViewer.setInput(fromUrl); else tableHistoryViewer.refresh(); setPageComplete(canFinish()); }
From source file:com.collabnet.subversion.merge.wizards.MergeWizardUnblockRevisionsPage.java
License:Open Source License
private void getLogEntries() { entryArray = new ArrayList(); IRunnableWithProgress runnable = new IRunnableWithProgress() { public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { try { monitor.setTaskName(Messages.MergeWizardUnblockRevisionsPage_retrievingRevisionLogInfo); monitor.beginTask(Messages.MergeWizardUnblockRevisionsPage_retrievingRevisionLogInfo, 3); if (SVNUIPlugin.getPlugin().getPreferenceStore() .getBoolean(ISVNUIConstants.PREF_SHOW_TAGS_IN_REMOTE)) tagManager = new AliasManager(remoteResource.getUrl()); SVNRevision pegRevision = remoteResource.getRevision(); monitor.worked(1);/*from w w w. j ava 2 s.c o m*/ for (int i = 0; i < revisionRanges.length; i++) { rangeEntries = getLogEntries(pegRevision, revisionRanges[i].getFromRevision(), revisionRanges[i].getToRevision(), true, 0, tagManager, true); monitor.worked(1); for (int j = 0; j < rangeEntries.length; j++) { entryArray.add(rangeEntries[j]); } } entries = new ILogEntry[entryArray.size()]; entryArray.toArray(entries); } catch (Exception e) { setErrorMessage(e.getMessage()); entries = new ILogEntry[0]; } monitor.worked(1); monitor.done(); } }; try { getContainer().run(false, false, runnable); } catch (Exception e1) { Activator.handleError(e1); } setErrorMessage(standardPage.getErrorMessage()); }
From source file:com.contrastsecurity.ide.eclipse.ui.internal.preferences.ContrastPreferencesPage.java
License:Open Source License
private void testConnection(Composite composite) { final String url = teamServerText.getText(); URL u;/*from w w w . jav a 2s . c o m*/ try { u = new URL(url); } catch (MalformedURLException e1) { MessageDialog.openError(getShell(), "Exception", "Invalid URL."); testConnectionLabel.setText("Connection failed!"); return; } if (!u.getProtocol().startsWith("http")) { MessageDialog.openError(getShell(), "Exception", "Invalid protocol."); testConnectionLabel.setText("Connection failed!"); return; } IRunnableWithProgress op = new IRunnableWithProgress() { public void run(IProgressMonitor monitor) { Display.getDefault().syncExec(new Runnable() { @Override public void run() { ContrastSDK sdk = new ContrastSDK(usernameText.getText(), serviceKeyText.getText(), apiKeyText.getText(), url); try { Organization organization = Util.getDefaultOrganization(sdk); if (organization == null || organization.getOrgUuid() == null) { testConnectionLabel .setText("Connection is correct, but no default organizations found."); } else { testConnectionLabel.setText("Connection confirmed!"); } } catch (IOException e1) { showErrorMessage(e1, getShell(), "Connection error", "Could not connect to Contrast. Please verify that the URL is correct and try again."); } catch (UnauthorizedException e1) { showErrorMessage(e1, getShell(), "Access denied", "Verify your credentials and make sure you have access to the selected organization."); } catch (Exception e1) { showErrorMessage(e1, getShell(), "Unknown error", "Unknown exception. Please inform an admin about this."); } finally { composite.layout(true, true); composite.redraw(); } } }); } }; IWorkbench wb = PlatformUI.getWorkbench(); IWorkbenchWindow win = wb.getActiveWorkbenchWindow(); Shell shell = win != null ? win.getShell() : null; try { new ProgressMonitorDialog(shell).run(true, true, op); } catch (InvocationTargetException | InterruptedException e1) { ContrastUIActivator.log(e1); } }
From source file:com.contrastsecurity.ide.eclipse.ui.internal.preferences.ContrastPreferencesPage.java
License:Open Source License
private void retrieveOrganizationName(Composite composite) { final String url = teamServerText.getText(); URL u;/*from www. ja v a 2 s. c om*/ try { u = new URL(url); } catch (MalformedURLException e1) { MessageDialog.openError(getShell(), "Exception", "Invalid URL."); testConnectionLabel.setText("Connection failed!"); return; } if (!u.getProtocol().startsWith("http")) { MessageDialog.openError(getShell(), "Exception", "Invalid protocol."); testConnectionLabel.setText("Connection failed!"); return; } IRunnableWithProgress op = new IRunnableWithProgress() { public void run(IProgressMonitor monitor) { Display.getDefault().syncExec(new Runnable() { @Override public void run() { ExtendedContrastSDK sdk = ContrastCoreActivator.getContrastSDK(usernameText.getText(), apiKeyText.getText(), serviceKeyText.getText(), url); try { Organizations organizations = sdk.getProfileOrganizations(); if (organizations.getOrganizations() != null && !organizations.getOrganizations().isEmpty()) { for (Organization organization : organizations.getOrganizations()) { if (organization.getOrgUuid().equals(organizationUuidText.getText())) { // Check if organization is already saved if (ContrastCoreActivator .getOrganizationConfiguration(organization.getName()) == null) { ContrastCoreActivator.saveNewOrganization(organization.getName(), teamServerText.getText(), usernameText.getText(), serviceKeyText.getText(), apiKeyText.getText(), organizationUuidText.getText()); teamServerText.setText(""); usernameText.setText(""); serviceKeyText.setText(""); apiKeyText.setText(""); organizationUuidText.setText(""); String[] organizationsArray = (String[]) tableViewer.getInput(); String[] newOrganizationsArray = Arrays.copyOf(organizationsArray, organizationsArray.length + 1); newOrganizationsArray[newOrganizationsArray.length - 1] = organization .getName(); tableViewer.setInput(newOrganizationsArray); if (newOrganizationsArray.length == 1) { tableViewer.getTable().setSelection(0); } } else { testConnectionLabel.setText("Organization already exists"); } break; } } } } catch (IOException e1) { showErrorMessage(e1, getShell(), "Connection error", "Could not connect to Contrast. Please verify that the URL is correct and try again."); } catch (UnauthorizedException e1) { showErrorMessage(e1, getShell(), "Access denied", "Verify your credentials and make sure you have access to the selected organization."); } catch (Exception e1) { showErrorMessage(e1, getShell(), "Unknown error", "Unknown exception. Please inform an admin about this."); } finally { composite.layout(true, true); composite.redraw(); } } }); } }; IWorkbench wb = PlatformUI.getWorkbench(); IWorkbenchWindow win = wb.getActiveWorkbenchWindow(); Shell shell = win != null ? win.getShell() : null; try { new ProgressMonitorDialog(shell).run(true, true, op); } catch (InvocationTargetException | InterruptedException e1) { ContrastUIActivator.log(e1); } }
From source file:com.conwet.wirecloud.ide.wizards.WizardProjectsImportPage.java
License:Open Source License
/** * Update the list of projects based on path. Method declared public only * for test suite./*from ww w . j a va 2 s .c o m*/ * * @param path */ public void updateProjectsList(final String path) { // on an empty path empty selectedProjects if (path == null || path.length() == 0) { setMessage(ImportProjectDescription); selectedProjects = new ProjectRecord[0]; projectsList.refresh(true); projectsList.setCheckedElements(selectedProjects); setPageComplete(projectsList.getCheckedElements().length > 0); lastPath = path; return; } final File directory = new File(path); long modified = directory.lastModified(); if (path.equals(lastPath) && lastModified == modified && lastCopyFiles == copyFiles) { // since the file/folder was not modified and the path did not // change, no refreshing is required return; } lastPath = path; lastModified = modified; lastCopyFiles = copyFiles; // We can't access the radio button from the inner class so get the // status beforehand final boolean dirSelected = this.projectFromDirectoryRadio.getSelection(); try { getContainer().run(true, true, new IRunnableWithProgress() { /* * (non-Javadoc) * * @see * org.eclipse.jface.operation.IRunnableWithProgress#run(org * .eclipse.core.runtime.IProgressMonitor) */ public void run(IProgressMonitor monitor) { monitor.beginTask(DataTransferMessages.WizardProjectsImportPage_SearchingMessage, 100); selectedProjects = new ProjectRecord[0]; Collection<ProjectRecord> files = new ArrayList<ProjectRecord>(); monitor.worked(10); if (!dirSelected && ArchiveFileManipulations.isTarFile(path)) { TarFile sourceTarFile = getSpecifiedTarSourceFile(path); if (sourceTarFile == null) { return; } structureProvider = new TarLeveledStructureProvider(sourceTarFile); Object child = structureProvider.getRoot(); if (!collectProjectFilesFromProvider(files, child, 0, monitor)) { return; } monitor.worked(50); monitor.subTask(DataTransferMessages.WizardProjectsImportPage_ProcessingMessage); selectedProjects = (ProjectRecord[]) files.toArray(new ProjectRecord[files.size()]); } else if (!dirSelected && ArchiveFileManipulations.isZipFile(path)) { ZipFile sourceFile = getSpecifiedZipSourceFile(path); if (sourceFile == null) { return; } structureProvider = new ZipLeveledStructureProvider(sourceFile); Object child = structureProvider.getRoot(); if (!collectProjectFilesFromProvider(files, child, 0, monitor)) { return; } monitor.worked(50); monitor.subTask(DataTransferMessages.WizardProjectsImportPage_ProcessingMessage); selectedProjects = (ProjectRecord[]) files.toArray(new ProjectRecord[files.size()]); } else if (dirSelected && directory.isDirectory()) { if (!collectProjectFilesFromDirectory(files, directory, null, monitor)) { return; } monitor.worked(50); monitor.subTask(DataTransferMessages.WizardProjectsImportPage_ProcessingMessage); selectedProjects = (ProjectRecord[]) files.toArray(new ProjectRecord[files.size()]); } else { monitor.worked(60); } monitor.done(); } }); } catch (InvocationTargetException e) { IDEWorkbenchPlugin.log(e.getMessage(), e); } catch (InterruptedException e) { // Nothing to do if the user interrupts. } projectsList.refresh(true); ProjectRecord[] projects = getProjectRecords(); boolean displayWarning = false; for (int i = 0; i < projects.length; i++) { if (projects[i].hasConflicts) { displayWarning = true; projectsList.setGrayed(projects[i], true); } else { projectsList.setChecked(projects[i], true); } } if (displayWarning) { setMessage(ImportProjectWarning, WARNING); } else { setMessage(ImportProjectDescription); } setPageComplete(projectsList.getCheckedElements().length > 0); if (selectedProjects.length == 0) { setMessage(DataTransferMessages.WizardProjectsImportPage_noProjectsToImport, WARNING); } }
From source file:com.coretek.testcase.projectView.projectwizard.page.WizardNewFolderMainPage.java
License:Open Source License
/** * Creates a new folder resource in the selected container and with the * selected name. Creates any missing resource containers along the path; * does nothing if the container resources already exist. * <p>//from w ww . ja va 2 s . com * In normal usage, this method is invoked after the user has pressed Finish * on the wizard; the enablement of the Finish button implies that all * controls on this page currently contain valid values. * </p> * <p> * Note that this page caches the new folder once it has been successfully * created; subsequent invocations of this method will answer the same * folder resource without attempting to create it again. * </p> * <p> * This method should be called within a workspace modify operation since it * creates resources. * </p> * * @return the created folder resource, or <code>null</code> if the folder * was not created */ public IFolder createNewFolder() { if (newFolder != null) { return newFolder; } // create the new folder and cache it if successful final IPath containerPath = resourceGroup.getContainerFullPath(); IPath newFolderPath = containerPath.append(resourceGroup.getResource()); final IFolder newFolderHandle = createFolderHandle(newFolderPath); createLinkTarget(); IRunnableWithProgress op = new IRunnableWithProgress() { public void run(IProgressMonitor monitor) { CreateFolderOperation op = new CreateFolderOperation(newFolderHandle, linkTargetPath, IDEWorkbenchMessages.WizardNewFolderCreationPage_title); try { // see bug // https://bugs.eclipse.org/bugs/show_bug.cgi?id=219901 // directly execute the operation so that the undo state is // not preserved. Making this undoable can result in // accidental // folder (and file) deletions. op.execute(monitor, WorkspaceUndoUtil.getUIInfoAdapter(getShell())); } catch (final ExecutionException e) { getContainer().getShell().getDisplay().syncExec(new Runnable() { public void run() { if (e.getCause() instanceof CoreException) { ErrorDialog.openError(getContainer().getShell(), // Was // Utilities.getFocusShell() IDEWorkbenchMessages.WizardNewFolderCreationPage_errorTitle, null, // no // special // message ((CoreException) e.getCause()).getStatus()); } else { IDEWorkbenchPlugin.log(getClass(), "createNewFolder()", e.getCause()); //$NON-NLS-1$ MessageDialog.openError(getContainer().getShell(), IDEWorkbenchMessages.WizardNewFolderCreationPage_internalErrorTitle, NLS.bind(IDEWorkbenchMessages.WizardNewFolder_internalError, e.getCause().getMessage())); } } }); } } }; try { getContainer().run(true, true, op); } catch (InterruptedException e) { return null; } catch (InvocationTargetException e) { // ExecutionExceptions are handled above, but unexpected runtime // exceptions and errors may still occur. IDEWorkbenchPlugin.log(getClass(), "createNewFolder()", e.getTargetException()); //$NON-NLS-1$ MessageDialog.open(MessageDialog.ERROR, getContainer().getShell(), IDEWorkbenchMessages.WizardNewFolderCreationPage_internalErrorTitle, NLS.bind(IDEWorkbenchMessages.WizardNewFolder_internalError, e.getTargetException().getMessage()), SWT.SHEET); return null; } newFolder = newFolderHandle; return newFolder; }
From source file:com.dadabeatnik.codemap.ui.wizards.NewCodeMapWizard.java
License:Open Source License
/** * This method is called when 'Finish' button is pressed in * the wizard. We will create an operation and run it * using wizard as execution context.//from w w w . j a v a 2 s .c o m */ @Override public boolean performFinish() { final String containerName = page.getContainerName(); final String fileName = page.getFileName(); IRunnableWithProgress op = new IRunnableWithProgress() { public void run(IProgressMonitor monitor) throws InvocationTargetException { try { doFinish(containerName, fileName, monitor); } catch (CoreException e) { throw new InvocationTargetException(e); } finally { monitor.done(); } } }; try { getContainer().run(true, false, op); } catch (InterruptedException e) { return false; } catch (InvocationTargetException e) { Throwable realException = e.getTargetException(); MessageDialog.openError(getShell(), "Error", realException.getMessage()); return false; } return true; }
From source file:com.drgarbage.ast.ASTPanel.java
License:Apache License
/** * Creates content for the tree viewer./* w ww . j a v a2 s . c o m*/ * @param compilationUnit the compilation unit object (may be <code>null</code>). * @param classFile the class file object (may be <code>null</code>). * * @throws InvocationTargetException * @throws InterruptedException */ private void createContent(final ICompilationUnit compilationUnit, final IClassFile classFile) throws InvocationTargetException, InterruptedException { clearContent(); ProgressMonitorDialog dialog = new ProgressMonitorDialog(getShell()); dialog.run(true, true, new IRunnableWithProgress() { public void run(final IProgressMonitor monitor) throws InvocationTargetException { parser.setKind(ASTParser.K_COMPILATION_UNIT); if (monitor.isCanceled()) return; if (compilationUnit != null) { parser.setSource(compilationUnit); if (monitor.isCanceled()) return; } else { parser.setSource(classFile); if (monitor.isCanceled()) return; } final CompilationUnit node = (CompilationUnit) parser.createAST(monitor); if (monitor.isCanceled()) return; getDisplay().syncExec(new Runnable() { public void run() { TreeModel t = new TreeModel(); ASTVisitorImpl visitor = new ASTVisitorImpl(t, monitor); node.accept(visitor); treeViewer.setInput(t); } }); } }); }
From source file:com.drgarbage.bytecode.jdi.dialogs.JDIExportFromJvmDialog.java
License:Apache License
/** * Creates dialog specific controls. //from w ww .j a v a 2s .c o m */ protected void createControls() { /* hint text */ hintLabel = new Label(shell, SWT.NONE); hintLabel.setText(BytecodeVisualizerMessages.JDI_Export_Dialog_hint_text); /* Filtered list */ PatternFilter pf = new PatternFilter(); pf.setPattern(""); FilteredCheckboxList ft = new FilteredCheckboxList(shell, SWT.BORDER | SWT.MULTI, pf); ft.setLayoutData(new GridData(GridData.FILL_BOTH)); /* initialize the viewer before filling the list */ viewer = (CheckboxTreeViewer) ft.getViewer(); viewer.setContentProvider(new TreeContentProvider()); viewer.setLabelProvider(new LabelProvider()); /* create message label */ Composite c = new Composite(hintLabel.getParent(), SWT.NONE); GridLayout gridLayout = new GridLayout(); gridLayout.numColumns = 2; c.setLayout(gridLayout); messageIcon = new Label(c, SWT.NONE); messageLabel = new Label(c, SWT.NONE); /* fill the viewer */ fillList(ft); Composite selectComposite = new Composite(shell, SWT.NONE); selectComposite.setLayout(new GridLayout(2, false)); selectComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); selectAll = new Button(selectComposite, SWT.PUSH); selectAll.setText(BytecodeVisualizerMessages.JDI_Export_Dialog_Select_All); selectAll.addListener(SWT.Selection, new Listener() { /* (non-Javadoc) * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event) */ @SuppressWarnings("deprecation") public void handleEvent(Event event) { viewer.setAllChecked(true); } }); deselectAll = new Button(selectComposite, SWT.PUSH); deselectAll.setText(BytecodeVisualizerMessages.JDI_Export_Dialog_Deselect_All); deselectAll.addListener(SWT.Selection, new Listener() { /* (non-Javadoc) * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event) */ @SuppressWarnings("deprecation") public void handleEvent(Event event) { viewer.setAllChecked(false); } }); /* buttons */ Composite dirPromptComposite = new Composite(shell, SWT.BORDER); dirPromptComposite.setLayout(new GridLayout(2, false)); dirPromptComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); final Text pathText = new Text(dirPromptComposite, SWT.SINGLE | SWT.BORDER); GridData gd = new GridData(); gd.widthHint = folderPromptWidth; pathText.setLayoutData(gd); pathText.setEditable(false); pathText.setText(BytecodeVisualizerMessages.JDI_Export_Dialog_Define_Class_Folder); chooseDirBtn = new Button(dirPromptComposite, SWT.PUSH); chooseDirBtn.setText(BytecodeVisualizerMessages.JDI_Export_Dialog_browse_btn_label); chooseDirBtn.setToolTipText(BytecodeVisualizerMessages.JDI_Export_Dialog_tooltip_browse_folder); chooseDirBtn.addListener(SWT.Selection, new Listener() { /* (non-Javadoc) * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event) */ public void handleEvent(Event event) { Object o = DebugUITools.getDebugContext(); if (o instanceof JDIDebugElement) { JDIDebugElement jdiDebugElement = (JDIDebugElement) o; ILaunchConfiguration config = jdiDebugElement.getLaunch().getLaunchConfiguration(); IJavaProject javaProject = null; try { javaProject = JavaRuntime.getJavaProject(config); } catch (CoreException e) { BytecodeVisualizerPlugin.getDefault().getLog() .log(BytecodeVisualizerPlugin.createErrorStatus(e.getMessage(), e)); } ProjectBuildPathDialog selectFolderDlg = new ProjectBuildPathDialog(shell, javaProject); selectFolderDlg.open(); IFolder f = selectFolderDlg.getSelectedFolder(); if (f != null) { exportFolder = f; pathText.setText(exportFolder.getFullPath().toOSString()); } } } }); Composite footerBtnComposite = new Composite(shell, SWT.RIGHT_TO_LEFT); footerBtnComposite.setLayout(new GridLayout(2, false)); copyToPathBtn = new Button(footerBtnComposite, SWT.NONE); copyToPathBtn.setText(BytecodeVisualizerMessages.JDI_Export_Dialog_copy_to_btn_text); copyToPathBtn.setEnabled(false); copyToPathBtn.addSelectionListener(new SelectionListener() { /* (non-Javadoc) * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent) */ public void widgetSelected(SelectionEvent e) { final Object[] selection = viewer.getCheckedElements(); ProgressMonitorDialog dialog = new ProgressMonitorDialog(shell); try { dialog.run(false, true, new IRunnableWithProgress() { public void run(final IProgressMonitor monitor) throws InvocationTargetException { monitor.beginTask(BytecodeVisualizerMessages.JDI_Export_Dialog_Export_Selected_Classes, selection.length + 1); for (Object o : selection) { String className = o.toString(); String[] nameArray = className.split(Pattern.quote(".")); IPath path = exportFolder.getFullPath(); try { for (int i = 0; i < nameArray.length - 1; i++) { path = path.append(nameArray[i]); createFolder(path, null); } path = path.append(nameArray[nameArray.length - 1]).addFileExtension("class"); monitor.subTask(className); byte[] content = getClassFileContent(className); createFile(path, content, null); monitor.worked(1); } catch (CoreException e1) { BytecodeVisualizerPlugin.getDefault().getLog() .log(BytecodeVisualizerPlugin.createErrorStatus(e1.getMessage(), e1)); } } monitor.subTask("Saving Sourcelookup ..."); JDIDebugElement jdiDebugElement = null; Object o1 = DebugUITools.getDebugContext(); if (o1 instanceof JDIDebugElement) { jdiDebugElement = (JDIDebugElement) o1; /* add to source lookup */ ISourceLocator sourceLocator = jdiDebugElement.getLaunch().getSourceLocator(); if (sourceLocator instanceof ISourceLookupDirector) { boolean folderExists = false; /* get source lookup entries */ ISourceLookupDirector sourceLookupDirector = (ISourceLookupDirector) sourceLocator; ISourceContainer[] sourceContainers = sourceLookupDirector .getSourceContainers(); List<ISourceContainer> listContainers = new ArrayList<ISourceContainer>( sourceContainers.length); for (ISourceContainer isc : sourceContainers) { /* check if source exists already in the source lookup */ if (isc instanceof FolderSourceContainer) { FolderSourceContainer fsc = (FolderSourceContainer) isc; IContainer ic = fsc.getContainer(); if (ic instanceof IFolder) { IFolder iFolder = (IFolder) ic; if (iFolder.equals(exportFolder)) { folderExists = true; break; } } } listContainers.add(isc); } if (!folderExists) { /* add the new source to the source lookup */ ISourceContainer exportFolderContainer = new FolderSourceContainer( exportFolder, false); listContainers.add(exportFolderContainer); sourceLookupDirector.setSourceContainers(listContainers .toArray(new ISourceContainer[listContainers.size()])); /* save the source lookup configuration */ try { ILaunchConfigurationWorkingCopy workingCopy = sourceLookupDirector .getLaunchConfiguration().getWorkingCopy(); workingCopy.setAttribute( ILaunchConfiguration.ATTR_SOURCE_LOCATOR_MEMENTO, sourceLookupDirector.getMemento()); workingCopy.setAttribute(ILaunchConfiguration.ATTR_SOURCE_LOCATOR_ID, sourceLookupDirector.getId()); workingCopy.doSave(); } catch (CoreException e1) { BytecodeVisualizerPlugin.getDefault().getLog() .log(BytecodeVisualizerPlugin.createErrorStatus(e1.getMessage(), e1)); } } } /* display source */ IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow() .getActivePage(); SourceLookupManager.getDefault().displaySource(jdiDebugElement, page, true); monitor.worked(1); } monitor.done(); } }); } catch (InvocationTargetException e1) { BytecodeVisualizerPlugin.log(e1); } catch (InterruptedException e2) { BytecodeVisualizerPlugin.log(e2); } shell.close(); } /* (non-Javadoc) * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent) */ public void widgetDefaultSelected(SelectionEvent e) { } }); closeBtn = new Button(footerBtnComposite, SWT.NONE); closeBtn.setText(BytecodeVisualizerMessages.JDI_Export_Dialog_close_text); closeBtn.addSelectionListener(new SelectionListener() { /* (non-Javadoc) * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent) */ public void widgetSelected(SelectionEvent e) { shell.close(); } /* (non-Javadoc) * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent) */ public void widgetDefaultSelected(SelectionEvent e) { } }); /* enable copy button if the export has been set */ pathText.addModifyListener(new ModifyListener() { /* (non-Javadoc) * @see org.eclipse.swt.events.ModifyListener#modifyText(org.eclipse.swt.events.ModifyEvent) */ public void modifyText(ModifyEvent e) { /* Default text: <Define a folder to class export> */ if (!pathText.getText().startsWith("<")) { copyToPathBtn.setEnabled(true); } } }); }
From source file:com.ebmwebsourcing.petals.common.extensions.internal.wizards.JavaToWSDLWizard.java
License:Open Source License
@Override public boolean performFinish() { // Get the fields here (invalid thread access otherwise) final String wsdlName = this.wsdlPage.getFileName(); final IResource folder = ResourcesPlugin.getWorkspace().getRoot() .findMember(this.wsdlPage.getContainerFullPath()); final String className = this.mainPage.getClassName(); final IJavaProject jp = this.mainPage.getJavaProject(); IRunnableWithProgress op = new IRunnableWithProgress() { public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { try { monitor.beginTask("WSDL generation in progress...", 6); monitor.worked(2);/*from w ww .j a va 2s . c om*/ WsdlExtUtils.generateWsdlFile(wsdlName, className, folder.getLocation().toOSString(), jp); monitor.worked(3); } catch (Exception e) { throw new InvocationTargetException(e); } finally { monitor.done(); } } }; try { getContainer().run(true, false, op); IResource wsdlFile = ((IContainer) folder).getFile(new Path(this.wsdlPage.getFileName())); wsdlFile.getProject().refreshLocal(IResource.DEPTH_INFINITE, null); ResourceUtils.selectResourceInJavaView(true, wsdlFile); } catch (Exception e) { PetalsCommonWsdlExtPlugin.log(e, IStatus.ERROR); } return true; }