private IProject renameProjectTo( IProject project, String name ) throws ExecutionException { IProject result = project.getWorkspace().getRoot().getProject( name ); IPath path = result.getFullPath(); AbstractOperation operation = new MoveResourcesOperation( project, path, "Rename project" ); operation.execute( new NullProgressMonitor(), null ); renamedProjects.add( result ); return result; }
@Override protected IRunnableWithProgress createOperation(final IStatus[] errorStatus) { return monitor -> { final IResource[] resources = getActionResources().toArray(new IResource[getActionResources().size()]); // Rename is only valid for a single resource. This has already // been validated. if (resources.length == 1) { // check for overwrite final IWorkspaceRoot workspaceRoot = resources[0].getWorkspace().getRoot(); final IResource newResource = workspaceRoot.findMember(newPath); boolean go = true; if (newResource != null) { go = checkOverwrite(WorkbenchHelper.getShell(), newResource); } if (go) { final MoveResourcesOperation op = new MoveResourcesOperation(resources[0], newPath, IDEWorkbenchMessages.RenameResourceAction_operationTitle); op.setModelProviderIds(getModelProviderIds()); try { PlatformUI.getWorkbench().getOperationSupport().getOperationHistory().execute(op, monitor, WorkspaceUndoUtil.getUIInfoAdapter(WorkbenchHelper.getShell())); } catch (final ExecutionException e) { if (e.getCause() instanceof CoreException) { errorStatus[0] = ((CoreException) e.getCause()).getStatus(); } else { errorStatus[0] = new Status(IStatus.ERROR, PlatformUI.PLUGIN_ID, getProblemsMessage(), e); } } } } }; }
protected IRunnableWithProgress createOperation(final IStatus[] errorStatus) { return new IRunnableWithProgress() { public void run(IProgressMonitor monitor) { IResource[] resources = (IResource[]) getActionResources() .toArray(new IResource[getActionResources().size()]); // Rename is only valid for a single resource. This has already // been validated. if (resources.length == 1) { // check for overwrite IWorkspaceRoot workspaceRoot = resources[0].getWorkspace() .getRoot(); IResource newResource = workspaceRoot.findMember(newPath); boolean go = true; if (newResource != null) { go = checkOverwrite(shellProvider.getShell(), newResource); } if (go) { MoveResourcesOperation op = new MoveResourcesOperation( resources[0], newPath, IDEWorkbenchMessages.RenameResourceAction_operationTitle); op.setModelProviderIds(getModelProviderIds()); try { PlatformUI .getWorkbench() .getOperationSupport() .getOperationHistory() .execute( op, monitor, WorkspaceUndoUtil .getUIInfoAdapter(shellProvider.getShell())); } catch (ExecutionException e) { if (e.getCause() instanceof CoreException) { errorStatus[0] = ((CoreException) e.getCause()) .getStatus(); } else { errorStatus[0] = new Status(IStatus.ERROR, PlatformUI.PLUGIN_ID, getProblemsMessage(), e); } } } } } }; }