Java 类org.eclipse.ui.actions.WorkspaceModifyOperation 实例源码
项目:solidity-ide
文件:KickStartNewProjectAction.java
@Override
public void run(IIntroSite site, Properties params) {
WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
@Override
protected void execute(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
IProject project = createProject(monitor);
createExample(project);
}
};
try {
PlatformUI.getWorkbench().getProgressService().run(true, true, op);
final IIntroManager introManager = PlatformUI.getWorkbench().getIntroManager();
IIntroPart part = introManager.getIntro();
introManager.closeIntro(part);
IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
IDE.openEditor(page, ResourcesPlugin.getWorkspace().getRoot().getFile(new Path("hello-world/greeter.sol")));
} catch (Exception e) {
e.printStackTrace();
}
}
项目:DarwinSPL
文件:DwFeatureModelWizard.java
protected void saveModel(final IFile file) throws InvocationTargetException, InterruptedException {
WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
@Override
protected void execute(IProgressMonitor progressMonitor) {
try {
EObject model = createInitialModel();
EcoreIOUtil.saveModelAs(model, file);
} finally {
progressMonitor.done();
}
}
};
IWizardContainer container = getContainer();
container.run(false, false, operation);
}
项目:statecharts
文件:SGenNewFileWizard.java
@Override
public boolean performFinish() {
IRunnableWithProgress op = new WorkspaceModifyOperation(null) {
@Override
protected void execute(IProgressMonitor monitor) throws CoreException, InterruptedException {
ensureSCTNature(getProject(modelFilePage.getContainerFullPath()));
Resource resource = createDefaultModel(modelFilePage.getURI());
openModel(resource);
}
};
try {
getContainer().run(false, true, op);
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
项目:languagetool-eclipse-plugin
文件:Engine.java
/**
* Tdestings
*
* @param collector
* @param matches
*/
private void processMatches(ISpellingProblemCollector collector, List<RuleMatch> matches) {
WorkspaceModifyOperation workspaceRunnable = new WorkspaceModifyOperation() {
@Override
protected void execute(IProgressMonitor monitor)
throws CoreException, InvocationTargetException, InterruptedException {
// TODO
deleteMarkers();
matches.forEach(match -> {
collector.accept(new LTSpellingProblem(match));
addMarker(match);
});
}
};
try {
workspaceRunnable.run(null);
} catch (InvocationTargetException | InterruptedException e) {
e.printStackTrace();
}
}
项目:eclipsensis
文件:NSISEditor.java
@Override
protected void editorSaved()
{
super.editorSaved();
updateOutlinePage();
updateActionsState();
WorkspaceModifyOperation op = new WorkspaceModifyOperation()
{
@Override
protected void execute(IProgressMonitor monitor)
{
NSISTaskTagUpdater taskTagUpdater = new NSISTaskTagUpdater();
updateTaskTagMarkers(taskTagUpdater);
}
};
try {
op.run(null);
}
catch (Exception e) {
EclipseNSISPlugin.getDefault().log(e);
}
}
项目:birt
文件:IDEOpenSampleReportAction.java
private void refreshReportProject( final IProject project )
{
WorkspaceModifyOperation op = new WorkspaceModifyOperation( ) {
protected void execute( IProgressMonitor monitor )
throws CoreException
{
project.refreshLocal( IResource.DEPTH_INFINITE, monitor );
}
};
try
{
new ProgressMonitorDialog( composite.getShell( ) ).run( false,
true,
op );
}
catch ( Exception e )
{
ExceptionUtil.handle( e );
}
}
项目:gw4e.project
文件:TemplateProvider.java
protected IRunnableWithProgress createResourceOperation(IFolder folder,InitialBuildPolicies policies) {
WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
@Override
protected void execute(IProgressMonitor monitor) {
String resource = "";
String targetFile = "";
try {
for (int i = 0; i < resources.length; i++) {
resource = resources[i];
targetFile = targetFiles[i];
IFile file = create(folder, resource, targetFile, monitor);
if (file != null) {
createdResources.add(file);
policies.setFile(file);
policies.run();
BasicNewResourceWizard.selectAndReveal(file,
PlatformUI.getWorkbench().getActiveWorkbenchWindow());
}
}
} catch (Exception exception) {
ResourceManager.logException(exception, "Unable to create " + resource);
} finally {
monitor.done();
}
}
};
return operation;
}
项目:gw4e.project
文件:NoneTemplate.java
protected IRunnableWithProgress createResourceOperation(IFolder folder) {
WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
@Override
protected void execute(IProgressMonitor monitor)
throws CoreException, InvocationTargetException, InterruptedException {
}
};
return operation;
}
项目:subclipse
文件:SetSvnPropertyAction.java
protected void execute(final IAction action) throws InvocationTargetException, InterruptedException {
if (action != null && !action.isEnabled()) {
action.setEnabled(true);
}
else {
if(getSelectedResources().length > 0) {
run(new WorkspaceModifyOperation() {
public void execute(IProgressMonitor monitor) throws InterruptedException, InvocationTargetException {
IResource resource = getSelectedResources()[0];
ISVNLocalResource svnResource = SVNWorkspaceRoot.getSVNResourceFor(resource);
SvnWizardSetPropertyPage setPropertyPage = new SvnWizardSetPropertyPage(svnResource);
SvnWizard wizard = new SvnWizard(setPropertyPage);
SvnWizardDialog dialog = new SvnWizardDialog(getShell(), wizard);
wizard.setParentDialog(dialog);
if (dialog.open() != SvnWizardDialog.OK) return;
try {
if (setPropertyPage.getPropertyValue() != null) {
svnResource.setSvnProperty(setPropertyPage.getPropertyName(), setPropertyPage.getPropertyValue(),setPropertyPage.getRecurse());
} else {
svnResource.setSvnProperty(setPropertyPage.getPropertyName(), setPropertyPage.getPropertyFile(),setPropertyPage.getRecurse());
}
SvnPropertiesView.refreshView();
} catch (SVNException e) {
throw new InvocationTargetException(e);
}
}
}, false /* cancelable */, PROGRESS_BUSYCURSOR);
}
}
}
项目:subclipse
文件:UnlockAction.java
protected void execute(IAction action) throws InvocationTargetException, InterruptedException {
if (action != null && !action.isEnabled()) {
action.setEnabled(true);
}
else {
if (getSelectedResources() != null && getSelectedResources().length > 0) {
final IResource[] resources = getSelectedResources();
run(new WorkspaceModifyOperation() {
protected void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException, InterruptedException {
try {
Hashtable table = getProviderMapping(getSelectedResources());
Set keySet = table.keySet();
Iterator iterator = keySet.iterator();
while (iterator.hasNext()) {
SVNTeamProvider provider = (SVNTeamProvider)iterator.next();
UnlockResourcesCommand command = new UnlockResourcesCommand(provider.getSVNWorkspaceRoot(), resources, false);
command.run(Policy.subMonitorFor(monitor,1000));
}
} catch (TeamException e) {
throw new InvocationTargetException(e);
} finally {
monitor.done();
}
}
}, true /* cancelable */, PROGRESS_DIALOG);
}
}
}
项目:subclipse
文件:LockAction.java
protected void execute(IAction action) throws InvocationTargetException, InterruptedException {
if (action != null && !action.isEnabled()) {
action.setEnabled(true);
}
else {
if (getSelectedResources() != null && getSelectedResources().length > 0) {
final IResource[] resources = getSelectedResources();
SvnWizardLockPage lockPage = new SvnWizardLockPage(resources);
SvnWizard wizard = new SvnWizard(lockPage);
SvnWizardDialog dialog = new SvnWizardDialog(getShell(), wizard);
wizard.setParentDialog(dialog);
if (dialog.open() == SvnWizardDialog.OK) {
final String comment = lockPage.getComment();
final boolean stealLock = lockPage.isStealLock();
run(new WorkspaceModifyOperation() {
protected void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException, InterruptedException {
try {
Hashtable table = getProviderMapping(getSelectedResources());
Set keySet = table.keySet();
Iterator iterator = keySet.iterator();
while (iterator.hasNext()) {
SVNTeamProvider provider = (SVNTeamProvider)iterator.next();
LockResourcesCommand command = new LockResourcesCommand(provider.getSVNWorkspaceRoot(), resources, stealLock, comment);
command.run(Policy.subMonitorFor(monitor,1000));
}
} catch (TeamException e) {
throw new InvocationTargetException(e);
} finally {
monitor.done();
}
}
}, true /* cancelable */, PROGRESS_DIALOG);
}
}
}
}
项目:subclipse
文件:AddAction.java
public void execute(IAction action) throws InterruptedException, InvocationTargetException {
// first we ask the user if he really want to add the selected resources if some of them are marked as ignored
if (!promptForAddOfIgnored()) {
return;
}
run(new WorkspaceModifyOperation() {
public void execute(IProgressMonitor monitor) throws InvocationTargetException {
try {
// associate the resources with their respective RepositoryProvider
Hashtable table = getProviderMapping(getSelectedResources());
Set keySet = table.keySet();
monitor.beginTask("", keySet.size() * 1000); //$NON-NLS-1$
monitor.setTaskName(Policy.bind("AddAction.adding")); //$NON-NLS-1$
Iterator iterator = keySet.iterator();
while (iterator.hasNext()) {
IProgressMonitor subMonitor = Policy.subMonitorFor(monitor, 1000);
SVNTeamProvider provider = (SVNTeamProvider)iterator.next();
List list = (List)table.get(provider);
IResource[] providerResources = (IResource[])list.toArray(new IResource[list.size()]);
provider.add(providerResources, IResource.DEPTH_INFINITE, subMonitor);
}
} catch (TeamException e) {
throw new InvocationTargetException(e);
} finally {
monitor.done();
}
}
}, true /* cancelable */, PROGRESS_DIALOG);
}
项目:subclipse
文件:MarkMergedSynchronizeOperation.java
protected void run(SVNTeamProvider provider, SyncInfoSet set, final IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
final IResource[] resources = set.getResources();
run(new WorkspaceModifyOperation() {
protected void execute(IProgressMonitor mon) throws CoreException, InvocationTargetException, InterruptedException {
for (int i = 0; i < resources.length; i++) {
File tempFile = null;
try {
tempFile = copyToTempFile(resources[i]);
} catch (Exception e) {
SVNUIPlugin.log(e.getMessage());
showErrorMessage(e);
return;
}
if (monitor.isCanceled()) {
if (tempFile != null) tempFile.delete();
return;
}
ISVNLocalResource svnResource = SVNWorkspaceRoot.getSVNResourceFor(resources[i]);
if (svnResource instanceof LocalResource) ((LocalResource)svnResource).revert(false);
else svnResource.revert();
new UpdateOperation(getPart(), resources[i], SVNRevision.HEAD).run(monitor);
if (monitor.isCanceled()) {
if (tempFile != null) tempFile.delete();
return;
}
File file = new File(resources[i].getLocation().toString());
try {
copy(tempFile, file);
} catch (Exception e1) {
SVNUIPlugin.log(e1.getMessage());
showErrorMessage(e1);
}
if (tempFile != null) tempFile.delete();
}
}
}, true /* cancelable */, PROGRESS_BUSYCURSOR);
}
项目:andmore2
文件:NewAppWizard.java
@Override
public boolean performFinish() {
AppProjectGenerator generator = new AppProjectGenerator(getTemplateManifestPath());
generator.setProjectName(mainPage.getProjectName());
if (!mainPage.useDefaults()) {
generator.setLocationURI(mainPage.getLocationURI());
}
generator.setPackageName("com.example.emptyapp");
generator.setActivityName("MainActivity");
generator.setLayoutName("activity_main");
Map<String, Object> model = new HashMap<>();
try {
getContainer().run(true, true, new WorkspaceModifyOperation() {
@Override
protected void execute(IProgressMonitor monitor)
throws CoreException, InvocationTargetException, InterruptedException {
monitor.beginTask("Generating project", 1); //$NON-NLS-1$
generator.generate(model, monitor);
monitor.done();
}
@Override
public ISchedulingRule getRule() {
return ResourcesPlugin.getWorkspace().getRoot();
}
});
} catch (InterruptedException | InvocationTargetException e) {
throw new RuntimeException(e);
}
return true;
}
项目:gama
文件:RefreshAction.java
@Override
final protected IRunnableWithProgress createOperation(final IStatus[] errorStatus) {
final ISchedulingRule rule = null;
// final IResourceRuleFactory factory = ResourcesPlugin.getWorkspace().getRuleFactory();
// List<? extends IResource> actionResources = new ArrayList<>(resources);
// if (shouldPerformResourcePruning()) {
// actionResources = pruneResources2(actionResources);
// }
// final List<? extends IResource> resources = actionResources;
// final Iterator<? extends IResource> res = resources.iterator();
// while (res.hasNext()) {
// rule = MultiRule.combine(rule, factory.refreshRule(res.next()));
// }
return new WorkspaceModifyOperation() {
@Override
public void execute(final IProgressMonitor monitor) {
final Iterator<? extends IResource> resourcesEnum = resources.iterator();
try {
while (resourcesEnum.hasNext()) {
try {
final IResource resource = resourcesEnum.next();
refreshResource(resource, null);
} catch (final CoreException e) {}
if (monitor.isCanceled()) { throw new OperationCanceledException(); }
}
} finally {
monitor.done();
}
}
};
}
项目:vTM-eclipse
文件:SWTUtil.java
/**
* Wrap the job round a IRunnableWithProgress class.
* @param op The operation to run in this job
*/
private BackgroundJob( IRunnableWithProgress op )
{
super( op.toString() );
this.op = op;
this.setSystem( true );
if( op instanceof WorkspaceModifyOperation ) {
this.setRule( ((WorkspaceModifyOperation) op).getRule() );
}
}
项目:APICloud-Studio
文件:SetSvnPropertyAction.java
protected void execute(final IAction action) throws InvocationTargetException, InterruptedException {
if (action != null && !action.isEnabled()) {
action.setEnabled(true);
}
else {
if(getSelectedResources().length > 0) {
run(new WorkspaceModifyOperation() {
public void execute(IProgressMonitor monitor) throws InterruptedException, InvocationTargetException {
IResource resource = getSelectedResources()[0];
ISVNLocalResource svnResource = SVNWorkspaceRoot.getSVNResourceFor(resource);
SvnWizardSetPropertyPage setPropertyPage = new SvnWizardSetPropertyPage(svnResource);
SvnWizard wizard = new SvnWizard(setPropertyPage);
SvnWizardDialog dialog = new SvnWizardDialog(getShell(), wizard);
wizard.setParentDialog(dialog);
if (dialog.open() != SvnWizardDialog.OK) return;
try {
if (setPropertyPage.getPropertyValue() != null) {
svnResource.setSvnProperty(setPropertyPage.getPropertyName(), setPropertyPage.getPropertyValue(),setPropertyPage.getRecurse());
} else {
svnResource.setSvnProperty(setPropertyPage.getPropertyName(), setPropertyPage.getPropertyFile(),setPropertyPage.getRecurse());
}
SvnPropertiesView.refreshView();
} catch (SVNException e) {
throw new InvocationTargetException(e);
}
}
}, false /* cancelable */, PROGRESS_BUSYCURSOR);
}
}
}
项目:APICloud-Studio
文件:UnlockAction.java
protected void execute(IAction action) throws InvocationTargetException, InterruptedException {
if (action != null && !action.isEnabled()) {
action.setEnabled(true);
}
else {
if (getSelectedResources() != null && getSelectedResources().length > 0) {
final IResource[] resources = getSelectedResources();
run(new WorkspaceModifyOperation() {
protected void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException, InterruptedException {
try {
Hashtable table = getProviderMapping(getSelectedResources());
Set keySet = table.keySet();
Iterator iterator = keySet.iterator();
while (iterator.hasNext()) {
SVNTeamProvider provider = (SVNTeamProvider)iterator.next();
UnlockResourcesCommand command = new UnlockResourcesCommand(provider.getSVNWorkspaceRoot(), resources, false);
command.run(Policy.subMonitorFor(monitor,1000));
}
} catch (TeamException e) {
throw new InvocationTargetException(e);
} finally {
monitor.done();
}
}
}, true /* cancelable */, PROGRESS_DIALOG);
}
}
}
项目:APICloud-Studio
文件:LockAction.java
protected void execute(IAction action) throws InvocationTargetException, InterruptedException {
if (action != null && !action.isEnabled()) {
action.setEnabled(true);
}
else {
if (getSelectedResources() != null && getSelectedResources().length > 0) {
final IResource[] resources = getSelectedResources();
SvnWizardLockPage lockPage = new SvnWizardLockPage(resources);
SvnWizard wizard = new SvnWizard(lockPage);
SvnWizardDialog dialog = new SvnWizardDialog(getShell(), wizard);
wizard.setParentDialog(dialog);
if (dialog.open() == SvnWizardDialog.OK) {
final String comment = lockPage.getComment();
final boolean stealLock = lockPage.isStealLock();
run(new WorkspaceModifyOperation() {
protected void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException, InterruptedException {
try {
Hashtable table = getProviderMapping(getSelectedResources());
Set keySet = table.keySet();
Iterator iterator = keySet.iterator();
while (iterator.hasNext()) {
SVNTeamProvider provider = (SVNTeamProvider)iterator.next();
LockResourcesCommand command = new LockResourcesCommand(provider.getSVNWorkspaceRoot(), resources, stealLock, comment);
command.run(Policy.subMonitorFor(monitor,1000));
}
} catch (TeamException e) {
throw new InvocationTargetException(e);
} finally {
monitor.done();
}
}
}, true /* cancelable */, PROGRESS_DIALOG);
}
}
}
}
项目:APICloud-Studio
文件:AddAction.java
public void execute(IAction action) throws InterruptedException, InvocationTargetException {
// first we ask the user if he really want to add the selected resources if some of them are marked as ignored
if (!promptForAddOfIgnored()) {
return;
}
run(new WorkspaceModifyOperation() {
public void execute(IProgressMonitor monitor) throws InvocationTargetException {
try {
// associate the resources with their respective RepositoryProvider
Hashtable table = getProviderMapping(getSelectedResources());
Set keySet = table.keySet();
monitor.beginTask("", keySet.size() * 1000); //$NON-NLS-1$
monitor.setTaskName(Policy.bind("AddAction.adding")); //$NON-NLS-1$
Iterator iterator = keySet.iterator();
while (iterator.hasNext()) {
IProgressMonitor subMonitor = Policy.subMonitorFor(monitor, 1000);
SVNTeamProvider provider = (SVNTeamProvider)iterator.next();
List list = (List)table.get(provider);
IResource[] providerResources = (IResource[])list.toArray(new IResource[list.size()]);
provider.add(providerResources, IResource.DEPTH_INFINITE, subMonitor);
}
} catch (TeamException e) {
throw new InvocationTargetException(e);
} finally {
monitor.done();
}
}
}, true /* cancelable */, PROGRESS_DIALOG);
}
项目:APICloud-Studio
文件:MarkMergedSynchronizeOperation.java
protected void run(SVNTeamProvider provider, SyncInfoSet set, final IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
final IResource[] resources = set.getResources();
run(new WorkspaceModifyOperation() {
protected void execute(IProgressMonitor mon) throws CoreException, InvocationTargetException, InterruptedException {
for (int i = 0; i < resources.length; i++) {
File tempFile = null;
try {
tempFile = copyToTempFile(resources[i]);
} catch (Exception e) {
SVNUIPlugin.log(e.getMessage());
showErrorMessage(e);
return;
}
if (monitor.isCanceled()) {
if (tempFile != null) tempFile.delete();
return;
}
ISVNLocalResource svnResource = SVNWorkspaceRoot.getSVNResourceFor(resources[i]);
if (svnResource instanceof LocalResource) ((LocalResource)svnResource).revert(false);
else svnResource.revert();
new UpdateOperation(getPart(), resources[i], SVNRevision.HEAD).run(monitor);
if (monitor.isCanceled()) {
if (tempFile != null) tempFile.delete();
return;
}
File file = new File(resources[i].getLocation().toString());
try {
copy(tempFile, file);
} catch (Exception e1) {
SVNUIPlugin.log(e1.getMessage());
showErrorMessage(e1);
}
if (tempFile != null) tempFile.delete();
}
}
}, true /* cancelable */, PROGRESS_BUSYCURSOR);
}
项目:OpenSPIFe
文件:SaveAsWizard.java
protected boolean performSaveAs() {
final String newPlanName = getNewPlanName();
if (ResourcesPlugin.getWorkspace().getRoot().getProject(newPlanName).exists()) {
String message = "Project '" + newPlanName + "' already exists.";
Status status = new Status(IStatus.ERROR, EditorPlugin.ID, message);
ErrorDialog.openError(getShell(), "Invalid input", null, status);
return false;
}
WorkspaceModifyOperation operation = createSaveAsOperation(newPlanName);
return executeSaveAsOperation(operation, false, true);
}
项目:Eclipse-Postfix-Code-Completion
文件:FileTransferDragAdapter.java
void handleDropMove() {
final List<IResource> elements= getResources();
if (elements == null || elements.size() == 0)
return;
WorkspaceModifyOperation op= new WorkspaceModifyOperation() {
@Override
public void execute(IProgressMonitor monitor) throws CoreException {
try {
monitor.beginTask(PackagesMessages.DragAdapter_deleting, elements.size());
MultiStatus status= createMultiStatus();
Iterator<IResource> iter= elements.iterator();
while(iter.hasNext()) {
IResource resource= iter.next();
try {
monitor.subTask(BasicElementLabels.getPathLabel(resource.getFullPath(), true));
resource.delete(true, null);
} catch (CoreException e) {
status.add(e.getStatus());
} finally {
monitor.worked(1);
}
}
if (!status.isOK()) {
throw new CoreException(status);
}
} finally {
monitor.done();
}
}
};
runOperation(op, true, false);
}
项目:Eclipse-Postfix-Code-Completion
文件:FileTransferDragAdapter.java
private void handleRefresh() {
final Set<IResource> roots= collectRoots(getResources());
WorkspaceModifyOperation op= new WorkspaceModifyOperation() {
@Override
public void execute(IProgressMonitor monitor) throws CoreException {
try {
monitor.beginTask(PackagesMessages.DragAdapter_refreshing, roots.size());
MultiStatus status= createMultiStatus();
Iterator<IResource> iter= roots.iterator();
while (iter.hasNext()) {
IResource r= iter.next();
try {
r.refreshLocal(IResource.DEPTH_ONE, new SubProgressMonitor(monitor, 1));
} catch (CoreException e) {
status.add(e.getStatus());
}
}
if (!status.isOK()) {
throw new CoreException(status);
}
} finally {
monitor.done();
}
}
};
runOperation(op, true, false);
}
项目:Eclipse-Postfix-Code-Completion-Juno38
文件:FileTransferDragAdapter.java
void handleDropMove() {
final List<IResource> elements= getResources();
if (elements == null || elements.size() == 0)
return;
WorkspaceModifyOperation op= new WorkspaceModifyOperation() {
@Override
public void execute(IProgressMonitor monitor) throws CoreException {
try {
monitor.beginTask(PackagesMessages.DragAdapter_deleting, elements.size());
MultiStatus status= createMultiStatus();
Iterator<IResource> iter= elements.iterator();
while(iter.hasNext()) {
IResource resource= iter.next();
try {
monitor.subTask(BasicElementLabels.getPathLabel(resource.getFullPath(), true));
resource.delete(true, null);
} catch (CoreException e) {
status.add(e.getStatus());
} finally {
monitor.worked(1);
}
}
if (!status.isOK()) {
throw new CoreException(status);
}
} finally {
monitor.done();
}
}
};
runOperation(op, true, false);
}
项目:Eclipse-Postfix-Code-Completion-Juno38
文件:FileTransferDragAdapter.java
private void handleRefresh() {
final Set<IResource> roots= collectRoots(getResources());
WorkspaceModifyOperation op= new WorkspaceModifyOperation() {
@Override
public void execute(IProgressMonitor monitor) throws CoreException {
try {
monitor.beginTask(PackagesMessages.DragAdapter_refreshing, roots.size());
MultiStatus status= createMultiStatus();
Iterator<IResource> iter= roots.iterator();
while (iter.hasNext()) {
IResource r= iter.next();
try {
r.refreshLocal(IResource.DEPTH_ONE, new SubProgressMonitor(monitor, 1));
} catch (CoreException e) {
status.add(e.getStatus());
}
}
if (!status.isOK()) {
throw new CoreException(status);
}
} finally {
monitor.done();
}
}
};
runOperation(op, true, false);
}
项目:gw4e.project
文件:GW4ECreationWizard.java
public boolean performFinish() {
WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
protected void execute(IProgressMonitor monitor)
throws CoreException, InvocationTargetException, InterruptedException {
javaPage.performFinish(monitor);
}
};
try {
getContainer().run(false, true, op);
IJavaProject newElement = javaPage.getJavaProject();
GW4ENature.setGW4ENature(newElement.getProject());
IWorkingSet[] workingSets = mainPage.getWorkingSets();
if (workingSets.length > 0) {
PlatformUI.getWorkbench().getWorkingSetManager().addToWorkingSets(newElement, workingSets);
}
BasicNewProjectResourceWizard.updatePerspective(fConfigElement);
BasicNewResourceWizard.selectAndReveal(newElement.getResource(),
PlatformUI.getWorkbench().getActiveWorkbenchWindow());
fMavenPage.create();
if (provider==null) {
provider = new NoneTemplate();
}
IPath p = newElement.getProject().getFullPath().append(targetFolder.getName()).append(fMavenPage.getPackagePath());
ResourceManager.ensureFolderPath(p);
IFolder f = (IFolder) ResourceManager.getResource(p.toString());
IRunnableWithProgress operation = provider.createResourceOperation(newElement.getProject(),f,policies,filename);
getContainer().run(false, false, operation);
return provider.openInEditor(workbench);
} catch (Exception e) {
ResourceManager.logException(e);
return false;
}
}
项目:LibertyEiffel-Eclipse-Plugin
文件:RefreshActionProvider.java
protected void makeActions() {
IShellProvider shellProvider = new IShellProvider() {
@Override
public Shell getShell() {
return shell;
}
};
refreshAction = new RefreshAction(shellProvider) {
@Override
public void run() {
final IStatus[] errorStatus = new IStatus[1];
errorStatus[0] = Status.OK_STATUS;
final WorkspaceModifyOperation op = (WorkspaceModifyOperation) createOperation(errorStatus);
WorkspaceJob job = new WorkspaceJob("refesh") {
@Override
public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException {
try {
op.run(monitor);
if (shell != null && !shell.isDisposed()) {
shell.getDisplay().asyncExec(new Runnable() {
@Override
public void run() {
StructuredViewer viewer = getActionSite().getStructuredViewer();
if (viewer != null && viewer.getControl() != null && !viewer.getControl()
.isDisposed()) {
viewer.refresh();
}
}
});
}
} catch (InvocationTargetException e) {
String msg = NLS.bind("Exception in {0}. run: {1}", getClass().getName(),
e.getTargetException());
throw new CoreException(new Status(IStatus.ERROR, Activator.PLUGIN_ID,
IStatus.ERROR, msg, e.getTargetException()));
} catch (InterruptedException ex) {
return Status.CANCEL_STATUS;
}
return errorStatus[0];
}
};
ISchedulingRule rule = op.getRule();
if (rule != null) {
job.setRule(rule);
}
job.setUser(true);
job.schedule();
}
};
refreshAction.setDisabledImageDescriptor(getImageDescriptor("icons/refresh_nav_disabled.gif"));
refreshAction.setImageDescriptor(getImageDescriptor("icons/refresh_nav_enabled.gif"));
refreshAction.setActionDefinitionId(IWorkbenchCommandConstants.FILE_REFRESH);
}
项目:subclipse
文件:UnmanageAction.java
/**
* get the WorkspaceModifyOperation. The operation will :
* - delete svn directories if this option has been chosen
* - unmap the project
* @return
*/
private IRunnableWithProgress getOperation() {
return new WorkspaceModifyOperation() {
public void execute(IProgressMonitor monitor) throws InvocationTargetException {
try {
// maps the selected resources (projects) to their providers
Hashtable table = getProviderMapping(getSelectedResources());
Set keySet = table.keySet();
monitor.beginTask("", keySet.size() * 1000); //$NON-NLS-1$
monitor.setTaskName(Policy.bind("Unmanage.unmanaging")); //$NON-NLS-1$
Iterator iterator = keySet.iterator();
while (iterator.hasNext()) {
IProgressMonitor subMonitor = new InfiniteSubProgressMonitor(monitor, 1000);
subMonitor.beginTask(null, 100);
SVNTeamProvider provider = (SVNTeamProvider)iterator.next();
// get the resources (projects) to unmanage for the given provider
List list = (List)table.get(provider);
IResource[] providerResources = (IResource[])list.toArray(new IResource[list.size()]);
for (int i = 0; i < providerResources.length; i++) {
// get the folder for the project
IResource resource = providerResources[i];
ISVNLocalFolder folder = SVNWorkspaceRoot.getSVNFolderFor((IContainer) resource);
try {
if(deleteContent) {
folder.unmanage(Policy.subMonitorFor(subMonitor, 10));
}
} finally {
// We want to remove the nature even if the unmanage operation fails
RepositoryProvider.unmap((IProject)resource);
}
}
}
} catch (TeamException e) {
throw new InvocationTargetException(e);
} finally {
monitor.done();
}
}
};
}
项目:APICloud-Studio
文件:UnmanageAction.java
/**
* get the WorkspaceModifyOperation. The operation will :
* - delete svn directories if this option has been chosen
* - unmap the project
* @return
*/
private IRunnableWithProgress getOperation() {
return new WorkspaceModifyOperation() {
public void execute(IProgressMonitor monitor) throws InvocationTargetException {
try {
// maps the selected resources (projects) to their providers
Hashtable table = getProviderMapping(getSelectedResources());
Set keySet = table.keySet();
monitor.beginTask("", keySet.size() * 1000); //$NON-NLS-1$
monitor.setTaskName(Policy.bind("Unmanage.unmanaging")); //$NON-NLS-1$
Iterator iterator = keySet.iterator();
while (iterator.hasNext()) {
IProgressMonitor subMonitor = new InfiniteSubProgressMonitor(monitor, 1000);
subMonitor.beginTask(null, 100);
SVNTeamProvider provider = (SVNTeamProvider)iterator.next();
// get the resources (projects) to unmanage for the given provider
List list = (List)table.get(provider);
IResource[] providerResources = (IResource[])list.toArray(new IResource[list.size()]);
for (int i = 0; i < providerResources.length; i++) {
// get the folder for the project
IResource resource = providerResources[i];
ISVNLocalFolder folder = SVNWorkspaceRoot.getSVNFolderFor((IContainer) resource);
try {
if(deleteContent) {
folder.unmanage(Policy.subMonitorFor(subMonitor, 10));
}
} finally {
// We want to remove the nature even if the unmanage operation fails
RepositoryProvider.unmap((IProject)resource);
}
}
}
} catch (TeamException e) {
throw new InvocationTargetException(e);
} finally {
monitor.done();
}
}
};
}
项目:birt
文件:IDEResourceSynchronizer.java
private void refreshResource( IPath resPath )
{
IResource[] res = ResourcesPlugin.getWorkspace( )
.getRoot( )
.findFilesForLocation( resPath );
if ( res.length == 0 )
{
res = ResourcesPlugin.getWorkspace( )
.getRoot( )
.findContainersForLocation( resPath );
if ( res.length == 0 )
{
// not resources within the workspace
return;
}
}
try
{
final IResource[] targes = res;
new WorkspaceModifyOperation( ) {
protected void execute( IProgressMonitor monitor )
throws CoreException
{
for ( IResource rc : targes )
{
rc.refreshLocal( IResource.DEPTH_INFINITE, null );
}
}
}.run( null );
}
catch ( Exception e )
{
ExceptionUtil.handle( e );
}
}
项目:lunifera-sharky-m2m
文件:ShapesEditor.java
public void doSaveAs() {
// Show a SaveAs dialog
Shell shell = getSite().getWorkbenchWindow().getShell();
SaveAsDialog dialog = new SaveAsDialog(shell);
dialog.setOriginalFile(((IFileEditorInput) getEditorInput()).getFile());
dialog.open();
IPath path = dialog.getResult();
if (path != null) {
// try to save the editor's contents under a different file name
final IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
try {
new ProgressMonitorDialog(shell).run(false, // don't fork
false, // not cancelable
new WorkspaceModifyOperation() { // run this operation
public void execute(final IProgressMonitor monitor) {
try {
ByteArrayOutputStream out = new ByteArrayOutputStream();
createOutputStream(out);
file.create(new ByteArrayInputStream(out.toByteArray()), // contents
true, // keep saving, even if IFile
// is out of sync with the
// Workspace
monitor); // progress monitor
} catch (CoreException ce) {
ce.printStackTrace();
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
});
// set input to the new file
setInput(new FileEditorInput(file));
getCommandStack().markSaveLocation();
} catch (InterruptedException ie) {
// should not happen, since the monitor dialog is not cancelable
ie.printStackTrace();
} catch (InvocationTargetException ite) {
ite.printStackTrace();
}
}
}
项目:lunifera-sharky-m2m
文件:ShapesEditor.java
public void doSaveAs() {
// Show a SaveAs dialog
Shell shell = getSite().getWorkbenchWindow().getShell();
SaveAsDialog dialog = new SaveAsDialog(shell);
dialog.setOriginalFile(((IFileEditorInput) getEditorInput()).getFile());
dialog.open();
IPath path = dialog.getResult();
if (path != null) {
// try to save the editor's contents under a different file name
final IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
try {
new ProgressMonitorDialog(shell).run(false, // don't fork
false, // not cancelable
new WorkspaceModifyOperation() { // run this operation
public void execute(final IProgressMonitor monitor) {
try {
ByteArrayOutputStream out = new ByteArrayOutputStream();
createOutputStream(out);
file.create(new ByteArrayInputStream(out.toByteArray()), // contents
true, // keep saving, even if IFile
// is out of sync with the
// Workspace
monitor); // progress monitor
} catch (CoreException ce) {
ce.printStackTrace();
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
});
// set input to the new file
setInput(new FileEditorInput(file));
getCommandStack().markSaveLocation();
} catch (InterruptedException ie) {
// should not happen, since the monitor dialog is not cancelable
ie.printStackTrace();
} catch (InvocationTargetException ite) {
ite.printStackTrace();
}
}
}