Maven: exception when adding modules from UI (IDEA-54927, IDEA-53197)

This commit is contained in:
Anton Makeev
2010-08-11 15:08:12 +04:00
parent bd81a6067a
commit b9fb70aec2
3 changed files with 31 additions and 31 deletions
@@ -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);
}
});
@@ -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();
}
}
@@ -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