package jetbrains.mps.ide.vcs;
/*Generated by MPS */
import com.intellij.openapi.vcs.impl.BasicDefaultVcsRootPolicy;
import com.intellij.openapi.project.Project;
import org.jetbrains.annotations.NotNull;
import java.util.Collection;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vcs.ProjectLevelVcsManager;
import jetbrains.mps.internal.collections.runtime.Sequence;
import jetbrains.mps.internal.collections.runtime.ISelector;
import com.intellij.openapi.vcs.VcsRoot;
import com.intellij.platform.ProjectBaseDirectory;
public class ExtendedDefaultVcsRootPolicy extends BasicDefaultVcsRootPolicy {
private Project myProject;
public ExtendedDefaultVcsRootPolicy(Project project) {
super(project);
myProject = project;
}
@NotNull
@Override
public Collection<VirtualFile> getDirtyRoots() {
// TODO is it needed?
ProjectLevelVcsManager manager = ProjectLevelVcsManager.getInstance(myProject);
return Sequence.fromIterable(Sequence.fromArray(manager.getAllVcsRoots())).select(new ISelector<VcsRoot, VirtualFile>() {
public VirtualFile select(VcsRoot it) {
return it.getPath();
}
}).toListSequence();
}
@Override
public boolean matchesDefaultMapping(VirtualFile file, Object matchContext) {
if (ProjectBaseDirectory.getInstance(myProject).getBaseDir() == null) {
// TODO is it needed?
return false;
}
return super.matchesDefaultMapping(file, matchContext);
}
}