+++ /dev/null
-package net.sourceforge.phpeclipse.wizards;
-
-import java.lang.reflect.InvocationTargetException;
-import java.net.URI;
-
-import net.sourceforge.phpdt.core.JavaCore;
-import net.sourceforge.phpdt.ui.actions.OpenPHPPerspectiveAction;
-import net.sourceforge.phpeclipse.PHPeclipsePlugin;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExecutableExtension;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation;
-import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
-import org.eclipse.ui.wizards.newresource.BasicNewProjectResourceWizard;
-import org.eclipse.ui.wizards.newresource.BasicNewResourceWizard;
-
-public class NewProjectCreationWizard extends BasicNewResourceWizard implements
- INewWizard, IExecutableExtension {
- protected WizardNewProjectCreationPage projectPage;
-
- protected IConfigurationElement configurationElement;
-
- protected IProject newProject;
-
- public NewProjectCreationWizard() {
- setWindowTitle(PHPWizardMessages
- .getString("NewProjectCreationWizard.windowTitle"));
- }
-
- public boolean performFinish() {
- IRunnableWithProgress projectCreationOperation = new WorkspaceModifyDelegatingOperation(
- getProjectCreationRunnable());
-
- try {
- getContainer().run(false, true, projectCreationOperation);
- } catch (Exception e) {
- PHPeclipsePlugin.log(e);
- return false;
- }
-
- BasicNewProjectResourceWizard.updatePerspective(configurationElement);
- selectAndReveal(newProject);
- // open the PHP perspective
- new OpenPHPPerspectiveAction().run();
- return true;
- }
-
- protected IRunnableWithProgress getProjectCreationRunnable() {
- return new IRunnableWithProgress() {
- public void run(IProgressMonitor monitor)
- throws InvocationTargetException, InterruptedException {
- int remainingWorkUnits = 10;
- monitor
- .beginTask(
- PHPWizardMessages
- .getString("NewProjectCreationWizard.projectCreationMessage"),
- remainingWorkUnits);
-
- IWorkspace workspace = PHPeclipsePlugin.getWorkspace();
- String projectName = projectPage.getProjectHandle().getName();
- newProject = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
- IProjectDescription description = workspace
- .newProjectDescription(projectName);
-
- URI uriPath = (!projectPage.useDefaults()) ? projectPage
- .getLocationURI() : null;
- if (uriPath != null) {
- description.setLocationURI(uriPath);
- }
-
- try {
- if (!newProject.exists()) {
- newProject.create(description, new SubProgressMonitor(
- monitor, 1));
- remainingWorkUnits--;
- }
- if (!newProject.isOpen()) {
- newProject.open(IResource.BACKGROUND_REFRESH, new SubProgressMonitor(monitor, 1));
- remainingWorkUnits--;
- }
- JavaCore.addPHPNature(newProject, new SubProgressMonitor(
- monitor, remainingWorkUnits));
-
- } catch (CoreException e) {
- System.out.println(e);
- throw new InvocationTargetException(e);
- } finally {
- monitor.done();
- }
- }
- };
- }
-
- public void addPages() {
- super.addPages();
-
- projectPage = new WizardNewProjectCreationPage(PHPWizardMessages
- .getString("WizardNewProjectCreationPage.pageName"));
- projectPage.setTitle(PHPWizardMessages
- .getString("WizardNewProjectCreationPage.pageTitle"));
- projectPage.setDescription(PHPWizardMessages
- .getString("WizardNewProjectCreationPage.pageDescription"));
-
- addPage(projectPage);
- }
-
- public void setInitializationData(IConfigurationElement config,
- String propertyName, Object data) throws CoreException {
- configurationElement = config;
- }
-
-}
\ No newline at end of file