/** * {@inheritDoc} * * @see org.eclipse.jface.wizard.Wizard#canFinish() */ @Override public boolean canFinish() { IWizardContainer iWizardContainer = this.getContainer(); IWizardPage currentPage = iWizardContainer.getCurrentPage(); if (currentPage instanceof WizardNewProjectCreationPage) { return newProjectPage.isPageComplete(); } return newProjectPage.isPageComplete() && newAcceleoModulesCreationPage.isPageComplete(); }
/** * Creates the Acceleo project. * * @param monitor The progress monitor. */ private void createProject(IProgressMonitor monitor) { try { IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(newProjectPage.getProjectName()); IPath location = newProjectPage.getLocationPath(); if (!project.exists()) { IProjectDescription desc = project.getWorkspace().newProjectDescription(newProjectPage.getProjectName()); if (ResourcesPlugin.getWorkspace().getRoot().getLocation().equals(location)) { location = null; } desc.setLocation(location); project.create(desc, monitor); project.open(monitor); boolean shouldGenerateModules = !(getContainer().getCurrentPage() instanceof WizardNewProjectCreationPage); convert( project, newProjectPage.getSelectedJVM(), newAcceleoModulesCreationPage.getAllModules(), shouldGenerateModules, monitor); IWorkingSet[] workingSets = newProjectPage.getSelectedWorkingSets(); getWorkbench().getWorkingSetManager().addToWorkingSets(project, workingSets); project.build( IncrementalProjectBuilder.FULL_BUILD, AcceleoBuilder.BUILDER_ID, new HashMap<String, String>(), monitor); } } catch (CoreException e) { AcceleoUIActivator.log(e, true); } }