mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
vcs: cleanup: lambdify, simplify
This commit is contained in:
+25
-32
@@ -23,7 +23,7 @@ import com.intellij.openapi.roots.FileIndexFacade;
|
||||
import com.intellij.openapi.vcs.AbstractVcs;
|
||||
import com.intellij.openapi.vcs.VcsDirectoryMapping;
|
||||
import com.intellij.openapi.vcs.impl.DefaultVcsRootPolicy;
|
||||
import com.intellij.openapi.vfs.VfsUtil;
|
||||
import com.intellij.openapi.vfs.VfsUtilCore;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@@ -53,26 +53,22 @@ public class MappingsToRoots {
|
||||
if (! vcs.allowsNestedRoots()) {
|
||||
final FileIndexFacade facade = PeriodicalTasksCloser.getInstance().safeGetService(myProject, FileIndexFacade.class);
|
||||
final List<VirtualFile> finalResult = result;
|
||||
ApplicationManager.getApplication().runReadAction(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
int i=1;
|
||||
while(i < finalResult.size()) {
|
||||
final VirtualFile previous = finalResult.get(i - 1);
|
||||
final VirtualFile current = finalResult.get(i);
|
||||
if (facade.isValidAncestor(previous, current)) {
|
||||
// if (FileIndexFacade.getInstance(myProject).isValidAncestor(previous, current) && vcs.isVersionedDirectory(previous)) {
|
||||
finalResult.remove(i);
|
||||
}
|
||||
else {
|
||||
i++;
|
||||
}
|
||||
ApplicationManager.getApplication().runReadAction(() -> {
|
||||
int i=1;
|
||||
while(i < finalResult.size()) {
|
||||
final VirtualFile previous = finalResult.get(i - 1);
|
||||
final VirtualFile current = finalResult.get(i);
|
||||
if (facade.isValidAncestor(previous, current)) {
|
||||
finalResult.remove(i);
|
||||
}
|
||||
else {
|
||||
i++;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
result.removeIf(file -> !file.isDirectory());
|
||||
return VfsUtil.toVirtualFileArray(result);
|
||||
return VfsUtilCore.toVirtualFileArray(result);
|
||||
}
|
||||
|
||||
// not only set mappings, but include all modules inside: modules might have different settings
|
||||
@@ -93,24 +89,21 @@ public class MappingsToRoots {
|
||||
Collections.sort(result, FilePathComparator.getInstance());
|
||||
if (addInnerModules) {
|
||||
final FileIndexFacade facade = PeriodicalTasksCloser.getInstance().safeGetService(myProject, FileIndexFacade.class);
|
||||
final DefaultVcsRootPolicy defaultVcsRootPolicy = DefaultVcsRootPolicy.getInstance(myProject);
|
||||
final List<VirtualFile> modules = defaultVcsRootPolicy.getDefaultVcsRoots(myMappings, vcsName);
|
||||
ApplicationManager.getApplication().runReadAction(new Runnable() {
|
||||
public void run() {
|
||||
final Iterator<VirtualFile> iterator = modules.iterator();
|
||||
while (iterator.hasNext()) {
|
||||
final VirtualFile module = iterator.next();
|
||||
boolean included = false;
|
||||
for (VirtualFile root : result) {
|
||||
if (facade.isValidAncestor(root, module)) {
|
||||
included = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (! included) {
|
||||
iterator.remove();
|
||||
final List<VirtualFile> modules = DefaultVcsRootPolicy.getInstance(myProject).getDefaultVcsRoots(myMappings, vcsName);
|
||||
ApplicationManager.getApplication().runReadAction(() -> {
|
||||
Iterator<VirtualFile> iterator = modules.iterator();
|
||||
while (iterator.hasNext()) {
|
||||
final VirtualFile module = iterator.next();
|
||||
boolean included = false;
|
||||
for (VirtualFile root : result) {
|
||||
if (facade.isValidAncestor(root, module)) {
|
||||
included = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (! included) {
|
||||
iterator.remove();
|
||||
}
|
||||
}
|
||||
});
|
||||
result.addAll(modules);
|
||||
|
||||
+1
-1
@@ -43,7 +43,7 @@ import java.util.*;
|
||||
|
||||
public class NewMappings {
|
||||
|
||||
public static Comparator<VcsDirectoryMapping> MAPPINGS_COMPARATOR = Comparator.comparing(VcsDirectoryMapping::getDirectory);
|
||||
public static final Comparator<VcsDirectoryMapping> MAPPINGS_COMPARATOR = Comparator.comparing(VcsDirectoryMapping::getDirectory);
|
||||
|
||||
private final static Logger LOG = Logger.getInstance("#com.intellij.openapi.vcs.impl.projectlevelman.NewMappings");
|
||||
private final Object myLock;
|
||||
|
||||
Reference in New Issue
Block a user