mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Maven: fixes for importing from the Project Structure
This commit is contained in:
+14
-11
@@ -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) {
|
||||
|
||||
+11
-8
@@ -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() {
|
||||
|
||||
@@ -922,8 +922,6 @@ public class MavenProjectsManager extends SimpleProjectComponent implements Pers
|
||||
}
|
||||
fireScheduledImportsChanged();
|
||||
|
||||
long before = System.currentTimeMillis();
|
||||
|
||||
final Ref<MavenProjectImporter> importer = new Ref<MavenProjectImporter>();
|
||||
final Ref<List<MavenProjectsProcessorTask>> postTasks = new Ref<List<MavenProjectsProcessorTask>>();
|
||||
|
||||
@@ -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());
|
||||
|
||||
+2
-1
@@ -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<MavenProject> {
|
||||
|
||||
boolean isFromUI = model != null;
|
||||
return manager.importProjects(isFromUI
|
||||
? new MavenUIModifiableModelsProvider(project, model, modulesProvider, artifactModel)
|
||||
? new MavenUIModifiableModelsProvider(project, model, (ModulesConfigurator)modulesProvider, artifactModel)
|
||||
: new MavenDefaultModifiableModelsProvider(project));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user