diff options
Diffstat (limited to 'platform/vcs-log/impl/src/com/intellij/vcs/log/data/VcsLogMultiRepoJoiner.java')
-rw-r--r-- | platform/vcs-log/impl/src/com/intellij/vcs/log/data/VcsLogMultiRepoJoiner.java | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/data/VcsLogMultiRepoJoiner.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/data/VcsLogMultiRepoJoiner.java index 072e0e26ace1..f36b26a74d94 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/data/VcsLogMultiRepoJoiner.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/data/VcsLogMultiRepoJoiner.java @@ -6,31 +6,31 @@ import org.jetbrains.annotations.NotNull; import java.util.*; -public class VcsLogMultiRepoJoiner<CommitId> { +public class VcsLogMultiRepoJoiner<CommitId, Commit extends GraphCommit<CommitId>> { @NotNull - public List<? extends GraphCommit<CommitId>> join(@NotNull Collection<List<? extends GraphCommit<CommitId>>> logsFromRepos) { + public List<Commit> join(@NotNull Collection<List<Commit>> logsFromRepos) { if (logsFromRepos.size() == 1) { return logsFromRepos.iterator().next(); } int size = 0; - for (List<? extends GraphCommit<CommitId>> repo : logsFromRepos) { + for (List<Commit> repo : logsFromRepos) { size += repo.size(); } - List<GraphCommit<CommitId>> result = new ArrayList<GraphCommit<CommitId>>(size); + List<Commit> result = new ArrayList<Commit>(size); - Map<GraphCommit<CommitId>, Iterator<? extends GraphCommit<CommitId>>> nextCommits = ContainerUtil.newHashMap(); - for (List<? extends GraphCommit<CommitId>> log : logsFromRepos) { - Iterator<? extends GraphCommit<CommitId>> iterator = log.iterator(); + Map<Commit, Iterator<Commit>> nextCommits = ContainerUtil.newHashMap(); + for (List<Commit> log : logsFromRepos) { + Iterator<Commit> iterator = log.iterator(); if (iterator.hasNext()) { nextCommits.put(iterator.next(), iterator); } } while (!nextCommits.isEmpty()) { - GraphCommit<CommitId> lastCommit = findLatestCommit(nextCommits.keySet()); - Iterator<? extends GraphCommit<CommitId>> iterator = nextCommits.get(lastCommit); + Commit lastCommit = findLatestCommit(nextCommits.keySet()); + Iterator<Commit> iterator = nextCommits.get(lastCommit); result.add(lastCommit); nextCommits.remove(lastCommit); @@ -43,10 +43,10 @@ public class VcsLogMultiRepoJoiner<CommitId> { } @NotNull - private GraphCommit<CommitId> findLatestCommit(@NotNull Set<GraphCommit<CommitId>> commits) { + private Commit findLatestCommit(@NotNull Set<Commit> commits) { long maxTimeStamp = Long.MIN_VALUE; - GraphCommit<CommitId> lastCommit = null; - for (GraphCommit<CommitId> commit : commits) { + Commit lastCommit = null; + for (Commit commit : commits) { if (commit.getTimestamp() >= maxTimeStamp) { maxTimeStamp = commit.getTimestamp(); lastCommit = commit; |