diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/ModulesConfigurator.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/ModulesConfigurator.java index 17c7ddc6cc91..058d8b732a6d 100644 --- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/ModulesConfigurator.java +++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/ModulesConfigurator.java @@ -151,42 +151,19 @@ public class ModulesConfigurator implements ModulesProvider, ModuleEditor.Change } public ModuleRootModel getRootModel(@NotNull Module module) { - return getEditor(module).getRootModel(); + return getOrCreateModuleEditor(module).getRootModel(); } - public ModuleEditor getEditor(Module module) { + public ModuleEditor getOrCreateModuleEditor(Module module) { LOG.assertTrue(getModule(module.getName()) != null, "Module has been deleted"); ModuleEditor editor = getModuleEditor(module); if (editor == null) { - editor = createModuleEditor(module); + editor = doCreateModuleEditor(module); } return editor; } - public FacetModel getFacetModel(@NotNull Module module) { - return myFacetsConfigurator.getOrCreateModifiableModel(module); - } - - public void resetModuleEditors() { - myModuleModel = ModuleManager.getInstance(myProject).getModifiableModel(); - - ApplicationManager.getApplication().runWriteAction(new Runnable() { - public void run() { - assert myModuleEditors.isEmpty(); - final Module[] modules = myModuleModel.getModules(); - if (modules.length > 0) { - for (Module module : modules) { - createModuleEditor(module); - } - Collections.sort(myModuleEditors, myModuleEditorComparator); - } - } - }); - myFacetsConfigurator.resetEditors(); - myModified = false; - } - - public ModuleEditor createModuleEditor(final Module module) { + private ModuleEditor doCreateModuleEditor(final Module module) { final ModuleEditor moduleEditor = new ModuleEditor(myProject, this, module) { @Override public ProjectFacetsConfigurator getFacetsConfigurator() { @@ -208,6 +185,29 @@ public class ModulesConfigurator implements ModulesProvider, ModuleEditor.Change return moduleEditor; } + public FacetModel getFacetModel(@NotNull Module module) { + return myFacetsConfigurator.getOrCreateModifiableModel(module); + } + + public void resetModuleEditors() { + myModuleModel = ModuleManager.getInstance(myProject).getModifiableModel(); + + ApplicationManager.getApplication().runWriteAction(new Runnable() { + public void run() { + assert myModuleEditors.isEmpty(); + final Module[] modules = myModuleModel.getModules(); + if (modules.length > 0) { + for (Module module : modules) { + getOrCreateModuleEditor(module); + } + Collections.sort(myModuleEditors, myModuleEditorComparator); + } + } + }); + myFacetsConfigurator.resetEditors(); + myModified = false; + } + public void moduleStateChanged(final ModifiableRootModel moduleRootModel) { myProjectConfigurable.updateCircularDependencyWarning(); for (ModuleEditor.ChangeListener listener : myAllModulesChangeListeners) { @@ -368,7 +368,7 @@ public class ModulesConfigurator implements ModulesProvider, ModuleEditor.Change ApplicationManager.getApplication().runWriteAction(new Runnable() { public void run() { for (Module module : modules) { - createModuleEditor(module); + getOrCreateModuleEditor(module); } } }); @@ -404,7 +404,7 @@ public class ModulesConfigurator implements ModulesProvider, ModuleEditor.Change if (module != null) { ApplicationManager.getApplication().runWriteAction(new Runnable() { public void run() { - createModuleEditor(module); + getOrCreateModuleEditor(module); Collections.sort(myModuleEditors, myModuleEditorComparator); } }); diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/ArtifactsStructureConfigurableContextImpl.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/ArtifactsStructureConfigurableContextImpl.java index 06dc0a84390c..a241432298ba 100644 --- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/ArtifactsStructureConfigurableContextImpl.java +++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/ArtifactsStructureConfigurableContextImpl.java @@ -252,7 +252,7 @@ public class ArtifactsStructureConfigurableContextImpl implements ArtifactsStruc } public ModifiableRootModel getOrCreateModifiableRootModel(Module module) { - final ModuleEditor editor = myContext.getModulesConfigurator().getEditor(module); + final ModuleEditor editor = myContext.getModulesConfigurator().getOrCreateModuleEditor(module); return editor.getModifiableRootModelProxy(); } } diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenUIModifiableModelsProvider.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenUIModifiableModelsProvider.java index d152f72a39ec..c88ae4457b7d 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenUIModifiableModelsProvider.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenUIModifiableModelsProvider.java @@ -59,7 +59,7 @@ public class MavenUIModifiableModelsProvider extends MavenBaseModifiableModelsPr @Override protected ModifiableRootModel doGetRootModel(Module module) { - return myModulesConfigurator.getEditor(module).getModifiableRootModel(); + return myModulesConfigurator.getOrCreateModuleEditor(module).getModifiableRootModel(); } @Override