[log] Flush the Hash->Int persistent map more often

After loading data from the VCS.
This commit is contained in:
Kirill Likhodedov
2013-12-25 14:23:54 +04:00
parent 76acb3eebb
commit c395dcfcb1
2 changed files with 10 additions and 2 deletions
@@ -298,12 +298,14 @@ public class VcsLogDataHolder implements Disposable {
}
private List<CompactCommit> compactHashes(List<TimedVcsCommit> commits) {
return ContainerUtil.map(commits, new Function<TimedVcsCommit, CompactCommit>() {
List<CompactCommit> compactedHashes = ContainerUtil.map(commits, new Function<TimedVcsCommit, CompactCommit>() {
@Override
public CompactCommit fun(final TimedVcsCommit commit) {
return commit instanceof CompactCommit ? (CompactCommit)commit : new CompactCommit(commit);
}
});
myHashMap.flush();
return compactedHashes;
}
/**
@@ -600,12 +602,14 @@ public class VcsLogDataHolder implements Disposable {
}
private List<TimedVcsCommit> getCommitsFromDetails(List<? extends VcsFullCommitDetails> firstBlockDetails) {
return ContainerUtil.map(firstBlockDetails, new Function<VcsFullCommitDetails, TimedVcsCommit>() {
List<TimedVcsCommit> commits = ContainerUtil.map(firstBlockDetails, new Function<VcsFullCommitDetails, TimedVcsCommit>() {
@Override
public TimedVcsCommit fun(VcsFullCommitDetails details) {
return new CompactCommit(details.getHash(), details.getParents(), details.getTime());
}
});
myHashMap.flush();
return commits;
}
private void runInBackground(final ThrowableConsumer<ProgressIndicator, VcsException> task, final String title) {
@@ -63,6 +63,10 @@ class VcsLogHashMap implements Disposable {
return myPersistentEnumerator.enumerate(hash);
}
void flush() {
myPersistentEnumerator.force();
}
@Override
public void dispose() {
try {