diff --git a/java/idea-ui/src/com/intellij/platform/templates/TemplateModuleBuilder.java b/java/idea-ui/src/com/intellij/platform/templates/TemplateModuleBuilder.java index 525aa27e1a77..52acb6471a16 100644 --- a/java/idea-ui/src/com/intellij/platform/templates/TemplateModuleBuilder.java +++ b/java/idea-ui/src/com/intellij/platform/templates/TemplateModuleBuilder.java @@ -35,6 +35,7 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.project.ex.ProjectManagerEx; import com.intellij.openapi.roots.ModifiableRootModel; import com.intellij.openapi.roots.ui.configuration.ModulesProvider; +import com.intellij.openapi.startup.StartupManager; import com.intellij.openapi.util.Condition; import com.intellij.openapi.util.InvalidDataException; import com.intellij.openapi.util.NullableComputable; @@ -99,17 +100,30 @@ public class TemplateModuleBuilder extends ModuleBuilder { public void run() { try { setupModule(module); - ModifiableModuleModel modifiableModuleModel = ModuleManager.getInstance(project).getModifiableModel(); - modifiableModuleModel.renameModule(module, module.getProject().getName()); - modifiableModuleModel.commit(); - fixModuleName(module); } catch (ConfigurationException e) { LOG.error(e); } - catch (ModuleWithNameAlreadyExists exists) { - // do nothing - } + } + }); + + StartupManager.getInstance(project).registerPostStartupActivity(new Runnable() { + @Override + public void run() { + ApplicationManager.getApplication().runWriteAction(new Runnable() { + @Override + public void run() { + try { + ModifiableModuleModel modifiableModuleModel = ModuleManager.getInstance(project).getModifiableModel(); + modifiableModuleModel.renameModule(module, module.getProject().getName()); + modifiableModuleModel.commit(); + fixModuleName(module); + } + catch (ModuleWithNameAlreadyExists exists) { + // do nothing + } + } + }); } }); return module; diff --git a/platform/lang-impl/src/com/intellij/facet/impl/pointers/FacetPointersManagerImpl.java b/platform/lang-impl/src/com/intellij/facet/impl/pointers/FacetPointersManagerImpl.java index 6adb9767a845..235c3e652a9b 100644 --- a/platform/lang-impl/src/com/intellij/facet/impl/pointers/FacetPointersManagerImpl.java +++ b/platform/lang-impl/src/com/intellij/facet/impl/pointers/FacetPointersManagerImpl.java @@ -92,6 +92,11 @@ public class FacetPointersManagerImpl extends FacetPointersManager implements Pr public void initComponent() { final FacetManagerListener facetListener = new FacetManagerAdapter() { + @Override + public void facetAdded(@NotNull Facet facet) { + refreshPointers(facet.getModule()); + } + @Override public void beforeFacetRenamed(@NotNull Facet facet) { final FacetPointerImpl pointer = myPointers.get(constructId(facet)); @@ -204,6 +209,7 @@ public class FacetPointersManagerImpl extends FacetPointersManager implements Pr final MessageBusConnection connection = module.getMessageBus().connect(); myModule2Connection.put(module, connection); connection.subscribe(FacetManager.FACETS_TOPIC, myFacetListener); + refreshPointers(module); } public void moduleRemoved(Project project, final Module module) {