diff --git a/java/idea-ui/src/com/intellij/ide/projectWizard/ChooseTemplateStep.java b/java/idea-ui/src/com/intellij/ide/projectWizard/ChooseTemplateStep.java index 0136672e670d..5f8c144a8ead 100644 --- a/java/idea-ui/src/com/intellij/ide/projectWizard/ChooseTemplateStep.java +++ b/java/idea-ui/src/com/intellij/ide/projectWizard/ChooseTemplateStep.java @@ -17,7 +17,6 @@ package com.intellij.ide.projectWizard; import com.intellij.ide.util.projectWizard.ModuleWizardStep; import com.intellij.ide.util.projectWizard.WizardContext; -import com.intellij.platform.ProjectTemplate; import com.intellij.ui.components.JBCheckBox; import org.jetbrains.annotations.TestOnly; @@ -70,9 +69,7 @@ public class ChooseTemplateStep extends ModuleWizardStep { @Override public void updateDataModel() { - if (myCreateFromTemplateCheckBox.isSelected()) { - myWizardContext.setProjectTemplate(myTemplateList.getSelectedTemplate()); - } + myWizardContext.setProjectTemplate(myCreateFromTemplateCheckBox.isSelected() ? myTemplateList.getSelectedTemplate() : null); } public ProjectTemplateList getTemplateList() { diff --git a/platform/lang-api/src/com/intellij/ide/util/projectWizard/WizardContext.java b/platform/lang-api/src/com/intellij/ide/util/projectWizard/WizardContext.java index 09a0c12b6e8a..c2dde7532fc6 100644 --- a/platform/lang-api/src/com/intellij/ide/util/projectWizard/WizardContext.java +++ b/platform/lang-api/src/com/intellij/ide/util/projectWizard/WizardContext.java @@ -48,6 +48,10 @@ public class WizardContext extends UserDataHolderBase { private String myCompilerOutputDirectory; private Sdk myProjectJdk; private ProjectBuilder myProjectBuilder; + /** + * Stores project type builder in case if replaced by TemplateModuleBuilder + */ + private ProjectBuilder myOriginalBuilder; private final List myListeners = ContainerUtil.createLockFreeCopyOnWriteList(); private StorageScheme myProjectStorageFormat = StorageScheme.DIRECTORY_BASED; private ModulesProvider myModulesProvider; @@ -195,10 +199,16 @@ public class WizardContext extends UserDataHolderBase { public void setProjectBuilder(@Nullable final ProjectBuilder projectBuilder) { myProjectBuilder = projectBuilder; + myOriginalBuilder = myProjectBuilder; } - public void setProjectTemplate(ProjectTemplate projectTemplate) { - setProjectBuilder(projectTemplate.createModuleBuilder()); + public void setProjectTemplate(@Nullable ProjectTemplate projectTemplate) { + if (projectTemplate != null) { + myProjectBuilder = projectTemplate.createModuleBuilder(); + } + else { + myProjectBuilder = myOriginalBuilder; + } } public String getPresentationName() {