introduce common base class ProjectWizard
diff --git a/plugins/org.eclipse.dltk.javascript.ui/src/org/eclipse/dltk/javascript/internal/ui/wizards/JavascriptProjectCreationWizard.java b/plugins/org.eclipse.dltk.javascript.ui/src/org/eclipse/dltk/javascript/internal/ui/wizards/JavascriptProjectCreationWizard.java
index 75af06f..1ffed78 100644
--- a/plugins/org.eclipse.dltk.javascript.ui/src/org/eclipse/dltk/javascript/internal/ui/wizards/JavascriptProjectCreationWizard.java
+++ b/plugins/org.eclipse.dltk.javascript.ui/src/org/eclipse/dltk/javascript/internal/ui/wizards/JavascriptProjectCreationWizard.java
@@ -9,12 +9,6 @@
  *******************************************************************************/
 package org.eclipse.dltk.javascript.internal.ui.wizards;
 
-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.dltk.core.DLTKCore;
-import org.eclipse.dltk.core.IModelElement;
 import org.eclipse.dltk.javascript.core.JavaScriptNature;
 import org.eclipse.dltk.javascript.internal.ui.preferences.JavascriptBuildPathsBlock;
 import org.eclipse.dltk.javascript.ui.JavaScriptImages;
@@ -22,17 +16,13 @@
 import org.eclipse.dltk.ui.util.BusyIndicatorRunnableContext;
 import org.eclipse.dltk.ui.util.IStatusChangeListener;
 import org.eclipse.dltk.ui.wizards.BuildpathsBlock;
-import org.eclipse.dltk.ui.wizards.NewElementWizard;
+import org.eclipse.dltk.ui.wizards.ProjectWizard;
 import org.eclipse.dltk.ui.wizards.ProjectWizardFirstPage;
 import org.eclipse.dltk.ui.wizards.ProjectWizardSecondPage;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.wizards.newresource.BasicNewProjectResourceWizard;
 
-public class JavascriptProjectCreationWizard extends NewElementWizard implements
-		INewWizard, IExecutableExtension {
+public class JavascriptProjectCreationWizard extends ProjectWizard {
 	private ProjectWizardFirstPage fFirstPage;
 	private ProjectWizardSecondPage fSecondPage;
-	private IConfigurationElement fConfigElement;
 
 	public JavascriptProjectCreationWizard() {
 		setDefaultPageImageDescriptor(JavaScriptImages.DESC_WIZBAN_PROJECT_CREATION);
@@ -69,35 +59,4 @@
 		addPage(fSecondPage);
 	}
 
-	protected void finishPage(IProgressMonitor monitor)
-			throws InterruptedException, CoreException {
-		fSecondPage.performFinish(monitor); // use the full progress monitor
-	}
-
-	public boolean performFinish() {
-		boolean res = super.performFinish();
-		if (res) {
-			BasicNewProjectResourceWizard.updatePerspective(fConfigElement);
-			selectAndReveal(fSecondPage.getScriptProject().getProject());
-		}
-		return res;
-	}
-
-	/*
-	 * Stores the configuration element for the wizard. The config element will
-	 * be used in <code>performFinish</code> to set the result perspective.
-	 */
-	public void setInitializationData(IConfigurationElement cfig,
-			String propertyName, Object data) {
-		fConfigElement = cfig;
-	}
-
-	public boolean performCancel() {
-		fSecondPage.performCancel();
-		return super.performCancel();
-	}
-
-	public IModelElement getCreatedElement() {
-		return DLTKCore.create(fFirstPage.getProjectHandle());
-	}
 }