From 1a4bf5bb1a369f599e492ffa0a9d74979b9fb5c7 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Mon, 31 Aug 2009 19:51:11 +0400 Subject: [PATCH] API for creating SupportForFrameworksStep --- .../com/intellij/openapi/module/JavaModuleType.java | 10 ++++------ .../util/projectWizard/ProjectWizardStepFactory.java | 4 ++++ .../projectWizard/ProjectWizardStepFactoryImpl.java | 11 +++++++++++ 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/java/java-impl/src/com/intellij/openapi/module/JavaModuleType.java b/java/java-impl/src/com/intellij/openapi/module/JavaModuleType.java index 4807e07d4fb5..5c84b9843bbe 100644 --- a/java/java-impl/src/com/intellij/openapi/module/JavaModuleType.java +++ b/java/java-impl/src/com/intellij/openapi/module/JavaModuleType.java @@ -31,8 +31,6 @@ */ package com.intellij.openapi.module; -import com.intellij.ide.util.frameworkSupport.FrameworkSupportUtil; -import com.intellij.ide.util.newProjectWizard.SupportForFrameworksStep; import com.intellij.ide.util.projectWizard.JavaModuleBuilder; import com.intellij.ide.util.projectWizard.ModuleWizardStep; import com.intellij.ide.util.projectWizard.ProjectWizardStepFactory; @@ -40,10 +38,9 @@ import com.intellij.ide.util.projectWizard.WizardContext; import com.intellij.openapi.project.ProjectBundle; import com.intellij.openapi.projectRoots.Sdk; import com.intellij.openapi.roots.ui.configuration.ModulesProvider; -import com.intellij.openapi.roots.ui.configuration.projectRoot.LibrariesContainerFactory; import com.intellij.openapi.util.IconLoader; -import com.intellij.psi.JavaPsiFacade; import com.intellij.psi.CommonClassNames; +import com.intellij.psi.JavaPsiFacade; import com.intellij.util.ArrayUtil; import org.jetbrains.annotations.NonNls; @@ -86,8 +83,9 @@ public class JavaModuleType extends ModuleType { ArrayList steps = new ArrayList(); steps.add(wizardFactory.createSourcePathsStep(wizardContext, moduleBuilder, getWizardIcon(), "reference.dialogs.new.project.fromScratch.source")); steps.add(wizardFactory.createProjectJdkStep(wizardContext)); - if (!FrameworkSupportUtil.getProviders(moduleBuilder).isEmpty()) { - steps.add(new SupportForFrameworksStep(moduleBuilder, LibrariesContainerFactory.createContainer(wizardContext.getProject()))); + final ModuleWizardStep supportForFrameworksStep = wizardFactory.createSupportForFrameworksStep(wizardContext, moduleBuilder); + if (supportForFrameworksStep != null) { + steps.add(supportForFrameworksStep); } final ModuleWizardStep[] wizardSteps = steps.toArray(new ModuleWizardStep[steps.size()]); return ArrayUtil.mergeArrays(wizardSteps, super.createWizardSteps(wizardContext, moduleBuilder, modulesProvider), ModuleWizardStep.class); diff --git a/java/openapi/src/com/intellij/ide/util/projectWizard/ProjectWizardStepFactory.java b/java/openapi/src/com/intellij/ide/util/projectWizard/ProjectWizardStepFactory.java index 818026e32b73..83b5f92bd807 100644 --- a/java/openapi/src/com/intellij/ide/util/projectWizard/ProjectWizardStepFactory.java +++ b/java/openapi/src/com/intellij/ide/util/projectWizard/ProjectWizardStepFactory.java @@ -20,6 +20,7 @@ import com.intellij.openapi.projectRoots.SdkType; import com.intellij.openapi.roots.ui.configuration.ModulesProvider; import com.intellij.openapi.util.Computable; import org.jetbrains.annotations.NonNls; +import org.jetbrains.annotations.Nullable; import javax.swing.*; @@ -56,4 +57,7 @@ public abstract class ProjectWizardStepFactory { public abstract ModuleWizardStep createProjectJdkStep(WizardContext context, SdkType type, JavaModuleBuilder builder, Computable isVisibile, Icon icon, @NonNls String helpId); public abstract ModuleWizardStep createProjectJdkStep(final WizardContext wizardContext); + + @Nullable + public abstract ModuleWizardStep createSupportForFrameworksStep(WizardContext context, ModuleBuilder builder); } diff --git a/source/com/intellij/ide/util/projectWizard/ProjectWizardStepFactoryImpl.java b/source/com/intellij/ide/util/projectWizard/ProjectWizardStepFactoryImpl.java index d90f35b8330e..def3d4228dfc 100644 --- a/source/com/intellij/ide/util/projectWizard/ProjectWizardStepFactoryImpl.java +++ b/source/com/intellij/ide/util/projectWizard/ProjectWizardStepFactoryImpl.java @@ -5,8 +5,11 @@ package com.intellij.ide.util.projectWizard; import com.intellij.ide.util.newProjectWizard.SourcePathsStep; +import com.intellij.ide.util.newProjectWizard.SupportForFrameworksStep; +import com.intellij.ide.util.frameworkSupport.FrameworkSupportUtil; import com.intellij.openapi.projectRoots.SdkType; import com.intellij.openapi.roots.ui.configuration.ModulesProvider; +import com.intellij.openapi.roots.ui.configuration.projectRoot.LibrariesContainerFactory; import com.intellij.openapi.util.Computable; import org.jetbrains.annotations.NonNls; @@ -83,4 +86,12 @@ public class ProjectWizardStepFactoryImpl extends ProjectWizardStepFactory { }; } + @Override + public ModuleWizardStep createSupportForFrameworksStep(WizardContext wizardContext, ModuleBuilder moduleBuilder) { + if (!FrameworkSupportUtil.getProviders(moduleBuilder).isEmpty()) { + return new SupportForFrameworksStep(moduleBuilder, LibrariesContainerFactory.createContainer(wizardContext.getProject())); + } + return null; + } + }