public IProject importProject()

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