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 2a8ba858b6e5..d482338a23c5 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 @@ -25,6 +25,7 @@ import com.intellij.ide.util.projectWizard.ModuleBuilder; import com.intellij.ide.util.projectWizard.ProjectBuilder; import com.intellij.openapi.Disposable; import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.module.ModifiableModuleModel; import com.intellij.openapi.module.Module; import com.intellij.openapi.module.ModuleManager; @@ -63,6 +64,8 @@ import java.util.List; * Date: Dec 15, 2003 */ public class ModulesConfigurator implements ModulesProvider, ModuleEditor.ChangeListener { + private static final Logger LOG = Logger.getInstance("#" + ModulesConfigurator.class.getName()); + private final Project myProject; //private final ModuleStructureConfigurable myProjectRootConfigurable; @@ -149,17 +152,16 @@ public class ModulesConfigurator implements ModulesProvider, ModuleEditor.Change } public ModuleRootModel getRootModel(@NotNull Module module) { - final ModuleEditor editor = getModuleEditor(module); - ModuleRootModel rootModel = null; - if (editor != null) { - rootModel = editor.getRootModel(); - } - if (rootModel == null && getModule(module.getName()) != null) { - createModuleEditor(module); - rootModel = getModuleEditor(module).getRootModel(); - } + return getEditor(module).getRootModel(); + } - return rootModel; + public ModuleEditor getEditor(Module module) { + LOG.assertTrue(getModule(module.getName()) != null, "Module has been deleted"); + ModuleEditor editor = getModuleEditor(module); + if (editor == null) { + editor = createModuleEditor(module); + } + return editor; } public FacetModel getFacetModel(@NotNull Module module) { @@ -185,7 +187,7 @@ public class ModulesConfigurator implements ModulesProvider, ModuleEditor.Change myModified = false; } - public void createModuleEditor(final Module module) { + public ModuleEditor createModuleEditor(final Module module) { final ModuleEditor moduleEditor = new ModuleEditor(myProject, this, module) { @Override public ProjectFacetsConfigurator getFacetsConfigurator() { @@ -204,6 +206,7 @@ public class ModulesConfigurator implements ModulesProvider, ModuleEditor.Change moduleEditor.removeChangeListener(configurator); } }); + return moduleEditor; } public void moduleStateChanged(final ModifiableRootModel moduleRootModel) { 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 f1fd2079a70a..54c4da33772f 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 @@ -15,29 +15,32 @@ */ package org.jetbrains.idea.maven.importing; +import com.intellij.facet.ModifiableFacetModel; +import com.intellij.openapi.application.ModalityState; import com.intellij.openapi.module.ModifiableModuleModel; import com.intellij.openapi.module.Module; import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.ModifiableRootModel; import com.intellij.openapi.roots.libraries.Library; -import com.intellij.openapi.roots.ui.configuration.ModulesProvider; +import com.intellij.openapi.roots.ui.configuration.ModulesConfigurator; import com.intellij.openapi.roots.ui.configuration.projectRoot.LibrariesModifiableModel; import com.intellij.openapi.roots.ui.configuration.projectRoot.ProjectLibrariesConfigurable; -import com.intellij.openapi.application.ModalityState; -import com.intellij.facet.ModifiableFacetModel; import com.intellij.packaging.artifacts.ModifiableArtifactModel; import org.jetbrains.idea.maven.utils.MavenUtil; public class MavenUIModifiableModelsProvider extends MavenBaseModifiableModelsProvider { private final ModifiableModuleModel myModel; - private final ModulesProvider myModulesProvider; + private final ModulesConfigurator myModulesConfigurator; private final ModifiableArtifactModel myModifiableArtifactModel; private final LibrariesModifiableModel myLibrariesModel; - public MavenUIModifiableModelsProvider(Project project, ModifiableModuleModel model, ModulesProvider modulesProvider, ModifiableArtifactModel modifiableArtifactModel) { + public MavenUIModifiableModelsProvider(Project project, + ModifiableModuleModel model, + ModulesConfigurator modulesConfigurator, + ModifiableArtifactModel modifiableArtifactModel) { super(project); myModel = model; - myModulesProvider = modulesProvider; + myModulesConfigurator = modulesConfigurator; myModifiableArtifactModel = modifiableArtifactModel; ProjectLibrariesConfigurable configurable = ProjectLibrariesConfigurable.getInstance(project); @@ -56,12 +59,12 @@ public class MavenUIModifiableModelsProvider extends MavenBaseModifiableModelsPr @Override protected ModifiableRootModel doGetRootModel(Module module) { - return (ModifiableRootModel)myModulesProvider.getRootModel(module); + return myModulesConfigurator.getEditor(module).getModifiableRootModel(); } @Override protected ModifiableFacetModel doGetFacetModel(Module module) { - return (ModifiableFacetModel)myModulesProvider.getFacetModel(module); + return (ModifiableFacetModel)myModulesConfigurator.getFacetModel(module); } public Library[] getAllLibraries() { diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenProjectsManager.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenProjectsManager.java index ac2d361810fd..1a5677d6c54b 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenProjectsManager.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenProjectsManager.java @@ -922,8 +922,6 @@ public class MavenProjectsManager extends SimpleProjectComponent implements Pers } fireScheduledImportsChanged(); - long before = System.currentTimeMillis(); - final Ref importer = new Ref(); final Ref> postTasks = new Ref>(); @@ -952,8 +950,6 @@ public class MavenProjectsManager extends SimpleProjectComponent implements Pers }).waitFor(); } - long importTime = System.currentTimeMillis() - before; - //System.out.println("Import/Commit time: " + importTime + "/" + modelsProvider.getCommitTime() + " ms"); VirtualFileManager.getInstance().refresh(isNormalProject()); schedulePostImportTasts(postTasks.get()); diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/wizards/MavenProjectBuilder.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/wizards/MavenProjectBuilder.java index 8c9deec173be..8b4a4d9fbece 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/wizards/MavenProjectBuilder.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/wizards/MavenProjectBuilder.java @@ -20,6 +20,7 @@ import com.intellij.openapi.module.Module; import com.intellij.openapi.options.ConfigurationException; import com.intellij.openapi.project.Project; import com.intellij.openapi.project.ProjectManager; +import com.intellij.openapi.roots.ui.configuration.ModulesConfigurator; import com.intellij.openapi.roots.ui.configuration.ModulesProvider; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.projectImport.ProjectImportBuilder; @@ -94,7 +95,7 @@ public class MavenProjectBuilder extends ProjectImportBuilder { boolean isFromUI = model != null; return manager.importProjects(isFromUI - ? new MavenUIModifiableModelsProvider(project, model, modulesProvider, artifactModel) + ? new MavenUIModifiableModelsProvider(project, model, (ModulesConfigurator)modulesProvider, artifactModel) : new MavenDefaultModifiableModelsProvider(project)); }