Migrate from to-be-deprecated multimap factory methods

Guava will soon prefer explicitly stating intention with
MultimapBuilder, rather than callers having to know about specific
Multimap implementations.

Change-Id: I96babb895eb5a51f27ef65f02eaf99bf07d913a9
This commit is contained in:
Dave Borowitz
2016-12-07 10:04:10 -05:00
committed by Edwin Kempin
parent 6360a1b694
commit b3e1918cc8
30 changed files with 98 additions and 83 deletions

View File

@@ -17,15 +17,16 @@ package com.google.gerrit.audit;
import com.google.auto.value.AutoValue;
import com.google.common.base.MoreObjects;
import com.google.common.base.Preconditions;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap;
import com.google.common.collect.MultimapBuilder;
import com.google.gerrit.common.TimeUtil;
import com.google.gerrit.server.CurrentUser;
public class AuditEvent {
public static final String UNKNOWN_SESSION_ID = "000000000000000000000000000";
protected static final Multimap<String, ?> EMPTY_PARAMS = HashMultimap.create();
protected static final Multimap<String, ?> EMPTY_PARAMS =
MultimapBuilder.hashKeys().hashSetValues().build();
public final String sessionId;
public final CurrentUser who;

View File

@@ -16,10 +16,10 @@ package com.google.gerrit.server.account;
import static com.google.gerrit.server.account.GroupBackends.GROUP_REF_NAME_COMPARATOR;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Iterables;
import com.google.common.collect.Multimap;
import com.google.common.collect.MultimapBuilder;
import com.google.common.collect.Sets;
import com.google.gerrit.common.Nullable;
import com.google.gerrit.common.data.GroupDescription;
@@ -139,7 +139,7 @@ public class UniversalGroupBackend implements GroupBackend {
@Override
public boolean containsAnyOf(Iterable<AccountGroup.UUID> uuids) {
Multimap<GroupMembership, AccountGroup.UUID> lookups =
ArrayListMultimap.create();
MultimapBuilder.hashKeys().arrayListValues().build();
for (AccountGroup.UUID uuid : uuids) {
if (uuid == null) {
continue;
@@ -169,7 +169,7 @@ public class UniversalGroupBackend implements GroupBackend {
@Override
public Set<AccountGroup.UUID> intersection(Iterable<AccountGroup.UUID> uuids) {
Multimap<GroupMembership, AccountGroup.UUID> lookups =
ArrayListMultimap.create();
MultimapBuilder.hashKeys().arrayListValues().build();
for (AccountGroup.UUID uuid : uuids) {
if (uuid == null) {
continue;

View File

@@ -23,10 +23,10 @@ import com.google.common.base.Enums;
import com.google.common.base.Joiner;
import com.google.common.base.Splitter;
import com.google.common.base.Strings;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Multimap;
import com.google.common.collect.MultimapBuilder;
import com.google.common.collect.Sets;
import com.google.gerrit.common.Nullable;
import com.google.gerrit.reviewdb.client.Account;
@@ -258,7 +258,8 @@ public class WatchConfig extends VersionedMetaData
cfg.unsetSection(PROJECT, projectName);
}
Multimap<String, String> notifyValuesByProject = ArrayListMultimap.create();
Multimap<String, String> notifyValuesByProject =
MultimapBuilder.hashKeys().arrayListValues().build();
for (Map.Entry<ProjectWatchKey, Set<NotifyType>> e : projectWatches
.entrySet()) {
NotifyValue notifyValue =

View File

@@ -44,7 +44,6 @@ import com.google.common.base.MoreObjects;
import com.google.common.base.Throwables;
import com.google.common.collect.FluentIterable;
import com.google.common.collect.HashBasedTable;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Iterables;
@@ -52,6 +51,7 @@ import com.google.common.collect.LinkedHashMultimap;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Multimap;
import com.google.common.collect.MultimapBuilder;
import com.google.common.collect.SetMultimap;
import com.google.common.collect.Sets;
import com.google.common.collect.Table;
@@ -820,7 +820,8 @@ public class ChangeJson {
}
Set<String> labelNames = new HashSet<>();
Multimap<Account.Id, PatchSetApproval> current = HashMultimap.create();
Multimap<Account.Id, PatchSetApproval> current =
MultimapBuilder.hashKeys().hashSetValues().build();
for (PatchSetApproval a : cd.currentApprovals()) {
allUsers.add(a.getAccountId());
LabelType type = labelTypes.byLabel(a.getLabelId());

View File

@@ -14,8 +14,8 @@
package com.google.gerrit.server.change;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.ListMultimap;
import com.google.common.collect.MultimapBuilder;
import com.google.gerrit.extensions.common.BlameInfo;
import com.google.gerrit.extensions.common.RangeInfo;
import com.google.gerrit.extensions.restapi.BadRequestException;
@@ -132,7 +132,8 @@ public class GetBlame implements RestReadView<FileResource> {
private List<BlameInfo> blame(ObjectId id, String path,
Repository repository, RevWalk revWalk) throws IOException {
ListMultimap<BlameInfo, RangeInfo> ranges = ArrayListMultimap.create();
ListMultimap<BlameInfo, RangeInfo> ranges =
MultimapBuilder.hashKeys().arrayListValues().build();
List<BlameInfo> result = new ArrayList<>();
if (blameCache.findLastCommit(repository, id, path) == null) {
return result;

View File

@@ -14,8 +14,8 @@
package com.google.gerrit.server.change;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Multimap;
import com.google.common.collect.MultimapBuilder;
import com.google.gerrit.extensions.config.ExternalIncludedIn;
import com.google.gerrit.extensions.registration.DynamicSet;
import com.google.gerrit.extensions.restapi.BadRequestException;
@@ -81,7 +81,8 @@ class IncludedIn implements RestReadView<ChangeResource> {
}
IncludedInResolver.Result d = IncludedInResolver.resolve(r, rw, rev);
Multimap<String, String> external = ArrayListMultimap.create();
Multimap<String, String> external =
MultimapBuilder.hashKeys().arrayListValues().build();
for (ExternalIncludedIn ext : includedIn) {
Multimap<String, String> extIncludedIns = ext.getIncludedIn(
project.get(), rev.name(), d.getTags(), d.getBranches());

View File

@@ -19,11 +19,11 @@ import static com.google.common.base.Preconditions.checkNotNull;
import com.google.auto.value.AutoValue;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ListMultimap;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.MultimapBuilder;
import com.google.gerrit.reviewdb.client.Change;
import com.google.gerrit.reviewdb.client.PatchSet;
import com.google.gerrit.reviewdb.client.Project;
@@ -72,10 +72,10 @@ class RelatedChangesSorter {
// Map of patch set -> immediate parent.
ListMultimap<PatchSetData, PatchSetData> parents =
ArrayListMultimap.create(in.size(), 3);
MultimapBuilder.hashKeys(in.size()).arrayListValues(3).build();
// Map of patch set -> immediate children.
ListMultimap<PatchSetData, PatchSetData> children =
ArrayListMultimap.create(in.size(), 3);
MultimapBuilder.hashKeys(in.size()).arrayListValues(3).build();
// All other patch sets of the same change as startPs.
List<PatchSetData> otherPatchSetsOfStart = new ArrayList<>();

View File

@@ -18,10 +18,10 @@ import static com.google.common.base.Preconditions.checkState;
import com.google.auto.value.AutoValue;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
import com.google.common.collect.Multimap;
import com.google.common.collect.MultimapBuilder;
import com.google.common.collect.Ordering;
import com.google.gerrit.reviewdb.client.PatchSet;
import com.google.gerrit.reviewdb.client.Project;
@@ -106,7 +106,7 @@ class WalkSorter {
public Iterable<PatchSetData> sort(Iterable<ChangeData> in)
throws OrmException, IOException {
Multimap<Project.NameKey, ChangeData> byProject =
ArrayListMultimap.create();
MultimapBuilder.hashKeys().arrayListValues().build();
for (ChangeData cd : in) {
byProject.put(cd.change().getProject(), cd);
}
@@ -152,7 +152,8 @@ class WalkSorter {
Set<RevCommit> commits = byCommit.keySet();
Multimap<RevCommit, RevCommit> children = collectChildren(commits);
Multimap<RevCommit, RevCommit> pending = ArrayListMultimap.create();
Multimap<RevCommit, RevCommit> pending =
MultimapBuilder.hashKeys().arrayListValues().build();
Deque<RevCommit> todo = new ArrayDeque<>();
RevFlag done = rw.newFlag("done");
@@ -196,7 +197,8 @@ class WalkSorter {
private static Multimap<RevCommit, RevCommit> collectChildren(
Set<RevCommit> commits) {
Multimap<RevCommit, RevCommit> children = ArrayListMultimap.create();
Multimap<RevCommit, RevCommit> children =
MultimapBuilder.hashKeys().arrayListValues().build();
for (RevCommit c : commits) {
for (RevCommit p : c.getParents()) {
if (commits.contains(p)) {
@@ -224,7 +226,7 @@ class WalkSorter {
private Multimap<RevCommit, PatchSetData> byCommit(RevWalk rw,
Collection<ChangeData> in) throws OrmException, IOException {
Multimap<RevCommit, PatchSetData> byCommit =
ArrayListMultimap.create(in.size(), 1);
MultimapBuilder.hashKeys(in.size()).arrayListValues(1).build();
for (ChangeData cd : in) {
PatchSet maxPs = null;
for (PatchSet ps : cd.patchSets()) {

View File

@@ -14,13 +14,13 @@
package com.google.gerrit.server.git;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.ImmutableCollection;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.ListMultimap;
import com.google.common.collect.Multimap;
import com.google.common.collect.MultimapBuilder;
import com.google.gerrit.reviewdb.client.Branch;
import com.google.gerrit.reviewdb.client.Change;
import com.google.gerrit.server.query.change.ChangeData;
@@ -85,7 +85,7 @@ public class ChangeSet {
public Multimap<Branch.NameKey, ChangeData> changesByBranch()
throws OrmException {
ListMultimap<Branch.NameKey, ChangeData> ret =
ArrayListMultimap.create();
MultimapBuilder.hashKeys().arrayListValues().build();
for (ChangeData cd : changeData.values()) {
ret.put(cd.change().getDest(), cd);
}

View File

@@ -14,8 +14,8 @@
package com.google.gerrit.server.git;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.Lists;
import com.google.common.collect.MultimapBuilder;
import com.google.common.collect.SetMultimap;
import com.google.common.collect.Sets;
import com.google.gerrit.reviewdb.client.Branch;
@@ -27,7 +27,8 @@ import java.util.Set;
public class DestinationList extends TabFile {
public static final String DIR_NAME = "destinations";
private SetMultimap<String, Branch.NameKey> destinations = HashMultimap.create();
private SetMultimap<String, Branch.NameKey> destinations =
MultimapBuilder.hashKeys().hashSetValues().build();
public Set<Branch.NameKey> getDestinations(String label) {
return destinations.get(label);

View File

@@ -18,8 +18,6 @@ import static com.google.common.base.Preconditions.checkState;
import static org.eclipse.jgit.revwalk.RevFlag.UNINTERESTING;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Iterables;
@@ -150,8 +148,8 @@ public class GroupCollector {
Lookup groupLookup) {
this.patchSetsBySha = patchSetsBySha;
this.groupLookup = groupLookup;
groups = ArrayListMultimap.create();
groupAliases = HashMultimap.create();
groups = MultimapBuilder.hashKeys().arrayListValues().build();
groupAliases = MultimapBuilder.hashKeys().hashSetValues().build();
}
private static Multimap<ObjectId, PatchSet.Id> transformRefs(

View File

@@ -21,7 +21,6 @@ import static java.util.Comparator.comparing;
import com.google.auto.value.AutoValue;
import com.google.common.base.Joiner;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableMultimap;
import com.google.common.collect.ImmutableSet;
@@ -708,7 +707,7 @@ public class MergeOp implements AutoCloseable {
}
}
Multimap<ObjectId, PatchSet.Id> revisions =
HashMultimap.create(cds.size(), 1);
MultimapBuilder.hashKeys(cds.size()).hashSetValues(1).build();
for (Map.Entry<String, Ref> e : or.repo.getRefDatabase().exactRef(
refNames.toArray(new String[refNames.size()])).entrySet()) {
revisions.put(

View File

@@ -35,10 +35,8 @@ import static org.eclipse.jgit.transport.ReceiveCommand.Result.REJECTED_OTHER_RE
import com.google.common.base.Function;
import com.google.common.base.Splitter;
import com.google.common.base.Strings;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.BiMap;
import com.google.common.collect.HashBiMap;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableListMultimap;
import com.google.common.collect.Iterables;
@@ -47,6 +45,7 @@ import com.google.common.collect.ListMultimap;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Multimap;
import com.google.common.collect.MultimapBuilder;
import com.google.common.collect.SetMultimap;
import com.google.common.collect.Sets;
import com.google.common.collect.SortedSetMultimap;
@@ -1327,7 +1326,7 @@ public class ReceiveCommits {
Multimap<RecipientType, Account.Id> getAccountsToNotify() {
Multimap<RecipientType, Account.Id> accountsToNotify =
ArrayListMultimap.create();
MultimapBuilder.hashKeys().arrayListValues().build();
accountsToNotify.putAll(RecipientType.TO, tos);
accountsToNotify.putAll(RecipientType.CC, ccs);
accountsToNotify.putAll(RecipientType.BCC, bccs);
@@ -2527,10 +2526,11 @@ public class ReceiveCommits {
private void initChangeRefMaps() {
if (refsByChange == null) {
int estRefsPerChange = 4;
refsById = HashMultimap.create();
refsByChange = ArrayListMultimap.create(
allRefs.size() / estRefsPerChange,
estRefsPerChange);
refsById = MultimapBuilder.hashKeys().hashSetValues().build();
refsByChange =
MultimapBuilder.hashKeys(allRefs.size() / estRefsPerChange)
.arrayListValues(estRefsPerChange)
.build();
for (Ref ref : allRefs.values()) {
ObjectId obj = ref.getObjectId();
if (obj != null) {

View File

@@ -14,9 +14,9 @@
package com.google.gerrit.server.git;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Multimap;
import com.google.common.collect.MultimapBuilder;
import com.google.common.collect.SetMultimap;
import com.google.gerrit.common.data.SubscribeSection;
import com.google.gerrit.extensions.restapi.RestApiException;
@@ -139,11 +139,11 @@ public class SubmoduleOp {
"enableSuperProjectSubscriptions", true);
this.orm = orm;
this.updatedBranches = updatedBranches;
this.targets = HashMultimap.create();
this.targets = MultimapBuilder.hashKeys().hashSetValues().build();
this.affectedBranches = new HashSet<>();
this.branchTips = new HashMap<>();
this.branchGitModules = new HashMap<>();
this.branchesByProject = HashMultimap.create();
this.branchesByProject = MultimapBuilder.hashKeys().hashSetValues().build();
this.sortedBranches = calculateSubscriptionMap();
}

View File

@@ -18,11 +18,11 @@ import static com.google.gerrit.server.git.QueueProvider.QueueType.BATCH;
import static org.eclipse.jgit.lib.RefDatabase.ALL;
import com.google.common.base.Stopwatch;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.ComparisonChain;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
import com.google.common.collect.Multimap;
import com.google.common.collect.MultimapBuilder;
import com.google.common.collect.Sets;
import com.google.common.util.concurrent.AsyncFunction;
import com.google.common.util.concurrent.Futures;
@@ -216,7 +216,8 @@ public class AllChangesIndexer
return new Callable<Void>() {
@Override
public Void call() throws Exception {
Multimap<ObjectId, ChangeData> byId = ArrayListMultimap.create();
Multimap<ObjectId, ChangeData> byId =
MultimapBuilder.hashKeys().arrayListValues().build();
// TODO(dborowitz): Opening all repositories in a live server may be
// wasteful; see if we can determine which ones it is safe to close
// with RepositoryCache.close(repo).

View File

@@ -22,11 +22,10 @@ import static java.util.stream.Collectors.joining;
import com.google.auto.value.AutoValue;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Splitter;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.ListMultimap;
import com.google.common.collect.Multimap;
import com.google.common.collect.MultimapBuilder;
import com.google.common.collect.SetMultimap;
import com.google.common.collect.Sets;
import com.google.gerrit.common.Nullable;
@@ -155,7 +154,8 @@ public class StalenessChecker {
public static SetMultimap<Project.NameKey, RefState> parseStates(
Iterable<byte[]> states) {
RefState.check(states != null, null);
SetMultimap<Project.NameKey, RefState> result = HashMultimap.create();
SetMultimap<Project.NameKey, RefState> result =
MultimapBuilder.hashKeys().hashSetValues().build();
for (byte[] b : states) {
RefState.check(b != null, null);
String s = new String(b, UTF_8);
@@ -181,7 +181,7 @@ public class StalenessChecker {
Iterable<byte[]> patterns) {
RefStatePattern.check(patterns != null, null);
ListMultimap<Project.NameKey, RefStatePattern> result =
ArrayListMultimap.create();
MultimapBuilder.hashKeys().arrayListValues().build();
for (byte[] b : patterns) {
RefStatePattern.check(b != null, null);
String s = new String(b, UTF_8);

View File

@@ -22,7 +22,6 @@ import static com.google.gerrit.server.notedb.NoteDbTable.CHANGES;
import static java.util.Comparator.comparing;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableListMultimap;
import com.google.common.collect.ImmutableSet;
@@ -31,6 +30,7 @@ import com.google.common.collect.ImmutableSortedSet;
import com.google.common.collect.Iterables;
import com.google.common.collect.ListMultimap;
import com.google.common.collect.Multimap;
import com.google.common.collect.MultimapBuilder;
import com.google.common.collect.Multimaps;
import com.google.common.collect.Ordering;
import com.google.gerrit.common.Nullable;
@@ -253,7 +253,8 @@ public class ChangeNotes extends AbstractChangeNotes<ChangeNotes> {
public ListMultimap<Project.NameKey, ChangeNotes> create(ReviewDb db,
Predicate<ChangeNotes> predicate) throws IOException, OrmException {
ListMultimap<Project.NameKey, ChangeNotes> m = ArrayListMultimap.create();
ListMultimap<Project.NameKey, ChangeNotes> m =
MultimapBuilder.hashKeys().arrayListValues().build();
if (args.migration.readChanges()) {
for (Project.NameKey project : projectCache.all()) {
try (Repository repo = args.repoManager.openRepository(project)) {

View File

@@ -16,8 +16,8 @@ package com.google.gerrit.server.notedb;
import static com.google.common.base.Preconditions.checkArgument;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.ListMultimap;
import com.google.common.collect.MultimapBuilder;
import com.google.gerrit.server.git.InMemoryInserter;
import com.google.gerrit.server.git.InsertedObject;
@@ -118,7 +118,8 @@ public class ChangeNotesCommit extends RevCommit {
public List<String> getFooterLineValues(FooterKey key) {
if (footerLines == null) {
List<FooterLine> src = getFooterLines();
footerLines = ArrayListMultimap.create(src.size(), 1);
footerLines =
MultimapBuilder.hashKeys(src.size()).arrayListValues(1).build();
for (FooterLine fl : src) {
footerLines.put(fl.getKey().toLowerCase(), fl.getValue());
}

View File

@@ -37,13 +37,13 @@ import static java.util.stream.Collectors.joining;
import com.google.auto.value.AutoValue;
import com.google.common.base.Enums;
import com.google.common.base.Splitter;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.HashBasedTable;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.LinkedListMultimap;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Multimap;
import com.google.common.collect.MultimapBuilder;
import com.google.common.collect.Sets;
import com.google.common.collect.Table;
import com.google.common.collect.Tables;
@@ -175,7 +175,7 @@ class ChangeNotesParser {
submitRecords = Lists.newArrayListWithExpectedSize(1);
allChangeMessages = new ArrayList<>();
changeMessagesByPatchSet = LinkedListMultimap.create();
comments = ArrayListMultimap.create();
comments = MultimapBuilder.hashKeys().arrayListValues().build();
patchSets = Maps.newTreeMap(comparing(PatchSet.Id::get));
deletedPatchSets = new HashSet<>();
patchSetStates = new HashMap<>();
@@ -240,7 +240,8 @@ class ChangeNotesParser {
}
private Multimap<PatchSet.Id, PatchSetApproval> buildApprovals() {
Multimap<PatchSet.Id, PatchSetApproval> result = ArrayListMultimap.create();
Multimap<PatchSet.Id, PatchSetApproval> result =
MultimapBuilder.hashKeys().arrayListValues().build();
for (PatchSetApproval a : approvals.values()) {
if (!patchSets.containsKey(a.getPatchSetId())) {
continue; // Patch set deleted or missing.

View File

@@ -18,9 +18,9 @@ import static com.google.common.base.Preconditions.checkNotNull;
import static com.google.gerrit.server.notedb.NoteDbTable.CHANGES;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.ImmutableListMultimap;
import com.google.common.collect.Multimap;
import com.google.common.collect.MultimapBuilder;
import com.google.gerrit.metrics.Timer1;
import com.google.gerrit.reviewdb.client.Account;
import com.google.gerrit.reviewdb.client.Change;
@@ -146,7 +146,8 @@ public class DraftCommentNotes extends AbstractChangeNotes<DraftCommentNotes> {
revisionNoteMap = RevisionNoteMap.parse(
args.noteUtil, getChangeId(), reader, NoteMap.read(reader, tipCommit),
PatchLineComment.Status.DRAFT);
Multimap<RevId, Comment> cs = ArrayListMultimap.create();
Multimap<RevId, Comment> cs =
MultimapBuilder.hashKeys().arrayListValues().build();
for (ChangeRevisionNote rn : revisionNoteMap.revisionNotes.values()) {
for (Comment c : rn.getComments()) {
cs.put(new RevId(c.revId), c);

View File

@@ -22,10 +22,10 @@ import static com.google.gerrit.reviewdb.client.RefNames.REFS_DRAFT_COMMENTS;
import static com.google.gerrit.server.notedb.NoteDbTable.CHANGES;
import com.google.auto.value.AutoValue;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.HashBasedTable;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ListMultimap;
import com.google.common.collect.MultimapBuilder;
import com.google.common.collect.Table;
import com.google.gerrit.common.Nullable;
import com.google.gerrit.metrics.Timer1;
@@ -201,9 +201,9 @@ public class NoteDbUpdateManager implements AutoCloseable {
this.allUsersName = allUsersName;
this.metrics = metrics;
this.projectName = projectName;
changeUpdates = ArrayListMultimap.create();
draftUpdates = ArrayListMultimap.create();
robotCommentUpdates = ArrayListMultimap.create();
changeUpdates = MultimapBuilder.hashKeys().arrayListValues().build();
draftUpdates = MultimapBuilder.hashKeys().arrayListValues().build();
robotCommentUpdates = MultimapBuilder.hashKeys().arrayListValues().build();
toDelete = new HashSet<>();
}

View File

@@ -18,9 +18,9 @@ import static com.google.common.base.Preconditions.checkArgument;
import static com.google.gerrit.server.CommentsUtil.COMMENT_ORDER;
import static java.nio.charset.StandardCharsets.UTF_8;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Maps;
import com.google.common.collect.Multimap;
import com.google.common.collect.MultimapBuilder;
import com.google.gerrit.reviewdb.client.Comment;
import com.google.gerrit.reviewdb.client.RevId;
@@ -113,7 +113,8 @@ class RevisionNoteBuilder {
}
private Multimap<Integer, Comment> buildCommentMap() {
Multimap<Integer, Comment> all = ArrayListMultimap.create();
Multimap<Integer, Comment> all =
MultimapBuilder.hashKeys().arrayListValues().build();
for (Comment c : baseComments) {
if (!delete.contains(c.key) && !put.containsKey(c.key)) {

View File

@@ -14,9 +14,9 @@
package com.google.gerrit.server.notedb;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.ImmutableListMultimap;
import com.google.common.collect.Multimap;
import com.google.common.collect.MultimapBuilder;
import com.google.gerrit.common.Nullable;
import com.google.gerrit.reviewdb.client.Change;
import com.google.gerrit.reviewdb.client.Project;
@@ -95,7 +95,8 @@ public class RobotCommentNotes extends AbstractChangeNotes<RobotCommentNotes> {
ObjectReader reader = handle.walk().getObjectReader();
revisionNoteMap = RevisionNoteMap.parseRobotComments(args.noteUtil, reader,
NoteMap.read(reader, tipCommit));
Multimap<RevId, RobotComment> cs = ArrayListMultimap.create();
Multimap<RevId, RobotComment> cs =
MultimapBuilder.hashKeys().arrayListValues().build();
for (RobotCommentsRevisionNote rn :
revisionNoteMap.revisionNotes.values()) {
for (RobotComment c : rn.getComments()) {

View File

@@ -23,11 +23,11 @@ import static java.util.concurrent.TimeUnit.SECONDS;
import static java.util.stream.Collectors.toList;
import com.google.common.base.Splitter;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Multimap;
import com.google.common.collect.MultimapBuilder;
import com.google.common.collect.Ordering;
import com.google.common.collect.Sets;
import com.google.common.collect.Table;
@@ -280,7 +280,7 @@ public class ChangeRebuilderImpl extends ChangeRebuilder {
// on author and timestamp.
List<Event> events = new ArrayList<>();
Multimap<Account.Id, DraftCommentEvent> draftCommentEvents =
ArrayListMultimap.create();
MultimapBuilder.hashKeys().arrayListValues().build();
events.addAll(getHashtagsEvents(change, manager));

View File

@@ -17,9 +17,8 @@ package com.google.gerrit.server.notedb.rebuild;
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkState;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.ListMultimap;
import com.google.common.collect.MultimapBuilder;
import com.google.common.collect.SetMultimap;
import java.util.Collections;
@@ -67,8 +66,8 @@ class EventSorter {
PriorityQueue<Event> todo = new PriorityQueue<>(out);
// Populate waiting map after initial sort to preserve natural order.
waiting = ArrayListMultimap.create();
deps = HashMultimap.create();
waiting = MultimapBuilder.hashKeys().arrayListValues().build();
deps = MultimapBuilder.hashKeys().hashSetValues().build();
for (Event e : todo) {
for (Event d : e.deps) {
deps.put(e, d);

View File

@@ -18,11 +18,11 @@ import static com.google.common.base.MoreObjects.firstNonNull;
import static com.google.common.collect.Iterables.transform;
import com.google.common.base.Strings;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Multimap;
import com.google.common.collect.MultimapBuilder;
import org.eclipse.jgit.util.IO;
import org.objectweb.asm.AnnotationVisitor;
@@ -67,7 +67,8 @@ public class JarScanner implements PluginContentScanner {
String pluginName, Iterable<Class<? extends Annotation>> annotations)
throws InvalidPluginException {
Set<String> descriptors = new HashSet<>();
Multimap<String, JarScanner.ClassData> rawMap = ArrayListMultimap.create();
Multimap<String, JarScanner.ClassData> rawMap =
MultimapBuilder.hashKeys().arrayListValues().build();
Map<Class<? extends Annotation>, String> classObjToClassDescr =
new HashMap<>();

View File

@@ -18,10 +18,10 @@ import static com.google.common.base.MoreObjects.firstNonNull;
import static com.google.gerrit.server.project.RefPattern.isRE;
import com.google.auto.value.AutoValue;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Multimap;
import com.google.common.collect.MultimapBuilder;
import com.google.gerrit.common.Nullable;
import com.google.gerrit.common.data.AccessSection;
import com.google.gerrit.common.data.Permission;
@@ -119,7 +119,7 @@ public class PermissionCollection {
HashMap<String, List<PermissionRule>> overridden = new HashMap<>();
Map<PermissionRule, ProjectRef> ruleProps = Maps.newIdentityHashMap();
Multimap<Project.NameKey, String> exclusivePermissionsByProject =
ArrayListMultimap.create();
MultimapBuilder.hashKeys().arrayListValues().build();
for (AccessSection section : sections) {
Project.NameKey project = sectionToProject.get(section);
for (Permission permission : section.getPermissions()) {

View File

@@ -15,10 +15,9 @@
package com.google.gerrit.server.schema;
import com.google.common.base.Joiner;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Multimap;
import com.google.common.collect.MultimapBuilder;
import com.google.common.collect.SetMultimap;
import com.google.common.collect.Sets;
import com.google.gerrit.reviewdb.client.Change;
@@ -102,8 +101,10 @@ public class Schema_108 extends SchemaVersion {
}
}
Multimap<ObjectId, Ref> changeRefsBySha = ArrayListMultimap.create();
Multimap<ObjectId, PatchSet.Id> patchSetsBySha = ArrayListMultimap.create();
Multimap<ObjectId, Ref> changeRefsBySha =
MultimapBuilder.hashKeys().arrayListValues().build();
Multimap<ObjectId, PatchSet.Id> patchSetsBySha =
MultimapBuilder.hashKeys().arrayListValues().build();
for (Ref ref : refdb.getRefs(RefNames.REFS_CHANGES).values()) {
ObjectId id = ref.getObjectId();
if (ref.getObjectId() == null) {
@@ -154,7 +155,7 @@ public class Schema_108 extends SchemaVersion {
SortedSet<NameKey> projects = repoManager.list();
SortedSet<NameKey> nonExistentProjects = Sets.newTreeSet();
SetMultimap<Project.NameKey, Change.Id> openByProject =
HashMultimap.create();
MultimapBuilder.hashKeys().hashSetValues().build();
for (Change c : db.changes().all()) {
Status status = c.getStatus();
if (status != null && status.isClosed()) {

View File

@@ -14,8 +14,8 @@
package com.google.gerrit.server.schema;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Multimap;
import com.google.common.collect.MultimapBuilder;
import com.google.gerrit.reviewdb.client.Account;
import com.google.gerrit.reviewdb.client.Change;
import com.google.gerrit.reviewdb.client.RefNames;
@@ -57,7 +57,8 @@ public class Schema_123 extends SchemaVersion {
@Override
protected void migrateData(ReviewDb db, UpdateUI ui)
throws OrmException, SQLException {
Multimap<Account.Id, Change.Id> imports = ArrayListMultimap.create();
Multimap<Account.Id, Change.Id> imports =
MultimapBuilder.hashKeys().arrayListValues().build();
try (Statement stmt = ((JdbcSchema) db).getConnection().createStatement();
ResultSet rs = stmt.executeQuery(
"SELECT "

View File

@@ -17,8 +17,8 @@ package com.google.gerrit.server.schema;
import static java.util.Comparator.comparing;
import com.google.common.base.Strings;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Multimap;
import com.google.common.collect.MultimapBuilder;
import com.google.common.collect.Ordering;
import com.google.gerrit.reviewdb.client.Account;
import com.google.gerrit.reviewdb.client.AccountSshKey;
@@ -71,7 +71,8 @@ public class Schema_124 extends SchemaVersion {
@Override
protected void migrateData(ReviewDb db, UpdateUI ui)
throws OrmException, SQLException {
Multimap<Account.Id, AccountSshKey> imports = ArrayListMultimap.create();
Multimap<Account.Id, AccountSshKey> imports =
MultimapBuilder.hashKeys().arrayListValues().build();
try (Statement stmt = ((JdbcSchema) db).getConnection().createStatement();
ResultSet rs = stmt.executeQuery(
"SELECT "