mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[vcs-log] rename VcsLogDataManager -> VcsLogData
This commit is contained in:
@@ -43,7 +43,7 @@ public class ContainingBranchesGetter {
|
||||
private static final Logger LOG = Logger.getInstance(ContainingBranchesGetter.class);
|
||||
|
||||
@NotNull private final SequentialLimitedLifoExecutor<Task> myTaskExecutor;
|
||||
@NotNull private final VcsLogDataManager myDataManager;
|
||||
@NotNull private final VcsLogData myLogData;
|
||||
|
||||
// other fields accessed only from EDT
|
||||
@NotNull private final List<Runnable> myLoadingFinishedListeners = ContainerUtil.newArrayList();
|
||||
@@ -51,12 +51,12 @@ public class ContainingBranchesGetter {
|
||||
@NotNull private Map<VirtualFile, ContainedInBranchCondition> myConditions = ContainerUtil.newHashMap();
|
||||
private int myCurrentBranchesChecksum;
|
||||
|
||||
ContainingBranchesGetter(@NotNull VcsLogDataManager dataManager, @NotNull Disposable parentDisposable) {
|
||||
myDataManager = dataManager;
|
||||
ContainingBranchesGetter(@NotNull VcsLogData logData, @NotNull Disposable parentDisposable) {
|
||||
myLogData = logData;
|
||||
myTaskExecutor = new SequentialLimitedLifoExecutor<Task>(parentDisposable, 10, new ThrowableConsumer<Task, Throwable>() {
|
||||
@Override
|
||||
public void consume(final Task task) throws Throwable {
|
||||
final List<String> branches = task.getContainingBranches(myDataManager);
|
||||
final List<String> branches = task.getContainingBranches(myLogData);
|
||||
ApplicationManager.getApplication().invokeLater(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
@@ -68,7 +68,7 @@ public class ContainingBranchesGetter {
|
||||
});
|
||||
}
|
||||
});
|
||||
myDataManager.addDataPackChangeListener(new DataPackChangeListener() {
|
||||
myLogData.addDataPackChangeListener(new DataPackChangeListener() {
|
||||
@Override
|
||||
public void onDataPackChange(@NotNull DataPack dataPack) {
|
||||
Collection<VcsRef> currentBranches = dataPack.getRefsModel().getBranches();
|
||||
@@ -127,7 +127,7 @@ public class ContainingBranchesGetter {
|
||||
LOG.assertTrue(EventQueue.isDispatchThread());
|
||||
List<String> refs = myCache.get(new CommitId(hash, root));
|
||||
if (refs == null) {
|
||||
DataPack dataPack = myDataManager.getDataPack();
|
||||
DataPack dataPack = myLogData.getDataPack();
|
||||
myTaskExecutor.queue(new Task(root, hash, myCache, dataPack.getPermanentGraph(), dataPack.getRefsModel()));
|
||||
}
|
||||
return refs;
|
||||
@@ -142,7 +142,7 @@ public class ContainingBranchesGetter {
|
||||
public Condition<CommitId> getContainedInBranchCondition(@NotNull final String branchName, @NotNull final VirtualFile root) {
|
||||
LOG.assertTrue(EventQueue.isDispatchThread());
|
||||
|
||||
DataPack dataPack = myDataManager.getDataPack();
|
||||
DataPack dataPack = myLogData.getDataPack();
|
||||
if (dataPack == DataPack.EMPTY) return Conditions.alwaysFalse();
|
||||
|
||||
PermanentGraph<Integer> graph = dataPack.getPermanentGraph();
|
||||
@@ -158,7 +158,7 @@ public class ContainingBranchesGetter {
|
||||
ContainedInBranchCondition condition = myConditions.get(root);
|
||||
if (condition == null || !condition.getBranch().equals(branchName)) {
|
||||
condition = new ContainedInBranchCondition(graph.getContainedInBranchCondition(
|
||||
Collections.singleton(myDataManager.getCommitIndex(branchRef.getCommitHash(), branchRef.getRoot()))), branchName);
|
||||
Collections.singleton(myLogData.getCommitIndex(branchRef.getCommitHash(), branchRef.getRoot()))), branchName);
|
||||
myConditions.put(root, condition);
|
||||
}
|
||||
return condition;
|
||||
@@ -189,11 +189,11 @@ public class ContainingBranchesGetter {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public List<String> getContainingBranches(VcsLogDataManager dataManager) {
|
||||
public List<String> getContainingBranches(VcsLogData logData) {
|
||||
try {
|
||||
VcsLogProvider provider = dataManager.getLogProvider(root);
|
||||
VcsLogProvider provider = logData.getLogProvider(root);
|
||||
if (graph != null && refs != null && VcsLogProperties.get(provider, VcsLogProperties.LIGHTWEIGHT_BRANCHES)) {
|
||||
Set<Integer> branchesIndexes = graph.getContainingBranches(dataManager.getCommitIndex(hash, root));
|
||||
Set<Integer> branchesIndexes = graph.getContainingBranches(logData.getCommitIndex(hash, root));
|
||||
|
||||
Collection<VcsRef> branchesRefs = new HashSet<VcsRef>();
|
||||
for (Integer index : branchesIndexes) {
|
||||
@@ -238,7 +238,7 @@ public class ContainingBranchesGetter {
|
||||
@Override
|
||||
public boolean value(CommitId commitId) {
|
||||
if (isDisposed) return false;
|
||||
return myCondition.value(myDataManager.getCommitIndex(commitId.getHash(), commitId.getRoot()));
|
||||
return myCondition.value(myLogData.getCommitIndex(commitId.getHash(), commitId.getRoot()));
|
||||
}
|
||||
|
||||
public void dispose() {
|
||||
|
||||
+3
-3
@@ -41,8 +41,8 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
public class VcsLogDataManager implements Disposable, VcsLogDataProvider {
|
||||
private static final Logger LOG = Logger.getInstance(VcsLogDataManager.class);
|
||||
public class VcsLogData implements Disposable, VcsLogDataProvider {
|
||||
private static final Logger LOG = Logger.getInstance(VcsLogData.class);
|
||||
private static final int RECENT_COMMITS_COUNT = Registry.intValue("vcs.log.recent.commits.count");
|
||||
|
||||
@NotNull private final Project myProject;
|
||||
@@ -72,7 +72,7 @@ public class VcsLogDataManager implements Disposable, VcsLogDataProvider {
|
||||
|
||||
@NotNull private final Consumer<Exception> myFatalErrorsConsumer;
|
||||
|
||||
public VcsLogDataManager(@NotNull Project project, @NotNull Map<VirtualFile, VcsLogProvider> logProviders, @NotNull Consumer<Exception> fatalErrorsConsumer) {
|
||||
public VcsLogData(@NotNull Project project, @NotNull Map<VirtualFile, VcsLogProvider> logProviders, @NotNull Consumer<Exception> fatalErrorsConsumer) {
|
||||
myProject = project;
|
||||
myLogProviders = logProviders;
|
||||
myDataLoaderQueue = new BackgroundTaskQueue(project, "Loading history...");
|
||||
@@ -40,7 +40,7 @@ public class VcsLogFiltererImpl implements VcsLogFilterer {
|
||||
|
||||
@NotNull private final SingleTaskController<Request, VisiblePack> myTaskController;
|
||||
@NotNull private final VisiblePackBuilder myVisiblePackBuilder;
|
||||
@NotNull private final VcsLogDataManager myDataManager;
|
||||
@NotNull private final VcsLogData myLogData;
|
||||
|
||||
@NotNull private VcsLogFilterCollection myFilters;
|
||||
@NotNull private PermanentGraph.SortType mySortType;
|
||||
@@ -51,10 +51,10 @@ public class VcsLogFiltererImpl implements VcsLogFilterer {
|
||||
private volatile boolean myIsValid = true;
|
||||
|
||||
public VcsLogFiltererImpl(@NotNull final Project project,
|
||||
@NotNull VcsLogDataManager dataManager,
|
||||
@NotNull VcsLogData logData,
|
||||
@NotNull PermanentGraph.SortType initialSortType) {
|
||||
myDataManager = dataManager;
|
||||
myVisiblePackBuilder = myDataManager.createVisiblePackBuilder();
|
||||
myLogData = logData;
|
||||
myVisiblePackBuilder = myLogData.createVisiblePackBuilder();
|
||||
myFilters = new VcsLogFilterCollectionImpl(null, null, null, null, null, null, null);
|
||||
mySortType = initialSortType;
|
||||
|
||||
@@ -198,7 +198,7 @@ public class VcsLogFiltererImpl implements VcsLogFilterer {
|
||||
if (filterRequest != null) {
|
||||
frozenVisiblePack = refresh(visiblePack, filterRequest, moreCommitsRequests);
|
||||
}
|
||||
return new FakeVisiblePackBuilder(myDataManager.getHashMap()).build(frozenVisiblePack);
|
||||
return new FakeVisiblePackBuilder(myLogData.getHashMap()).build(frozenVisiblePack);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -206,7 +206,7 @@ public class VcsLogFiltererImpl implements VcsLogFilterer {
|
||||
private VisiblePack refresh(@Nullable VisiblePack visiblePack,
|
||||
@Nullable FilterRequest filterRequest,
|
||||
@NotNull List<MoreCommitsRequest> moreCommitsRequests) {
|
||||
DataPack dataPack = myDataManager.getDataPack();
|
||||
DataPack dataPack = myLogData.getDataPack();
|
||||
|
||||
if (dataPack == DataPack.EMPTY) { // when filter is set during initialization, just remember filters
|
||||
return visiblePack;
|
||||
|
||||
@@ -24,7 +24,7 @@ import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.vcs.log.VcsLogRefresher;
|
||||
import com.intellij.vcs.log.data.DataPack;
|
||||
import com.intellij.vcs.log.data.DataPackChangeListener;
|
||||
import com.intellij.vcs.log.data.VcsLogDataManager;
|
||||
import com.intellij.vcs.log.data.VcsLogData;
|
||||
import com.intellij.vcs.log.data.VcsLogFilterer;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@@ -33,13 +33,13 @@ import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
public class PostponableLogRefresher implements VcsLogRefresher {
|
||||
@NotNull protected final VcsLogDataManager myDataManager;
|
||||
@NotNull protected final VcsLogData myLogData;
|
||||
@NotNull private final Set<VirtualFile> myRootsToRefresh = ContainerUtil.newHashSet();
|
||||
@NotNull private final Set<VcsLogWindow> myLogWindows = ContainerUtil.newHashSet();
|
||||
|
||||
public PostponableLogRefresher(@NotNull VcsLogDataManager dataManager) {
|
||||
myDataManager = dataManager;
|
||||
myDataManager.addDataPackChangeListener(new DataPackChangeListener() {
|
||||
public PostponableLogRefresher(@NotNull VcsLogData logData) {
|
||||
myLogData = logData;
|
||||
myLogData.addDataPackChangeListener(new DataPackChangeListener() {
|
||||
@Override
|
||||
public void onDataPackChange(@NotNull DataPack dataPack) {
|
||||
for (VcsLogWindow window : myLogWindows) {
|
||||
@@ -107,7 +107,7 @@ public class PostponableLogRefresher implements VcsLogRefresher {
|
||||
@Override
|
||||
public void run() {
|
||||
if (canRefreshNow()) {
|
||||
myDataManager.refresh(Collections.singleton(root));
|
||||
myLogData.refresh(Collections.singleton(root));
|
||||
}
|
||||
else {
|
||||
myRootsToRefresh.add(root);
|
||||
@@ -119,7 +119,7 @@ public class PostponableLogRefresher implements VcsLogRefresher {
|
||||
protected void refreshPostponedRoots() {
|
||||
Set<VirtualFile> toRefresh = new HashSet<VirtualFile>(myRootsToRefresh);
|
||||
myRootsToRefresh.removeAll(toRefresh); // clear the set, but keep roots which could possibly arrive after collecting them in the var.
|
||||
myDataManager.refresh(toRefresh);
|
||||
myLogData.refresh(toRefresh);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
@@ -22,7 +22,7 @@ import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.util.Consumer;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.vcs.log.*;
|
||||
import com.intellij.vcs.log.data.VcsLogDataManager;
|
||||
import com.intellij.vcs.log.data.VcsLogData;
|
||||
import com.intellij.vcs.log.ui.VcsLogUiImpl;
|
||||
import com.intellij.vcs.log.ui.frame.VcsLogGraphTable;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -35,11 +35,11 @@ import java.util.List;
|
||||
import java.util.concurrent.Future;
|
||||
|
||||
public class VcsLogImpl implements VcsLog {
|
||||
@NotNull private final VcsLogDataManager myDataManager;
|
||||
@NotNull private final VcsLogData myLogData;
|
||||
@NotNull private final VcsLogUiImpl myUi;
|
||||
|
||||
public VcsLogImpl(@NotNull VcsLogDataManager manager, @NotNull VcsLogUiImpl ui) {
|
||||
myDataManager = manager;
|
||||
public VcsLogImpl(@NotNull VcsLogData manager, @NotNull VcsLogUiImpl ui) {
|
||||
myLogData = manager;
|
||||
myUi = ui;
|
||||
}
|
||||
|
||||
@@ -86,14 +86,14 @@ public class VcsLogImpl implements VcsLog {
|
||||
@Override
|
||||
public void requestSelectedDetails(@NotNull Consumer<List<VcsFullCommitDetails>> consumer, @Nullable ProgressIndicator indicator) {
|
||||
List<Integer> rowsList = Ints.asList(myUi.getTable().getSelectedRows());
|
||||
myDataManager.getCommitDetailsGetter()
|
||||
myLogData.getCommitDetailsGetter()
|
||||
.loadCommitsData(getTable().getModel().convertToHashesAndRoots(rowsList), consumer, indicator);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public Collection<String> getContainingBranches(@NotNull Hash commitHash, @NotNull VirtualFile root) {
|
||||
return myDataManager.getContainingBranchesGetter().getContainingBranchesFromCache(root, commitHash);
|
||||
return myLogData.getContainingBranchesGetter().getContainingBranchesFromCache(root, commitHash);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -124,6 +124,6 @@ public class VcsLogImpl implements VcsLog {
|
||||
@NotNull
|
||||
@Override
|
||||
public Collection<VcsLogProvider> getLogProviders() {
|
||||
return myDataManager.getLogProviders();
|
||||
return myLogData.getLogProviders();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.util.containers.MultiMap;
|
||||
import com.intellij.vcs.log.VcsLogProvider;
|
||||
import com.intellij.vcs.log.VcsLogRefresher;
|
||||
import com.intellij.vcs.log.data.VcsLogDataManager;
|
||||
import com.intellij.vcs.log.data.VcsLogData;
|
||||
import com.intellij.vcs.log.data.VcsLogFiltererImpl;
|
||||
import com.intellij.vcs.log.data.VcsLogTabsProperties;
|
||||
import com.intellij.vcs.log.data.VcsLogUiProperties;
|
||||
@@ -57,7 +57,7 @@ public class VcsLogManager implements Disposable {
|
||||
@NotNull private final VcsLogTabsProperties myUiProperties;
|
||||
@Nullable private final Runnable myRecreateMainLogHandler;
|
||||
|
||||
@NotNull private final VcsLogDataManager myDataManager;
|
||||
@NotNull private final VcsLogData myLogData;
|
||||
@NotNull private final VcsLogColorManagerImpl myColorManager;
|
||||
@NotNull private final VcsLogTabsWatcher myTabsLogRefresher;
|
||||
@NotNull private final PostponableLogRefresher myPostponableRefresher;
|
||||
@@ -77,11 +77,11 @@ public class VcsLogManager implements Disposable {
|
||||
myRecreateMainLogHandler = recreateHandler;
|
||||
|
||||
Map<VirtualFile, VcsLogProvider> logProviders = findLogProviders(roots, myProject);
|
||||
myDataManager = new VcsLogDataManager(myProject, logProviders, new MyFatalErrorsConsumer());
|
||||
myPostponableRefresher = new PostponableLogRefresher(myDataManager);
|
||||
myTabsLogRefresher = new VcsLogTabsWatcher(myProject, myPostponableRefresher, myDataManager);
|
||||
myLogData = new VcsLogData(myProject, logProviders, new MyFatalErrorsConsumer());
|
||||
myPostponableRefresher = new PostponableLogRefresher(myLogData);
|
||||
myTabsLogRefresher = new VcsLogTabsWatcher(myProject, myPostponableRefresher, myLogData);
|
||||
|
||||
refreshLogOnVcsEvents(logProviders, myPostponableRefresher, myDataManager);
|
||||
refreshLogOnVcsEvents(logProviders, myPostponableRefresher, myLogData);
|
||||
|
||||
myColorManager = new VcsLogColorManagerImpl(logProviders.keySet());
|
||||
|
||||
@@ -96,7 +96,7 @@ public class VcsLogManager implements Disposable {
|
||||
public void scheduleInitialization() {
|
||||
if (!myInitialized) {
|
||||
myInitialized = true;
|
||||
myDataManager.refreshCompletely();
|
||||
myLogData.refreshCompletely();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -106,8 +106,8 @@ public class VcsLogManager implements Disposable {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public VcsLogDataManager getDataManager() {
|
||||
return myDataManager;
|
||||
public VcsLogData getDataManager() {
|
||||
return myLogData;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -120,8 +120,8 @@ public class VcsLogManager implements Disposable {
|
||||
public VcsLogUiImpl createLogUi(@NotNull String logId, @Nullable String contentTabName) {
|
||||
VcsLogUiProperties properties = myUiProperties.createProperties(logId);
|
||||
VcsLogFiltererImpl filterer =
|
||||
new VcsLogFiltererImpl(myProject, myDataManager, PermanentGraph.SortType.values()[properties.getBekSortType()]);
|
||||
VcsLogUiImpl ui = new VcsLogUiImpl(myDataManager, myProject, myColorManager, properties, filterer);
|
||||
new VcsLogFiltererImpl(myProject, myLogData, PermanentGraph.SortType.values()[properties.getBekSortType()]);
|
||||
VcsLogUiImpl ui = new VcsLogUiImpl(myLogData, myProject, myColorManager, properties, filterer);
|
||||
|
||||
Disposable disposable;
|
||||
if (contentTabName != null) {
|
||||
@@ -173,7 +173,7 @@ public class VcsLogManager implements Disposable {
|
||||
}
|
||||
|
||||
public void disposeLog() {
|
||||
Disposer.dispose(myDataManager);
|
||||
Disposer.dispose(myLogData);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -27,7 +27,7 @@ import com.intellij.openapi.vcs.VcsRoot;
|
||||
import com.intellij.util.messages.MessageBus;
|
||||
import com.intellij.util.messages.MessageBusConnection;
|
||||
import com.intellij.util.messages.Topic;
|
||||
import com.intellij.vcs.log.data.VcsLogDataManager;
|
||||
import com.intellij.vcs.log.data.VcsLogData;
|
||||
import com.intellij.vcs.log.data.VcsLogTabsProperties;
|
||||
import com.intellij.vcs.log.ui.VcsLogPanel;
|
||||
import com.intellij.vcs.log.ui.VcsLogUiImpl;
|
||||
@@ -58,7 +58,7 @@ public class VcsProjectLog {
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public VcsLogDataManager getDataManager() {
|
||||
public VcsLogData getDataManager() {
|
||||
VcsLogManager cached = myLogManager.getCached();
|
||||
if (cached == null) return null;
|
||||
return cached.getDataManager();
|
||||
|
||||
+4
-4
@@ -27,7 +27,7 @@ import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.util.containers.MultiMap;
|
||||
import com.intellij.vcs.log.VcsLogProvider;
|
||||
import com.intellij.vcs.log.data.DataPack;
|
||||
import com.intellij.vcs.log.data.VcsLogDataManager;
|
||||
import com.intellij.vcs.log.data.VcsLogData;
|
||||
import com.intellij.vcs.log.graph.PermanentGraph;
|
||||
import com.intellij.vcs.log.impl.VcsProjectLog;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -47,9 +47,9 @@ public class VcsLogRepoSizeCollector extends AbstractApplicationUsagesCollector
|
||||
@Override
|
||||
public Set<UsageDescriptor> getProjectUsages(@NotNull Project project) throws CollectUsagesException {
|
||||
VcsProjectLog projectLog = VcsProjectLog.getInstance(project);
|
||||
VcsLogDataManager dataManager = projectLog.getDataManager();
|
||||
if (dataManager != null) {
|
||||
DataPack dataPack = dataManager.getDataPack();
|
||||
VcsLogData logData = projectLog.getDataManager();
|
||||
if (logData != null) {
|
||||
DataPack dataPack = logData.getDataPack();
|
||||
if (dataPack.isFull()) {
|
||||
PermanentGraph<Integer> permanentGraph = dataPack.getPermanentGraph();
|
||||
MultiMap<VcsKey, VirtualFile> groupedRoots = groupRootsByVcs(dataPack.getLogProviders());
|
||||
|
||||
@@ -18,7 +18,7 @@ package com.intellij.vcs.log.ui;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
import com.intellij.ui.JBColor;
|
||||
import com.intellij.vcs.log.*;
|
||||
import com.intellij.vcs.log.data.VcsLogDataManager;
|
||||
import com.intellij.vcs.log.data.VcsLogData;
|
||||
import com.intellij.vcs.log.impl.VcsLogUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -28,12 +28,12 @@ import java.awt.*;
|
||||
public class CurrentBranchHighlighter implements VcsLogHighlighter {
|
||||
private static final JBColor CURRENT_BRANCH_BG = new JBColor(new Color(228, 250, 255), new Color(63, 71, 73));
|
||||
private static final String HEAD = "HEAD";
|
||||
@NotNull private final VcsLogDataManager myDataManager;
|
||||
@NotNull private final VcsLogData myLogData;
|
||||
@NotNull private final VcsLogUi myLogUi;
|
||||
@Nullable private String mySingleFilteredBranch;
|
||||
|
||||
public CurrentBranchHighlighter(@NotNull VcsLogDataManager logDataManager, @NotNull VcsLogUi logUi) {
|
||||
myDataManager = logDataManager;
|
||||
public CurrentBranchHighlighter(@NotNull VcsLogData logData, @NotNull VcsLogUi logUi) {
|
||||
myLogData = logData;
|
||||
myLogUi = logUi;
|
||||
}
|
||||
|
||||
@@ -41,11 +41,11 @@ public class CurrentBranchHighlighter implements VcsLogHighlighter {
|
||||
@Override
|
||||
public VcsCommitStyle getStyle(@NotNull VcsShortCommitDetails details, boolean isSelected) {
|
||||
if (isSelected || !myLogUi.isHighlighterEnabled(Factory.ID)) return VcsCommitStyle.DEFAULT;
|
||||
VcsLogProvider provider = myDataManager.getLogProvider(details.getRoot());
|
||||
VcsLogProvider provider = myLogData.getLogProvider(details.getRoot());
|
||||
String currentBranch = provider.getCurrentBranch(details.getRoot());
|
||||
if (!HEAD.equals(mySingleFilteredBranch) && currentBranch != null && !(currentBranch.equals(mySingleFilteredBranch))) {
|
||||
Condition<CommitId> condition =
|
||||
myDataManager.getContainingBranchesGetter().getContainedInBranchCondition(currentBranch, details.getRoot());
|
||||
myLogData.getContainingBranchesGetter().getContainedInBranchCondition(currentBranch, details.getRoot());
|
||||
if (condition.value(new CommitId(details.getId(), details.getRoot()))) {
|
||||
return VcsCommitStyleFactory.background(CURRENT_BRANCH_BG);
|
||||
}
|
||||
@@ -64,8 +64,8 @@ public class CurrentBranchHighlighter implements VcsLogHighlighter {
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public VcsLogHighlighter createHighlighter(@NotNull VcsLogDataManager logDataManager, @NotNull VcsLogUi logUi) {
|
||||
return new CurrentBranchHighlighter(logDataManager, logUi);
|
||||
public VcsLogHighlighter createHighlighter(@NotNull VcsLogData logData, @NotNull VcsLogUi logUi) {
|
||||
return new CurrentBranchHighlighter(logData, logUi);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
@@ -18,7 +18,7 @@ package com.intellij.vcs.log.ui;
|
||||
import com.intellij.ui.Gray;
|
||||
import com.intellij.ui.JBColor;
|
||||
import com.intellij.vcs.log.*;
|
||||
import com.intellij.vcs.log.data.VcsLogDataManager;
|
||||
import com.intellij.vcs.log.data.VcsLogData;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class MergeCommitsHighlighter implements VcsLogHighlighter {
|
||||
@@ -46,7 +46,7 @@ public class MergeCommitsHighlighter implements VcsLogHighlighter {
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public VcsLogHighlighter createHighlighter(@NotNull VcsLogDataManager logDataManager, @NotNull VcsLogUi logUi) {
|
||||
public VcsLogHighlighter createHighlighter(@NotNull VcsLogData logData, @NotNull VcsLogUi logUi) {
|
||||
return new MergeCommitsHighlighter(logUi);
|
||||
}
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ package com.intellij.vcs.log.ui;
|
||||
import com.intellij.util.NotNullFunction;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.vcs.log.*;
|
||||
import com.intellij.vcs.log.data.VcsLogDataManager;
|
||||
import com.intellij.vcs.log.data.VcsLogData;
|
||||
import com.intellij.vcs.log.ui.filter.VcsLogUserFilterImpl;
|
||||
import com.intellij.vcs.log.util.VcsUserUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -28,12 +28,12 @@ import java.util.Collections;
|
||||
import java.util.Set;
|
||||
|
||||
public class MyCommitsHighlighter implements VcsLogHighlighter {
|
||||
@NotNull private final VcsLogDataManager myDataManager;
|
||||
@NotNull private final VcsLogData myLogData;
|
||||
@NotNull private final VcsLogUi myLogUi;
|
||||
private boolean myShouldHighlightUser = false;
|
||||
|
||||
public MyCommitsHighlighter(@NotNull VcsLogDataManager logDataManager, @NotNull VcsLogUi logUi) {
|
||||
myDataManager = logDataManager;
|
||||
public MyCommitsHighlighter(@NotNull VcsLogData logData, @NotNull VcsLogUi logUi) {
|
||||
myLogData = logData;
|
||||
myLogUi = logUi;
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@ public class MyCommitsHighlighter implements VcsLogHighlighter {
|
||||
public VcsCommitStyle getStyle(@NotNull VcsShortCommitDetails details, boolean isSelected) {
|
||||
if (!myLogUi.isHighlighterEnabled(Factory.ID)) return VcsCommitStyle.DEFAULT;
|
||||
if (myShouldHighlightUser) {
|
||||
VcsUser currentUser = myDataManager.getCurrentUser().get(details.getRoot());
|
||||
VcsUser currentUser = myLogData.getCurrentUser().get(details.getRoot());
|
||||
if (currentUser != null && VcsUserUtil.isSamePerson(currentUser, details.getAuthor())) {
|
||||
return VcsCommitStyleFactory.bold();
|
||||
}
|
||||
@@ -64,8 +64,8 @@ public class MyCommitsHighlighter implements VcsLogHighlighter {
|
||||
return VcsUserUtil.getNameInStandardForm(VcsUserUtil.getShortPresentation(user));
|
||||
}
|
||||
};
|
||||
Set<String> allUserNames = ContainerUtil.newHashSet(ContainerUtil.map(myDataManager.getAllUsers(), nameToString));
|
||||
Set<String> currentUserNames = ContainerUtil.newHashSet(ContainerUtil.map(myDataManager.getCurrentUser().values(), nameToString));
|
||||
Set<String> allUserNames = ContainerUtil.newHashSet(ContainerUtil.map(myLogData.getAllUsers(), nameToString));
|
||||
Set<String> currentUserNames = ContainerUtil.newHashSet(ContainerUtil.map(myLogData.getCurrentUser().values(), nameToString));
|
||||
return allUserNames.size() == currentUserNames.size() && currentUserNames.containsAll(allUserNames);
|
||||
}
|
||||
|
||||
@@ -83,8 +83,8 @@ public class MyCommitsHighlighter implements VcsLogHighlighter {
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public VcsLogHighlighter createHighlighter(@NotNull VcsLogDataManager logDataManager, @NotNull VcsLogUi logUi) {
|
||||
return new MyCommitsHighlighter(logDataManager, logUi);
|
||||
public VcsLogHighlighter createHighlighter(@NotNull VcsLogData logData, @NotNull VcsLogUi logUi) {
|
||||
return new MyCommitsHighlighter(logData, logUi);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
@@ -17,12 +17,12 @@ package com.intellij.vcs.log.ui;
|
||||
|
||||
import com.intellij.vcs.log.VcsLogHighlighter;
|
||||
import com.intellij.vcs.log.VcsLogUi;
|
||||
import com.intellij.vcs.log.data.VcsLogDataManager;
|
||||
import com.intellij.vcs.log.data.VcsLogData;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public interface VcsLogHighlighterFactory {
|
||||
@NotNull
|
||||
VcsLogHighlighter createHighlighter(@NotNull VcsLogDataManager logDataHolder, @NotNull VcsLogUi logUi);
|
||||
VcsLogHighlighter createHighlighter(@NotNull VcsLogData logDataHolder, @NotNull VcsLogUi logUi);
|
||||
|
||||
@NotNull
|
||||
String getId();
|
||||
|
||||
@@ -49,7 +49,7 @@ public class VcsLogUiImpl implements VcsLogUi, Disposable {
|
||||
|
||||
@NotNull private VisiblePack myVisiblePack;
|
||||
|
||||
public VcsLogUiImpl(@NotNull VcsLogDataManager logDataManager,
|
||||
public VcsLogUiImpl(@NotNull VcsLogData logData,
|
||||
@NotNull Project project,
|
||||
@NotNull VcsLogColorManager manager,
|
||||
@NotNull VcsLogUiProperties uiProperties,
|
||||
@@ -57,15 +57,15 @@ public class VcsLogUiImpl implements VcsLogUi, Disposable {
|
||||
myProject = project;
|
||||
myColorManager = manager;
|
||||
myUiProperties = uiProperties;
|
||||
Disposer.register(logDataManager, this);
|
||||
Disposer.register(logData, this);
|
||||
|
||||
myFilterer = filterer;
|
||||
myLog = new VcsLogImpl(logDataManager, this);
|
||||
myLog = new VcsLogImpl(logData, this);
|
||||
myVisiblePack = VisiblePack.EMPTY;
|
||||
myMainFrame = new MainFrame(logDataManager, this, project, uiProperties, myLog, myVisiblePack);
|
||||
myMainFrame = new MainFrame(logData, this, project, uiProperties, myLog, myVisiblePack);
|
||||
|
||||
for (VcsLogHighlighterFactory factory : Extensions.getExtensions(LOG_HIGHLIGHTER_FACTORY_EP, myProject)) {
|
||||
getTable().addHighlighter(factory.createHighlighter(logDataManager, this));
|
||||
getTable().addHighlighter(factory.createHighlighter(logData, this));
|
||||
}
|
||||
|
||||
myVisiblePackChangeListener = new VisiblePackChangeListener() {
|
||||
|
||||
+7
-7
@@ -23,7 +23,7 @@ import com.intellij.util.Function;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.vcs.log.VcsLogUserFilter;
|
||||
import com.intellij.vcs.log.VcsUser;
|
||||
import com.intellij.vcs.log.data.VcsLogDataManager;
|
||||
import com.intellij.vcs.log.data.VcsLogData;
|
||||
import com.intellij.vcs.log.data.VcsLogUiProperties;
|
||||
import com.intellij.vcs.log.util.VcsUserUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -38,13 +38,13 @@ import java.util.List;
|
||||
* Show a popup to select a user or enter the user name.
|
||||
*/
|
||||
class UserFilterPopupComponent extends MultipleValueFilterPopupComponent<VcsLogUserFilter> {
|
||||
@NotNull private final VcsLogDataManager myDataManager;
|
||||
@NotNull private final VcsLogData myLogData;
|
||||
|
||||
UserFilterPopupComponent(@NotNull VcsLogUiProperties uiProperties,
|
||||
@NotNull VcsLogDataManager dataManager,
|
||||
@NotNull VcsLogData logData,
|
||||
@NotNull FilterModel<VcsLogUserFilter> filterModel) {
|
||||
super("User", uiProperties, filterModel);
|
||||
myDataManager = dataManager;
|
||||
myLogData = logData;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -64,7 +64,7 @@ class UserFilterPopupComponent extends MultipleValueFilterPopupComponent<VcsLogU
|
||||
DefaultActionGroup group = new DefaultActionGroup();
|
||||
group.add(createAllAction());
|
||||
group.add(createSelectMultipleValuesAction());
|
||||
if (!myDataManager.getCurrentUser().isEmpty()) {
|
||||
if (!myLogData.getCurrentUser().isEmpty()) {
|
||||
group.add(createPredefinedValueAction(Collections.singleton(VcsLogUserFilterImpl.ME)));
|
||||
}
|
||||
group.addAll(createRecentItemsActionGroup());
|
||||
@@ -94,7 +94,7 @@ class UserFilterPopupComponent extends MultipleValueFilterPopupComponent<VcsLogU
|
||||
@NotNull
|
||||
@Override
|
||||
protected List<String> getAllValues() {
|
||||
return ContainerUtil.map(myDataManager.getAllUsers(), new Function<VcsUser, String>() {
|
||||
return ContainerUtil.map(myLogData.getAllUsers(), new Function<VcsUser, String>() {
|
||||
@Override
|
||||
public String fun(VcsUser user) {
|
||||
String shortPresentation = VcsUserUtil.getShortPresentation(user);
|
||||
@@ -108,6 +108,6 @@ class UserFilterPopupComponent extends MultipleValueFilterPopupComponent<VcsLogU
|
||||
@NotNull
|
||||
@Override
|
||||
protected VcsLogUserFilter createFilter(@NotNull Collection<String> values) {
|
||||
return new VcsLogUserFilterImpl(values, myDataManager.getCurrentUser(), myDataManager.getAllUsers());
|
||||
return new VcsLogUserFilterImpl(values, myLogData.getCurrentUser(), myLogData.getAllUsers());
|
||||
}
|
||||
}
|
||||
@@ -34,7 +34,7 @@ import com.intellij.ui.SearchTextField;
|
||||
import com.intellij.ui.SearchTextFieldWithStoredHistory;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.vcs.log.*;
|
||||
import com.intellij.vcs.log.data.VcsLogDataManager;
|
||||
import com.intellij.vcs.log.data.VcsLogData;
|
||||
import com.intellij.vcs.log.data.VcsLogUiProperties;
|
||||
import com.intellij.vcs.log.impl.VcsLogFilterCollectionImpl;
|
||||
import com.intellij.vcs.log.impl.VcsLogHashFilterImpl;
|
||||
@@ -64,7 +64,7 @@ public class VcsLogClassicFilterUi implements VcsLogFilterUi {
|
||||
|
||||
@NotNull private final VcsLogUiImpl myUi;
|
||||
|
||||
@NotNull private final VcsLogDataManager myLogDataManager;
|
||||
@NotNull private final VcsLogData myLogData;
|
||||
@NotNull private final VcsLogUiProperties myUiProperties;
|
||||
|
||||
@NotNull private VcsLogDataPack myDataPack;
|
||||
@@ -76,11 +76,11 @@ public class VcsLogClassicFilterUi implements VcsLogFilterUi {
|
||||
@NotNull private final TextFilterModel myTextFilterModel;
|
||||
|
||||
public VcsLogClassicFilterUi(@NotNull VcsLogUiImpl ui,
|
||||
@NotNull VcsLogDataManager logDataManager,
|
||||
@NotNull VcsLogData logData,
|
||||
@NotNull VcsLogUiProperties uiProperties,
|
||||
@NotNull VcsLogDataPack initialDataPack) {
|
||||
myUi = ui;
|
||||
myLogDataManager = logDataManager;
|
||||
myLogData = logData;
|
||||
myUiProperties = uiProperties;
|
||||
myDataPack = initialDataPack;
|
||||
|
||||
@@ -108,7 +108,7 @@ public class VcsLogClassicFilterUi implements VcsLogFilterUi {
|
||||
public void run() {
|
||||
myUi.applyFiltersAndUpdateUi();
|
||||
myBranchFilterModel
|
||||
.onStructureFilterChanged(new HashSet<VirtualFile>(myLogDataManager.getRoots()), myStructureFilterModel.getFilter());
|
||||
.onStructureFilterChanged(new HashSet<VirtualFile>(myLogData.getRoots()), myStructureFilterModel.getFilter());
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -167,7 +167,7 @@ public class VcsLogClassicFilterUi implements VcsLogFilterUi {
|
||||
actionGroup.add(new FilterActionComponent(new Computable<JComponent>() {
|
||||
@Override
|
||||
public JComponent compute() {
|
||||
return new UserFilterPopupComponent(myUiProperties, myLogDataManager, myUserFilterModel).initUi();
|
||||
return new UserFilterPopupComponent(myUiProperties, myLogData, myUserFilterModel).initUi();
|
||||
}
|
||||
}));
|
||||
actionGroup.add(new FilterActionComponent(new Computable<JComponent>() {
|
||||
|
||||
@@ -8,7 +8,7 @@ import com.intellij.vcs.log.RefGroup;
|
||||
import com.intellij.vcs.log.VcsLogFilterCollection;
|
||||
import com.intellij.vcs.log.VcsLogRefs;
|
||||
import com.intellij.vcs.log.VcsRef;
|
||||
import com.intellij.vcs.log.data.VcsLogDataManager;
|
||||
import com.intellij.vcs.log.data.VcsLogData;
|
||||
import com.intellij.vcs.log.data.VisiblePack;
|
||||
import com.intellij.vcs.log.impl.SingletonRefGroup;
|
||||
import com.intellij.vcs.log.impl.VcsLogUtil;
|
||||
@@ -34,7 +34,7 @@ public class BranchesPanel extends JPanel {
|
||||
private static final int BIG_ROOTS_GAP = 7;
|
||||
private static final int TOP = 2;
|
||||
private static final int BOTTOM = 3;
|
||||
@NotNull private final VcsLogDataManager myDataManager;
|
||||
@NotNull private final VcsLogData myLogData;
|
||||
@NotNull private final VcsLogUiImpl myUi;
|
||||
@NotNull private final VcsRefPainter myReferencePainter;
|
||||
@NotNull private final JBScrollPane myScrollPane;
|
||||
@@ -42,11 +42,11 @@ public class BranchesPanel extends JPanel {
|
||||
@NotNull private LinkedHashMap<VirtualFile, List<RefGroup>> myRefGroups;
|
||||
@Nullable private Collection<VirtualFile> myRoots = null;
|
||||
|
||||
public BranchesPanel(@NotNull VcsLogDataManager dataManager, @NotNull VcsLogUiImpl ui, @NotNull VcsLogRefs initialRefsModel) {
|
||||
public BranchesPanel(@NotNull VcsLogData logData, @NotNull VcsLogUiImpl ui, @NotNull VcsLogRefs initialRefsModel) {
|
||||
super(new FlowLayout(FlowLayout.LEADING, BIG_ROOTS_GAP - 2 * SMALL_ROOTS_GAP, 0));
|
||||
setBorder(new EmptyBorder(TOP, SMALL_ROOTS_GAP, BOTTOM, SMALL_ROOTS_GAP));
|
||||
|
||||
myDataManager = dataManager;
|
||||
myLogData = logData;
|
||||
myUi = ui;
|
||||
myRefGroups = getRefsToDisplayOnPanel(initialRefsModel);
|
||||
myReferencePainter = new VcsRefPainter(myUi.getColorManager(), true);
|
||||
@@ -86,7 +86,7 @@ public class BranchesPanel extends JPanel {
|
||||
LinkedHashMap<VirtualFile, List<RefGroup>> groups = ContainerUtil.newLinkedHashMap();
|
||||
for (Map.Entry<VirtualFile, Set<VcsRef>> entry : VcsLogUtil.groupRefsByRoot(allRefs).entrySet()) {
|
||||
groups.put(entry.getKey(),
|
||||
expandExpandableGroups(myDataManager.getLogProvider(entry.getKey()).getReferenceManager().group(entry.getValue())));
|
||||
expandExpandableGroups(myLogData.getLogProvider(entry.getKey()).getReferenceManager().group(entry.getValue())));
|
||||
}
|
||||
|
||||
return groups;
|
||||
@@ -112,7 +112,7 @@ public class BranchesPanel extends JPanel {
|
||||
}
|
||||
|
||||
public void onFiltersChange(@NotNull VcsLogFilterCollection filters) {
|
||||
myRoots = VcsLogUtil.getAllVisibleRoots(myDataManager.getRoots(), filters.getRootFilter(), filters.getStructureFilter());
|
||||
myRoots = VcsLogUtil.getAllVisibleRoots(myLogData.getRoots(), filters.getRootFilter(), filters.getStructureFilter());
|
||||
removeAll();
|
||||
recreateComponents();
|
||||
getParent().validate();
|
||||
|
||||
@@ -43,7 +43,7 @@ import com.intellij.vcs.log.Hash;
|
||||
import com.intellij.vcs.log.VcsFullCommitDetails;
|
||||
import com.intellij.vcs.log.VcsRef;
|
||||
import com.intellij.vcs.log.data.LoadingDetails;
|
||||
import com.intellij.vcs.log.data.VcsLogDataManager;
|
||||
import com.intellij.vcs.log.data.VcsLogData;
|
||||
import com.intellij.vcs.log.data.VisiblePack;
|
||||
import com.intellij.vcs.log.ui.VcsLogColorManager;
|
||||
import com.intellij.vcs.log.ui.render.VcsRefPainter;
|
||||
@@ -81,7 +81,7 @@ class DetailsPanel extends JPanel implements ListSelectionListener {
|
||||
private static final String STANDARD_LAYER = "Standard";
|
||||
private static final String MESSAGE_LAYER = "Message";
|
||||
|
||||
@NotNull private final VcsLogDataManager myLogDataManager;
|
||||
@NotNull private final VcsLogData myLogData;
|
||||
@NotNull private final VcsLogGraphTable myGraphTable;
|
||||
|
||||
@NotNull private final ReferencesPanel myReferencesPanel;
|
||||
@@ -96,18 +96,18 @@ class DetailsPanel extends JPanel implements ListSelectionListener {
|
||||
@NotNull private VisiblePack myDataPack;
|
||||
@Nullable private VcsFullCommitDetails myCurrentCommitDetails;
|
||||
|
||||
DetailsPanel(@NotNull VcsLogDataManager logDataManager,
|
||||
DetailsPanel(@NotNull VcsLogData logData,
|
||||
@NotNull VcsLogGraphTable graphTable,
|
||||
@NotNull VcsLogColorManager colorManager,
|
||||
@NotNull VisiblePack initialDataPack,
|
||||
@NotNull Disposable parent) {
|
||||
myLogDataManager = logDataManager;
|
||||
myLogData = logData;
|
||||
myGraphTable = graphTable;
|
||||
myColorManager = colorManager;
|
||||
myDataPack = initialDataPack;
|
||||
|
||||
myReferencesPanel = new ReferencesPanel(myColorManager);
|
||||
myCommitDetailsPanel = new DataPanel(logDataManager.getProject(), logDataManager.isMultiRoot(), logDataManager);
|
||||
myCommitDetailsPanel = new DataPanel(logData.getProject(), logData.isMultiRoot(), logData);
|
||||
|
||||
myScrollPane = new JBScrollPane(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
|
||||
myScrollPane.getVerticalScrollBar().setUnitIncrement(8);
|
||||
@@ -200,7 +200,7 @@ class DetailsPanel extends JPanel implements ListSelectionListener {
|
||||
|
||||
List<String> branches = null;
|
||||
if (!(commitData instanceof LoadingDetails)) {
|
||||
branches = myLogDataManager.getContainingBranchesGetter().requestContainingBranches(commitData.getRoot(), commitData.getId());
|
||||
branches = myLogData.getContainingBranchesGetter().requestContainingBranches(commitData.getRoot(), commitData.getId());
|
||||
}
|
||||
myCommitDetailsPanel.setBranches(branches);
|
||||
|
||||
@@ -240,7 +240,7 @@ class DetailsPanel extends JPanel implements ListSelectionListener {
|
||||
@NotNull
|
||||
private List<VcsRef> sortRefs(@NotNull Hash hash, @NotNull VirtualFile root) {
|
||||
Collection<VcsRef> refs = myDataPack.getRefs().refsToCommit(hash, root);
|
||||
return ContainerUtil.sorted(refs, myLogDataManager.getLogProvider(root).getReferenceManager().getLabelsOrderComparator());
|
||||
return ContainerUtil.sorted(refs, myLogData.getLogProvider(root).getReferenceManager().getLabelsOrderComparator());
|
||||
}
|
||||
|
||||
private static class DataPanel extends JEditorPane {
|
||||
|
||||
@@ -28,7 +28,7 @@ import com.intellij.util.ui.JBUI;
|
||||
import com.intellij.util.ui.table.ComponentsListFocusTraversalPolicy;
|
||||
import com.intellij.vcs.CommittedChangeListForRevision;
|
||||
import com.intellij.vcs.log.*;
|
||||
import com.intellij.vcs.log.data.VcsLogDataManager;
|
||||
import com.intellij.vcs.log.data.VcsLogData;
|
||||
import com.intellij.vcs.log.data.VcsLogUiProperties;
|
||||
import com.intellij.vcs.log.data.VisiblePack;
|
||||
import com.intellij.vcs.log.impl.VcsLogUtil;
|
||||
@@ -55,7 +55,7 @@ import static com.intellij.util.containers.ContainerUtil.getFirstItem;
|
||||
|
||||
public class MainFrame extends JPanel implements DataProvider, Disposable {
|
||||
|
||||
@NotNull private final VcsLogDataManager myLogDataManager;
|
||||
@NotNull private final VcsLogData myLogData;
|
||||
@NotNull private final VcsLogUiImpl myUi;
|
||||
@NotNull private final VcsLog myLog;
|
||||
@NotNull private final VcsLogClassicFilterUi myFilterUi;
|
||||
@@ -74,23 +74,23 @@ public class MainFrame extends JPanel implements DataProvider, Disposable {
|
||||
@NotNull private Runnable myFullDetailsLoadedListener;
|
||||
@NotNull private Runnable myMiniDetailsLoadedListener;
|
||||
|
||||
public MainFrame(@NotNull VcsLogDataManager logDataManager,
|
||||
public MainFrame(@NotNull VcsLogData logData,
|
||||
@NotNull VcsLogUiImpl ui,
|
||||
@NotNull Project project,
|
||||
@NotNull VcsLogUiProperties uiProperties,
|
||||
@NotNull VcsLog log,
|
||||
@NotNull VisiblePack initialDataPack) {
|
||||
// collect info
|
||||
myLogDataManager = logDataManager;
|
||||
myLogData = logData;
|
||||
myUi = ui;
|
||||
myLog = log;
|
||||
myFilterUi = new VcsLogClassicFilterUi(myUi, logDataManager, uiProperties, initialDataPack);
|
||||
myFilterUi = new VcsLogClassicFilterUi(myUi, logData, uiProperties, initialDataPack);
|
||||
|
||||
// initialize components
|
||||
myGraphTable = new VcsLogGraphTable(ui, logDataManager, initialDataPack);
|
||||
myBranchesPanel = new BranchesPanel(logDataManager, ui, initialDataPack.getRefs());
|
||||
myGraphTable = new VcsLogGraphTable(ui, logData, initialDataPack);
|
||||
myBranchesPanel = new BranchesPanel(logData, ui, initialDataPack.getRefs());
|
||||
setBranchesPanelVisible(uiProperties.isShowBranchesPanel());
|
||||
myDetailsPanel = new DetailsPanel(logDataManager, myGraphTable, ui.getColorManager(), initialDataPack, this);
|
||||
myDetailsPanel = new DetailsPanel(logData, myGraphTable, ui.getColorManager(), initialDataPack, this);
|
||||
|
||||
myChangesBrowser = new RepositoryChangesBrowser(project, null, Collections.<Change>emptyList(), null);
|
||||
myChangesBrowser.getViewer().setScrollPaneBorder(IdeBorderFactory.createBorder(SideBorder.TOP));
|
||||
@@ -166,9 +166,9 @@ public class MainFrame extends JPanel implements DataProvider, Disposable {
|
||||
myGraphTable.repaint(); // we may need to repaint highlighters
|
||||
}
|
||||
};
|
||||
myLogDataManager.getMiniDetailsGetter().addDetailsLoadedListener(myMiniDetailsLoadedListener);
|
||||
myLogDataManager.getCommitDetailsGetter().addDetailsLoadedListener(myFullDetailsLoadedListener);
|
||||
myLogDataManager.getContainingBranchesGetter().addTaskCompletedListener(myTaskCompletedListener);
|
||||
myLogData.getMiniDetailsGetter().addDetailsLoadedListener(myMiniDetailsLoadedListener);
|
||||
myLogData.getCommitDetailsGetter().addDetailsLoadedListener(myFullDetailsLoadedListener);
|
||||
myLogData.getContainingBranchesGetter().addTaskCompletedListener(myTaskCompletedListener);
|
||||
}
|
||||
|
||||
public void setupDetailsSplitter(boolean state) {
|
||||
@@ -254,7 +254,7 @@ public class MainFrame extends JPanel implements DataProvider, Disposable {
|
||||
return myUi;
|
||||
}
|
||||
else if (VcsLogDataKeys.VCS_LOG_DATA_PROVIDER.is(dataId)) {
|
||||
return myLogDataManager;
|
||||
return myLogData;
|
||||
}
|
||||
else if (VcsDataKeys.CHANGES.is(dataId) || VcsDataKeys.SELECTED_CHANGES.is(dataId)) {
|
||||
return ArrayUtil.toObjectArray(myChangesBrowser.getCurrentDisplayedChanges(), Change.class);
|
||||
@@ -293,7 +293,7 @@ public class MainFrame extends JPanel implements DataProvider, Disposable {
|
||||
}
|
||||
});
|
||||
if (roots.size() == 1) {
|
||||
return myLogDataManager.getLogProvider(assertNotNull(getFirstItem(roots))).getSupportedVcs();
|
||||
return myLogData.getLogProvider(assertNotNull(getFirstItem(roots))).getSupportedVcs();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
@@ -328,9 +328,9 @@ public class MainFrame extends JPanel implements DataProvider, Disposable {
|
||||
|
||||
@Override
|
||||
public void dispose() {
|
||||
myLogDataManager.getMiniDetailsGetter().removeDetailsLoadedListener(myMiniDetailsLoadedListener);
|
||||
myLogDataManager.getCommitDetailsGetter().removeDetailsLoadedListener(myFullDetailsLoadedListener);
|
||||
myLogDataManager.getContainingBranchesGetter().removeTaskCompletedListener(myTaskCompletedListener);
|
||||
myLogData.getMiniDetailsGetter().removeDetailsLoadedListener(myMiniDetailsLoadedListener);
|
||||
myLogData.getCommitDetailsGetter().removeDetailsLoadedListener(myFullDetailsLoadedListener);
|
||||
myLogData.getContainingBranchesGetter().removeTaskCompletedListener(myTaskCompletedListener);
|
||||
|
||||
myDetailsSplitter.dispose();
|
||||
myChangesBrowserSplitter.dispose();
|
||||
|
||||
@@ -41,7 +41,7 @@ import com.intellij.util.ui.JBUI;
|
||||
import com.intellij.util.ui.UIUtil;
|
||||
import com.intellij.vcs.log.*;
|
||||
import com.intellij.vcs.log.data.LoadingDetails;
|
||||
import com.intellij.vcs.log.data.VcsLogDataManager;
|
||||
import com.intellij.vcs.log.data.VcsLogData;
|
||||
import com.intellij.vcs.log.data.VisiblePack;
|
||||
import com.intellij.vcs.log.graph.*;
|
||||
import com.intellij.vcs.log.graph.actions.GraphAction;
|
||||
@@ -89,7 +89,7 @@ public class VcsLogGraphTable extends JBTable implements DataProvider, CopyProvi
|
||||
private static final int MAX_ROWS_TO_CALC_OFFSET = 100;
|
||||
|
||||
@NotNull private final VcsLogUiImpl myUi;
|
||||
@NotNull private final VcsLogDataManager myLogDataManager;
|
||||
@NotNull private final VcsLogData myLogData;
|
||||
@NotNull private final MyDummyTableCellEditor myDummyEditor = new MyDummyTableCellEditor();
|
||||
@NotNull private final TableCellRenderer myDummyRenderer = new DefaultTableCellRenderer();
|
||||
@NotNull private final GraphCommitCellRenderer myGraphCommitCellRenderer;
|
||||
@@ -105,11 +105,11 @@ public class VcsLogGraphTable extends JBTable implements DataProvider, CopyProvi
|
||||
}
|
||||
};
|
||||
|
||||
public VcsLogGraphTable(@NotNull VcsLogUiImpl ui, @NotNull final VcsLogDataManager logDataManager, @NotNull VisiblePack initialDataPack) {
|
||||
super(new GraphTableModel(initialDataPack, logDataManager, ui));
|
||||
public VcsLogGraphTable(@NotNull VcsLogUiImpl ui, @NotNull final VcsLogData logData, @NotNull VisiblePack initialDataPack) {
|
||||
super(new GraphTableModel(initialDataPack, logData, ui));
|
||||
myUi = ui;
|
||||
myLogDataManager = logDataManager;
|
||||
myGraphCommitCellRenderer = new GraphCommitCellRenderer(logDataManager, myGraphCellPainter, this);
|
||||
myLogData = logData;
|
||||
myGraphCommitCellRenderer = new GraphCommitCellRenderer(logData, myGraphCellPainter, this);
|
||||
|
||||
setDefaultRenderer(VirtualFile.class, new RootCellRenderer(myUi));
|
||||
setDefaultRenderer(GraphCommitCell.class, myGraphCommitCellRenderer);
|
||||
@@ -230,7 +230,7 @@ public class VcsLogGraphTable extends JBTable implements DataProvider, CopyProvi
|
||||
|
||||
private int calculateMaxRootWidth() {
|
||||
int width = 0;
|
||||
for (VirtualFile file : myLogDataManager.getRoots()) {
|
||||
for (VirtualFile file : myLogData.getRoots()) {
|
||||
Font tableFont = UIManager.getFont("Table.font");
|
||||
width = Math.max(getFontMetrics(tableFont).stringWidth(file.getName() + " "), width);
|
||||
}
|
||||
@@ -352,7 +352,7 @@ public class VcsLogGraphTable extends JBTable implements DataProvider, CopyProvi
|
||||
.createStyle(rowInfo.getRowType() == RowType.UNMATCHED ? JBColor.GRAY : dummyRendererComponent.getForeground(),
|
||||
dummyRendererComponent.getBackground(), VcsLogHighlighter.TextStyle.NORMAL);
|
||||
|
||||
final VcsShortCommitDetails details = myLogDataManager.getMiniDetailsGetter().getCommitDataIfAvailable(rowInfo.getCommit());
|
||||
final VcsShortCommitDetails details = myLogData.getMiniDetailsGetter().getCommitDataIfAvailable(rowInfo.getCommit());
|
||||
if (details == null || details instanceof LoadingDetails) return defaultStyle;
|
||||
|
||||
List<VcsLogHighlighter.VcsCommitStyle> styles =
|
||||
@@ -392,7 +392,7 @@ public class VcsLogGraphTable extends JBTable implements DataProvider, CopyProvi
|
||||
|
||||
@Nullable
|
||||
private TableColumn getRootColumnOrNull(@NotNull MouseEvent e) {
|
||||
if (!myLogDataManager.isMultiRoot()) return null;
|
||||
if (!myLogData.isMultiRoot()) return null;
|
||||
int column = convertColumnIndexToModel(columnAtPoint(e.getPoint()));
|
||||
if (column == GraphTableModel.ROOT_COLUMN) {
|
||||
return getColumnModel().getColumn(column);
|
||||
@@ -444,12 +444,12 @@ public class VcsLogGraphTable extends JBTable implements DataProvider, CopyProvi
|
||||
details = getModel().getShortDetails(row); // preload rows around the commit
|
||||
}
|
||||
else {
|
||||
details = myLogDataManager.getMiniDetailsGetter().getCommitData(commit, Collections.singleton(commit)); // preload just the commit
|
||||
details = myLogData.getMiniDetailsGetter().getCommitData(commit, Collections.singleton(commit)); // preload just the commit
|
||||
}
|
||||
|
||||
String balloonText = "";
|
||||
if (details instanceof LoadingDetails) {
|
||||
CommitId commitId = myLogDataManager.getCommitId(commit);
|
||||
CommitId commitId = myLogData.getCommitId(commit);
|
||||
if (commitId != null) {
|
||||
balloonText = "Jump to commit" + " " + commitId.getHash().toShortString();
|
||||
if (myUi.isMultipleRoots()) {
|
||||
@@ -661,7 +661,7 @@ public class VcsLogGraphTable extends JBTable implements DataProvider, CopyProvi
|
||||
|
||||
private int getXOffset() {
|
||||
TableColumn rootColumn = getColumnModel().getColumn(GraphTableModel.ROOT_COLUMN);
|
||||
return myLogDataManager.isMultiRoot() ? rootColumn.getWidth() : 0;
|
||||
return myLogData.isMultiRoot() ? rootColumn.getWidth() : 0;
|
||||
}
|
||||
|
||||
private static class RootCellRenderer extends JBLabel implements TableCellRenderer {
|
||||
|
||||
+6
-6
@@ -8,7 +8,7 @@ import com.intellij.ui.ColoredTableCellRenderer;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.util.ui.UIUtil;
|
||||
import com.intellij.vcs.log.VcsRef;
|
||||
import com.intellij.vcs.log.data.VcsLogDataManager;
|
||||
import com.intellij.vcs.log.data.VcsLogData;
|
||||
import com.intellij.vcs.log.graph.PrintElement;
|
||||
import com.intellij.vcs.log.paint.GraphCellPainter;
|
||||
import com.intellij.vcs.log.paint.PaintParameters;
|
||||
@@ -28,7 +28,7 @@ public class GraphCommitCellRenderer extends ColoredTableCellRenderer {
|
||||
|
||||
private static final Logger LOG = Logger.getInstance(GraphCommitCellRenderer.class);
|
||||
|
||||
@NotNull private final VcsLogDataManager myDataManager;
|
||||
@NotNull private final VcsLogData myLogData;
|
||||
@NotNull private final GraphCellPainter myPainter;
|
||||
@NotNull private final VcsLogGraphTable myGraphTable;
|
||||
@NotNull private final TextLabelPainter myTextLabelPainter;
|
||||
@@ -39,14 +39,14 @@ public class GraphCommitCellRenderer extends ColoredTableCellRenderer {
|
||||
@NotNull private Font myFont;
|
||||
private int myHeight;
|
||||
|
||||
public GraphCommitCellRenderer(@NotNull VcsLogDataManager dataManager,
|
||||
public GraphCommitCellRenderer(@NotNull VcsLogData logData,
|
||||
@NotNull GraphCellPainter painter,
|
||||
@NotNull VcsLogGraphTable table) {
|
||||
myDataManager = dataManager;
|
||||
myLogData = logData;
|
||||
myPainter = painter;
|
||||
myGraphTable = table;
|
||||
myTextLabelPainter = TextLabelPainter.createPainter(false);
|
||||
myIssueLinkRenderer = new IssueLinkRenderer(dataManager.getProject(), this);
|
||||
myIssueLinkRenderer = new IssueLinkRenderer(logData.getProject(), this);
|
||||
myFont = TextLabelPainter.getFont();
|
||||
myHeight = calculateHeight();
|
||||
}
|
||||
@@ -151,7 +151,7 @@ public class GraphCommitCellRenderer extends ColoredTableCellRenderer {
|
||||
return Collections.emptyMap();
|
||||
}
|
||||
VirtualFile root = refs.iterator().next().getRoot(); // all refs are from the same commit => they have the same root
|
||||
refs = ContainerUtil.sorted(refs, myDataManager.getLogProvider(root).getReferenceManager().getLabelsOrderComparator());
|
||||
refs = ContainerUtil.sorted(refs, myLogData.getLogProvider(root).getReferenceManager().getLabelsOrderComparator());
|
||||
List<VcsRef> branches = getBranches(refs);
|
||||
Collection<VcsRef> tags = ContainerUtil.subtract(refs, branches);
|
||||
return getLabelsForRefs(branches, tags);
|
||||
|
||||
@@ -9,7 +9,7 @@ import com.intellij.util.text.DateFormatUtil;
|
||||
import com.intellij.vcs.log.*;
|
||||
import com.intellij.vcs.log.data.CommitIdByStringCondition;
|
||||
import com.intellij.vcs.log.data.DataGetter;
|
||||
import com.intellij.vcs.log.data.VcsLogDataManager;
|
||||
import com.intellij.vcs.log.data.VcsLogData;
|
||||
import com.intellij.vcs.log.data.VisiblePack;
|
||||
import com.intellij.vcs.log.impl.VcsLogUtil;
|
||||
import com.intellij.vcs.log.ui.VcsLogUiImpl;
|
||||
@@ -33,15 +33,15 @@ public class GraphTableModel extends AbstractTableModel {
|
||||
private static final int UP_PRELOAD_COUNT = 20;
|
||||
private static final int DOWN_PRELOAD_COUNT = 40;
|
||||
|
||||
@NotNull private final VcsLogDataManager myLogDataManager;
|
||||
@NotNull private final VcsLogData myLogData;
|
||||
@NotNull protected final VcsLogUiImpl myUi;
|
||||
|
||||
@NotNull protected VisiblePack myDataPack;
|
||||
|
||||
private boolean myMoreRequested;
|
||||
|
||||
public GraphTableModel(@NotNull VisiblePack dataPack, @NotNull VcsLogDataManager dataManager, @NotNull VcsLogUiImpl ui) {
|
||||
myLogDataManager = dataManager;
|
||||
public GraphTableModel(@NotNull VisiblePack dataPack, @NotNull VcsLogData logData, @NotNull VcsLogUiImpl ui) {
|
||||
myLogData = logData;
|
||||
myUi = ui;
|
||||
myDataPack = dataPack;
|
||||
}
|
||||
@@ -63,11 +63,11 @@ public class GraphTableModel extends AbstractTableModel {
|
||||
|
||||
@Nullable
|
||||
public CommitId getCommitIdAtRow(int row) {
|
||||
return myLogDataManager.getCommitId(getIdAtRow(row));
|
||||
return myLogData.getCommitId(getIdAtRow(row));
|
||||
}
|
||||
|
||||
public int getRowOfCommit(@NotNull final Hash hash, @NotNull VirtualFile root) {
|
||||
final int commitIndex = myLogDataManager.getCommitIndex(hash, root);
|
||||
final int commitIndex = myLogData.getCommitIndex(hash, root);
|
||||
return ContainerUtil.indexOf(VcsLogUtil.getVisibleCommits(myDataPack.getVisibleGraph()), new Condition<Integer>() {
|
||||
@Override
|
||||
public boolean value(Integer integer) {
|
||||
@@ -78,7 +78,7 @@ public class GraphTableModel extends AbstractTableModel {
|
||||
|
||||
public int getRowOfCommitByPartOfHash(@NotNull String partialHash) {
|
||||
final CommitIdByStringCondition hashByString = new CommitIdByStringCondition(partialHash);
|
||||
CommitId commitId = myLogDataManager.getHashMap().findCommitId(new Condition<CommitId>() {
|
||||
CommitId commitId = myLogData.getHashMap().findCommitId(new Condition<CommitId>() {
|
||||
@Override
|
||||
public boolean value(CommitId commitId) {
|
||||
return hashByString.value(commitId) && getRowOfCommit(commitId.getHash(), commitId.getRoot()) != -1;
|
||||
@@ -172,12 +172,12 @@ public class GraphTableModel extends AbstractTableModel {
|
||||
|
||||
@NotNull
|
||||
public VcsFullCommitDetails getFullDetails(int row) {
|
||||
return getDetails(row, myLogDataManager.getCommitDetailsGetter());
|
||||
return getDetails(row, myLogData.getCommitDetailsGetter());
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public VcsShortCommitDetails getShortDetails(int row) {
|
||||
return getDetails(row, myLogDataManager.getMiniDetailsGetter());
|
||||
return getDetails(row, myLogData.getMiniDetailsGetter());
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
@@ -53,7 +53,7 @@ public class VcsLogRefresherTest extends VcsPlatformTest {
|
||||
}
|
||||
};
|
||||
private TestVcsLogProvider myLogProvider;
|
||||
private VcsLogDataManager myDataManager;
|
||||
private VcsLogData myLogData;
|
||||
private Map<Integer, VcsCommitMetadata> myTopDetailsCache;
|
||||
private Map<VirtualFile, VcsLogProvider> myLogProviders;
|
||||
|
||||
@@ -202,14 +202,14 @@ public class VcsLogRefresherTest extends VcsPlatformTest {
|
||||
}
|
||||
|
||||
private VcsLogRefresherImpl createLoader(Consumer<DataPack> dataPackConsumer) {
|
||||
myDataManager = new VcsLogDataManager(myProject, myLogProviders, new Consumer<Exception>() {
|
||||
myLogData = new VcsLogData(myProject, myLogProviders, new Consumer<Exception>() {
|
||||
@Override
|
||||
public void consume(Exception e) {
|
||||
LOG.error(e);
|
||||
}
|
||||
});
|
||||
Disposer.register(myProject, myDataManager);
|
||||
return new VcsLogRefresherImpl(myProject, myDataManager.getHashMap(), myLogProviders, myDataManager.getUserRegistry(),
|
||||
Disposer.register(myProject, myLogData);
|
||||
return new VcsLogRefresherImpl(myProject, myLogData.getHashMap(), myLogProviders, myLogData.getUserRegistry(),
|
||||
myTopDetailsCache, dataPackConsumer, FAILING_EXCEPTION_HANDLER, RECENT_COMMITS_COUNT) {
|
||||
@Override
|
||||
protected void startNewBackgroundTask(@NotNull final Task.Backgroundable refreshTask) {
|
||||
@@ -240,7 +240,7 @@ public class VcsLogRefresherTest extends VcsPlatformTest {
|
||||
@NotNull
|
||||
@Override
|
||||
public Hash fun(Integer integer) {
|
||||
return myDataManager.getCommitId(integer).getHash();
|
||||
return myLogData.getCommitId(integer).getHash();
|
||||
}
|
||||
};
|
||||
return new TimedVcsCommitImpl(convertor.fun(commit.getId()), ContainerUtil.map(commit.getParents(), convertor),
|
||||
|
||||
@@ -29,7 +29,7 @@ import com.intellij.openapi.vcs.VcsNotifier;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.vcs.log.*;
|
||||
import com.intellij.vcs.log.data.VcsLogDataManager;
|
||||
import com.intellij.vcs.log.data.VcsLogData;
|
||||
import com.intellij.vcs.log.impl.HashImpl;
|
||||
import com.intellij.vcs.log.impl.VcsLogUtil;
|
||||
import com.intellij.vcs.log.ui.MergeCommitsHighlighter;
|
||||
@@ -166,7 +166,7 @@ public class DeepComparator implements VcsLogHighlighter, Disposable {
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public VcsLogHighlighter createHighlighter(@NotNull VcsLogDataManager logDataManager, @NotNull VcsLogUi logUi) {
|
||||
public VcsLogHighlighter createHighlighter(@NotNull VcsLogData logDataManager, @NotNull VcsLogUi logUi) {
|
||||
return getInstance(logDataManager.getProject(), logUi);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user