mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-91781 Move maven profile setting to workspace.xml from misc.xml
This commit is contained in:
+9
-4
@@ -88,6 +88,8 @@ public class MavenProjectsManager extends MavenSimpleProjectComponent
|
||||
private final List<Listener> myManagerListeners = ContainerUtil.createEmptyCOWList();
|
||||
private ModificationTracker myModificationTracker;
|
||||
|
||||
private MavenWorkspaceSettings myWorkspaceSettings;
|
||||
|
||||
public static MavenProjectsManager getInstance(Project p) {
|
||||
return p.getComponent(MavenProjectsManager.class);
|
||||
}
|
||||
@@ -126,7 +128,11 @@ public class MavenProjectsManager extends MavenSimpleProjectComponent
|
||||
}
|
||||
|
||||
private MavenWorkspaceSettings getWorkspaceSettings() {
|
||||
return MavenWorkspaceSettingsComponent.getInstance(myProject).getState();
|
||||
if (myWorkspaceSettings == null) {
|
||||
myWorkspaceSettings = MavenWorkspaceSettingsComponent.getInstance(myProject).getSettings();
|
||||
}
|
||||
|
||||
return myWorkspaceSettings;
|
||||
}
|
||||
|
||||
public File getLocalRepository() {
|
||||
@@ -152,7 +158,7 @@ public class MavenProjectsManager extends MavenSimpleProjectComponent
|
||||
|
||||
private void initNew(List<VirtualFile> files, List<String> explicitProfiles) {
|
||||
myState.originalFiles = MavenUtil.collectPaths(files);
|
||||
myState.activeProfiles = explicitProfiles;
|
||||
getWorkspaceSettings().setEnabledProfiles(explicitProfiles);
|
||||
doInit(true);
|
||||
}
|
||||
|
||||
@@ -207,13 +213,12 @@ public class MavenProjectsManager extends MavenSimpleProjectComponent
|
||||
|
||||
private void applyTreeToState() {
|
||||
myState.originalFiles = myProjectsTree.getManagedFilesPaths();
|
||||
myState.activeProfiles = new ArrayList<String>(myProjectsTree.getExplicitProfiles());
|
||||
myState.ignoredFiles = new THashSet<String>(myProjectsTree.getIgnoredFilesPaths());
|
||||
myState.ignoredPathMasks = myProjectsTree.getIgnoredFilesPatterns();
|
||||
}
|
||||
|
||||
private void applyStateToTree() {
|
||||
myProjectsTree.resetManagedFilesPathsAndProfiles(myState.originalFiles, myState.activeProfiles);
|
||||
myProjectsTree.resetManagedFilesPathsAndProfiles(myState.originalFiles, getWorkspaceSettings().enabledProfiles);
|
||||
myProjectsTree.setIgnoredFilesPaths(new ArrayList<String>(myState.ignoredFiles));
|
||||
myProjectsTree.setIgnoredFilesPatterns(myState.ignoredPathMasks);
|
||||
}
|
||||
|
||||
-1
@@ -29,7 +29,6 @@ import java.util.TreeSet;
|
||||
|
||||
public class MavenProjectsManagerState {
|
||||
public List<String> originalFiles = new ArrayList<String>();
|
||||
public List<String> activeProfiles = new ArrayList<String>();
|
||||
|
||||
public Set<String> ignoredFiles = new TreeSet<String>();
|
||||
public List<String> ignoredPathMasks = new ArrayList<String>();
|
||||
|
||||
+12
@@ -15,7 +15,19 @@
|
||||
*/
|
||||
package org.jetbrains.idea.maven.project;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
public class MavenWorkspaceSettings {
|
||||
public MavenGeneralSettings generalSettings = new MavenGeneralSettings();
|
||||
public MavenImportingSettings importingSettings = new MavenImportingSettings();
|
||||
|
||||
public List<String> enabledProfiles = new ArrayList<String>();
|
||||
|
||||
public void setEnabledProfiles(Collection<String> profiles) {
|
||||
enabledProfiles.clear();
|
||||
enabledProfiles.addAll(profiles);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+13
@@ -18,20 +18,33 @@ package org.jetbrains.idea.maven.project;
|
||||
import com.intellij.openapi.components.*;
|
||||
import com.intellij.openapi.components.StoragePathMacros;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@State(name = "MavenImportPreferences", storages = {@Storage( file = StoragePathMacros.WORKSPACE_FILE)})
|
||||
public class MavenWorkspaceSettingsComponent implements PersistentStateComponent<MavenWorkspaceSettings> {
|
||||
private MavenWorkspaceSettings mySettings = new MavenWorkspaceSettings();
|
||||
|
||||
private final Project myProject;
|
||||
|
||||
public MavenWorkspaceSettingsComponent(Project project) {
|
||||
myProject = project;
|
||||
}
|
||||
|
||||
public static MavenWorkspaceSettingsComponent getInstance(Project project) {
|
||||
return ServiceManager.getService(project, MavenWorkspaceSettingsComponent.class);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public MavenWorkspaceSettings getState() {
|
||||
mySettings.setEnabledProfiles(MavenProjectsManager.getInstance(myProject).getExplicitProfiles());
|
||||
return mySettings;
|
||||
}
|
||||
|
||||
public void loadState(MavenWorkspaceSettings state) {
|
||||
mySettings = state;
|
||||
}
|
||||
|
||||
public MavenWorkspaceSettings getSettings() {
|
||||
return mySettings;
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -95,7 +95,7 @@ public class MavenProjectBuilder extends ProjectImportBuilder<MavenProject> {
|
||||
ModifiableModuleModel model,
|
||||
ModulesProvider modulesProvider,
|
||||
ModifiableArtifactModel artifactModel) {
|
||||
MavenWorkspaceSettings settings = MavenWorkspaceSettingsComponent.getInstance(project).getState();
|
||||
MavenWorkspaceSettings settings = MavenWorkspaceSettingsComponent.getInstance(project).getSettings();
|
||||
|
||||
settings.generalSettings = getGeneralSettings();
|
||||
settings.importingSettings = getImportingSettings();
|
||||
@@ -252,7 +252,7 @@ public class MavenProjectBuilder extends ProjectImportBuilder<MavenProject> {
|
||||
Project project = isUpdate() ? getProjectToUpdate() : null;
|
||||
if (project == null || project.isDisposed()) project = ProjectManager.getInstance().getDefaultProject();
|
||||
|
||||
return MavenWorkspaceSettingsComponent.getInstance(project).getState();
|
||||
return MavenWorkspaceSettingsComponent.getInstance(project).getSettings();
|
||||
}
|
||||
|
||||
public void setFiles(List<VirtualFile> files) {
|
||||
|
||||
+3
-3
@@ -661,7 +661,7 @@ public class MavenProjectsManagerTest extends MavenImportingTestCase {
|
||||
public void testSavingAndLoadingState() throws Exception {
|
||||
MavenProjectsManagerState state = myProjectsManager.getState();
|
||||
assertTrue(state.originalFiles.isEmpty());
|
||||
assertTrue(state.activeProfiles.isEmpty());
|
||||
assertTrue(MavenWorkspaceSettingsComponent.getInstance(myProject).getSettings().enabledProfiles.isEmpty());
|
||||
assertTrue(state.ignoredFiles.isEmpty());
|
||||
assertTrue(state.ignoredPathMasks.isEmpty());
|
||||
|
||||
@@ -692,14 +692,14 @@ public class MavenProjectsManagerTest extends MavenImportingTestCase {
|
||||
|
||||
state = myProjectsManager.getState();
|
||||
assertUnorderedElementsAreEqual(state.originalFiles, p1.getPath(), p2.getPath());
|
||||
assertUnorderedElementsAreEqual(state.activeProfiles, "one", "two");
|
||||
assertUnorderedElementsAreEqual(MavenWorkspaceSettingsComponent.getInstance(myProject).getState().enabledProfiles, "one", "two");
|
||||
assertUnorderedElementsAreEqual(state.ignoredFiles, p1.getPath());
|
||||
assertUnorderedElementsAreEqual(state.ignoredPathMasks, "*.xxx");
|
||||
|
||||
MavenProjectsManagerState newState = new MavenProjectsManagerState();
|
||||
|
||||
newState.originalFiles = Arrays.asList(p1.getPath(), p3.getPath());
|
||||
newState.activeProfiles = Arrays.asList("three");
|
||||
MavenWorkspaceSettingsComponent.getInstance(myProject).getSettings().setEnabledProfiles(Arrays.asList("three"));
|
||||
newState.ignoredFiles = Collections.singleton(p1.getPath());
|
||||
newState.ignoredPathMasks = Arrays.asList("*.zzz");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user