Java 类org.eclipse.ui.ide.undo.CreateProjectOperation 实例源码

项目:google-cloud-eclipse    文件:CreateAppEngineWtpProject.java   
@Override
public void execute(IProgressMonitor monitor) throws InvocationTargetException, CoreException {
  IWorkspace workspace = ResourcesPlugin.getWorkspace();
  IProject newProject = config.getProject();
  URI location = config.getEclipseProjectLocationUri();

  String name = newProject.getName();
  IProjectDescription description = workspace.newProjectDescription(name);
  description.setLocationURI(location);

  String operationLabel = getDescription();
  SubMonitor subMonitor = SubMonitor.convert(monitor, operationLabel, 120);
  CreateProjectOperation operation = new CreateProjectOperation(description, operationLabel);
  try {
    operation.execute(subMonitor.newChild(10), uiInfoAdapter);
    mostImportant = createAndConfigureProjectContent(newProject, config, subMonitor.newChild(80));
  } catch (ExecutionException ex) {
    throw new InvocationTargetException(ex);
  }

  IFacetedProject facetedProject = ProjectFacetsManager.create(
      newProject, true /* convertIfNecessary */, subMonitor.newChild(5));
  addAppEngineFacet(facetedProject, subMonitor.newChild(6));

  addAdditionalDependencies(newProject, config, subMonitor.newChild(20));

  fixTestSourceDirectorySettings(newProject, subMonitor.newChild(5));
}
项目:eclipse-extras    文件:ProjectHelper.java   
private IProject createProject( IProjectDescription projectDescription ) {
  String label = "Create project " + projectName;
  try {
    new CreateProjectOperation( projectDescription, label ).execute( newProgressMonitor(), null );
  } catch( ExecutionException ee ) {
    throw new RuntimeException( ee );
  }
  return ResourcesPlugin.getWorkspace().getRoot().getProject( projectName );
}