IDEA-94941 New Project By Template: for JavaEEWebModule incorrect artifact is created [nik]

This commit is contained in:
Dmitry Avdeev
2013-01-31 12:42:46 +04:00
parent 7720c64922
commit 4ca96f6b41
2 changed files with 27 additions and 7 deletions
@@ -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;
@@ -43,6 +44,8 @@ import com.intellij.openapi.util.io.StreamUtil;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.newvfs.RefreshQueue;
import com.intellij.packaging.artifacts.Artifact;
import com.intellij.packaging.artifacts.ArtifactManager;
import com.intellij.platform.templates.github.ZipUtil;
import com.intellij.util.NullableFunction;
import com.intellij.util.containers.ContainerUtil;
@@ -99,17 +102,33 @@ 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 {
Artifact[] artifacts = ArtifactManager.getInstance(project).getArtifacts();
ModifiableModuleModel modifiableModuleModel = ModuleManager.getInstance(project).getModifiableModel();
modifiableModuleModel.renameModule(module, module.getProject().getName());
modifiableModuleModel.commit();
artifacts = ArtifactManager.getInstance(project).getArtifacts();
fixModuleName(module);
}
catch (ModuleWithNameAlreadyExists exists) {
// do nothing
}
}
});
}
});
return module;
@@ -204,6 +204,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) {