[vcs-log] toString for filters and log filtering time

This commit is contained in:
Julia Beliaeva
2016-09-25 23:58:15 +03:00
parent 3d0df7f13c
commit 5dfa0fc3cf
8 changed files with 50 additions and 0 deletions
@@ -32,4 +32,9 @@ public class VcsLogRootFilterImpl implements VcsLogRootFilter {
public Collection<VirtualFile> getRoots() {
return myRoots;
}
@Override
public String toString() {
return "roots:" + myRoots;
}
}
@@ -57,4 +57,10 @@ public class VcsLogDateFilterImpl implements VcsLogDateFilter, VcsLogDetailsFilt
public Date getBefore() {
return myBefore;
}
@Override
public String toString() {
return (myAfter != null ? "after " + myAfter + (myBefore != null ? " " : "") : "") +
(myBefore != null ? "before " + myBefore : "");
}
}
@@ -77,4 +77,9 @@ public class VcsLogStructureFilterImpl implements VcsLogDetailsFilter, VcsLogStr
}
}) != null;
}
@Override
public String toString() {
return "files:" + myFiles;
}
}
@@ -32,6 +32,7 @@ import com.intellij.vcs.log.graph.VisibleGraph;
import com.intellij.vcs.log.impl.VcsLogFilterCollectionImpl;
import com.intellij.vcs.log.impl.VcsLogHashFilterImpl;
import com.intellij.vcs.log.impl.VcsLogUtil;
import com.intellij.vcs.log.util.StopWatch;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -64,6 +65,8 @@ class VisiblePackBuilder {
@NotNull PermanentGraph.SortType sortType,
@NotNull VcsLogFilterCollection filters,
@NotNull CommitCountStage commitCount) {
long start = System.currentTimeMillis();
VcsLogHashFilter hashFilter = filters.getHashFilter();
if (hashFilter != null && !hashFilter.getHashes().isEmpty()) { // hashes should be shown, no matter if they match other filters or not
return Pair.create(applyHashFilter(dataPack, hashFilter.getHashes(), sortType), commitCount);
@@ -81,6 +84,9 @@ class VisiblePackBuilder {
else {
visibleGraph = dataPack.getPermanentGraph().createVisibleGraph(sortType, matchingHeads, filterResult.matchingCommits);
}
LOG.debug(StopWatch.formatTime(System.currentTimeMillis() - start) + " for filtering by " + filters);
return Pair.create(new VisiblePack(dataPack, visibleGraph, filterResult.canRequestMore, filters), filterResult.commitCount);
}
@@ -103,4 +103,16 @@ public class VcsLogFilterCollectionImpl implements VcsLogFilterCollection {
public List<VcsLogDetailsFilter> getDetailsFilters() {
return ContainerUtil.skipNulls(Arrays.asList(myUserFilter, myDateFilter, myTextFilter, myStructureFilter));
}
@Override
public String toString() {
return "filters: (" +
(myBranchFilter != null ? myBranchFilter + ", " : "") +
(myUserFilter != null ? myUserFilter + ", " : "") +
(myHashFilter != null ? myHashFilter + ", " : "") +
(myDateFilter != null ? myDateFilter + ", " : "") +
(myTextFilter != null ? myTextFilter + ", " : "") +
(myStructureFilter != null ? myStructureFilter + ", " : "") +
(myRootFilter != null ? myRootFilter : "") + ")";
}
}
@@ -33,4 +33,9 @@ public class VcsLogHashFilterImpl implements VcsLogHashFilter {
public Collection<String> getHashes() {
return myHashes;
}
@Override
public String toString() {
return "hashes:" + myHashes;
}
}
@@ -38,4 +38,9 @@ public class VcsLogTextFilterImpl implements VcsLogDetailsFilter, VcsLogTextFilt
public String getText() {
return myText;
}
@Override
public String toString() {
return "containing " + myText;
}
}
@@ -1,6 +1,7 @@
package com.intellij.vcs.log.ui.filter;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.util.containers.ContainerUtil;
import com.intellij.util.containers.MultiMap;
@@ -120,4 +121,9 @@ public class VcsLogUserFilterImpl implements VcsLogUserFilter {
return result;
}
@Override
public String toString() {
return "author: " + StringUtil.join(myUsers, ", ");
}
}