in org.apache.easyant4e/src/org/apache/easyant4e/services/EasyantProjectServiceImpl.java [247:302]
public IProject importProject(IProjectDescription projectDescription/*, Shell messageShell*/, IProgressMonitor monitor) {
//String projectName = importProjectDescriptor.getProjectName();
//IProjectDescription projectDescription = importProjectDescriptor.getDescription();
String projectName = projectDescription.getName();
final IWorkspace workspace = ResourcesPlugin.getWorkspace();
final IProject project = workspace.getRoot().getProject(projectName);
// if (projectDescription == null) {
// // error case
// projectDescription = workspace.newProjectDescription(projectName);
// IPath locationPath = new Path(importProjectDescriptor.getProjectSystemFile().getAbsolutePath());
//
// // If it is under the root use the default location
// if (Platform.getLocation().isPrefixOf(locationPath)) {
// projectDescription.setLocation(null);
// } else {
// projectDescription.setLocation(locationPath);
// }
// } else {
// projectDescription.setName(projectName);
// }
// if (importProjectDescriptor.isFromIvyDescription()) {
// import form Ivy description
File importSource = new File(projectDescription.getLocationURI());
IWorkspaceRoot rootWorkspace = workspace.getRoot();
ImportOperation importOperation = new ImportOperation(rootWorkspace.getFullPath(),importSource,FileSystemStructureProvider.INSTANCE, new IOverwriteQuery(){
public String queryOverwrite(String pathString) { return ALL; }
});
//importOperation.setContext(messageShell);//FIXME is it required?
try {
//PlatformUI.getWorkbench().getProgressService().run(false, false, importOperation);
importOperation.run(monitor);
} catch (InvocationTargetException e) {
Activator.getEasyAntPlugin().log(IStatus.ERROR, "Cannot import project.", e);
} catch (InterruptedException e) {
Activator.getEasyAntPlugin().log(IStatus.ERROR, "Cannot import project.", e);
}
// }
try {
monitor.beginTask("Creating project ...", 100);
project.create(projectDescription, new SubProgressMonitor(monitor, 30));
project.open(IResource.BACKGROUND_REFRESH, new SubProgressMonitor(monitor, 70));
// configure project, apply EasyAnt nature
// if (importProjectDescriptor.isFromIvyDescription()) {
addNature(project/*, messageShell*/, monitor);
// }
} catch (CoreException e) {
Activator.getEasyAntPlugin().log(IStatus.ERROR, "Cannot configure imported project.", e);
return null;
} finally {
monitor.done();
}
return project;
}