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();
        }
    }
}