Make project unignored when new module is created by ignored project
authorSergey Evdokimov <sergey.evdokimov@jetbrains.com>
Tue, 27 Aug 2013 15:59:01 +0000 (19:59 +0400)
committerSergey Evdokimov <sergey.evdokimov@jetbrains.com>
Tue, 27 Aug 2013 15:59:01 +0000 (19:59 +0400)
plugins/maven/src/main/java/org/jetbrains/idea/maven/navigator/MavenProjectsNavigatorPanel.java
plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenProjectsManager.java
plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenProjectsTree.java
plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/AddFileAsMavenProjectAction.java
plugins/maven/src/main/java/org/jetbrains/idea/maven/project/actions/AddManagedFilesAction.java
plugins/maven/src/main/java/org/jetbrains/idea/maven/wizards/MavenFrameworkSupportProvider.java
plugins/maven/src/main/java/org/jetbrains/idea/maven/wizards/MavenModuleBuilderHelper.java
plugins/maven/src/main/java/org/jetbrains/idea/maven/wizards/MavenProjectBuilder.java

index 31380d2c4b014cba4e2d2c5759e3a50602a4f7e4..69cd93efab2acc2c445ef2a6ffdf5cc9c7474d44 100644 (file)
@@ -298,7 +298,7 @@ public class MavenProjectsNavigatorPanel extends SimpleToolWindowPanel implement
           return false;
         }
 
-        manager.addManagedFiles(pomFiles);
+        manager.addManagedFilesOrUnignore(pomFiles);
 
         return true;
       }
index 5564984a835d3622e22c420ddd22b36a239a72ac..678f811b0c345ffa7c7890cf3d0293842e28785e 100644 (file)
@@ -484,6 +484,11 @@ public class MavenProjectsManager extends MavenSimpleProjectComponent
     addManagedFilesWithProfiles(files, Collections.<String>emptyList());
   }
 
+  public void addManagedFilesOrUnignore(@NotNull List<VirtualFile> files) {
+    removeIgnoredFilesPaths(MavenUtil.collectPaths(files));
+    addManagedFiles(files);
+  }
+
   public void removeManagedFiles(@NotNull List<VirtualFile> files) {
     myWatcher.removeManagedFiles(files);
   }
@@ -629,6 +634,11 @@ public class MavenProjectsManager extends MavenSimpleProjectComponent
     myProjectsTree.setIgnoredFilesPaths(paths);
   }
 
+  public void removeIgnoredFilesPaths(final Collection<String> paths) {
+    if (!isInitialized()) return;
+    myProjectsTree.removeIgnoredFilesPaths(paths);
+  }
+
   public boolean getIgnoredState(@NotNull MavenProject project) {
     if (!isInitialized()) return false;
     return myProjectsTree.getIgnoredState(project);
index b8f83461dc108b1f6017461e1a5970afcd6bc0a1..a11d9cb13459b2a2850bd3f8ae20aa3b961d3a0b 100644 (file)
@@ -243,6 +243,14 @@ public class MavenProjectsTree {
     });
   }
 
+  public void removeIgnoredFilesPaths(final Collection<String> paths) {
+    doChangeIgnoreStatus(new Runnable() {
+      public void run() {
+        myIgnoredFilesPaths.removeAll(paths);
+      }
+    });
+  }
+
   public boolean getIgnoredState(MavenProject project) {
     synchronized (myStateLock) {
       return myIgnoredFilesPaths.contains(project.getPath());
index a7d686344e3614e6550d177913a0440fa55372ab..c2980a0bfc15fc1a7b1a6a59b2ef2195b7cfb351 100644 (file)
@@ -31,7 +31,7 @@ public class AddFileAsMavenProjectAction extends MavenAction {
   public void actionPerformed(AnActionEvent e) {
     final DataContext context = e.getDataContext();
     MavenProjectsManager manager = MavenActionUtil.getProjectsManager(context);
-    manager.addManagedFiles(Collections.singletonList(getSelectedFile(context)));
+    manager.addManagedFilesOrUnignore(Collections.singletonList(getSelectedFile(context)));
   }
 
   @Override
index f4b12b8337f4f01bed50307c8c3b394fc578a644..4ebf81b1aaca6f51697aa5dfa864deb66318bead 100644 (file)
@@ -50,6 +50,6 @@ public class AddManagedFilesAction extends MavenAction {
     VirtualFile[] files = FileChooser.chooseFiles(singlePomSelection, project, fileToSelect);
     if (files.length == 0) return;
 
-    manager.addManagedFiles(Arrays.asList(files));
+    manager.addManagedFilesOrUnignore(Arrays.asList(files));
   }
 }
index 01ea1fe3f5de61edd8e91fe8eb4410b32bfd989e..ec8b82c1bb42d5af422401c64ab2d87ebd499bfa 100644 (file)
@@ -66,7 +66,7 @@ public class MavenFrameworkSupportProvider extends FrameworkSupportProvider {
 
         VirtualFile existingPom = root.findChild(MavenConstants.POM_XML);
         if (existingPom != null) {
-          MavenProjectsManager.getInstance(module.getProject()).addManagedFiles(Collections.singletonList(existingPom));
+          MavenProjectsManager.getInstance(module.getProject()).addManagedFilesOrUnignore(Collections.singletonList(existingPom));
         }
         else {
           prepareProjectStructure(model, root);
index f951597aefaf7db79072c9b55e07860bfdf0e88a..7494babcb7b712b030d7a0939221f0677d42b187 100644 (file)
@@ -117,7 +117,7 @@ public class MavenModuleBuilderHelper {
 
     if (myAggregatorProject == null) {
       MavenProjectsManager manager = MavenProjectsManager.getInstance(project);
-      manager.addManagedFiles(Collections.singletonList(pom));
+      manager.addManagedFilesOrUnignore(Collections.singletonList(pom));
     }
 
     if (myArchetype == null) {
index a516632a38ca013845dd2837fc12e3ca9db8df8b..53a486fb47ba836dd1768c260355cf3a1c989185 100644 (file)
@@ -126,6 +126,9 @@ public class MavenProjectBuilder extends ProjectImportBuilder<MavenProject> {
     }
 
     MavenProjectsManager manager = MavenProjectsManager.getInstance(project);
+
+    manager.setIgnoredState(getParameters().mySelectedProjects, false);
+
     manager.addManagedFilesWithProfiles(MavenUtil.collectFiles(getParameters().mySelectedProjects), selectedProfiles);
     manager.waitForReadingCompletion();