Avoid Multimap implementation create methods

Guava team recommends MultimapBuilder over specific Multimap
implementations, so callers don't have to know the specific key/value
behaviors of the individual implementations. The static factory
methods in the implementations will be removed in a later version.

LinkedListMultimap and LinkedHashMultimap are not affected, since
MultimapBuilder lacks support for specifying linked entries, and thus
the factory methods are not in immediate danger of deletion.

Change-Id: I7744db687da84a7beae31d1cb8953e782ed23c1d
This commit is contained in:
Dave Borowitz
2017-01-13 16:45:47 -05:00
committed by David Pursehouse
parent 484da493b3
commit 0ecf8cf401
10 changed files with 30 additions and 22 deletions

View File

@@ -16,9 +16,9 @@ package com.google.gerrit.server.change;
import static java.util.stream.Collectors.joining;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.ImmutableListMultimap;
import com.google.common.collect.ListMultimap;
import com.google.common.collect.MultimapBuilder;
import com.google.gerrit.common.Nullable;
import com.google.gerrit.extensions.api.changes.NotifyHandling;
import com.google.gerrit.extensions.api.changes.NotifyInfo;
@@ -89,7 +89,7 @@ public class NotifyUtil {
List<String> accounts = e.getValue().accounts;
if (accounts != null) {
if (m == null) {
m = ArrayListMultimap.create();
m = MultimapBuilder.hashKeys().arrayListValues().build();
}
m.putAll(e.getKey(), find(dbProvider.get(), accounts));
}

View File

@@ -14,8 +14,8 @@
package com.google.gerrit.server.config;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.ListMultimap;
import com.google.common.collect.MultimapBuilder;
import org.eclipse.jgit.revwalk.FooterLine;
@@ -38,7 +38,8 @@ public class TrackingFooters {
}
public ListMultimap<String, String> extract(List<FooterLine> lines) {
ListMultimap<String, String> r = ArrayListMultimap.create();
ListMultimap<String, String> r =
MultimapBuilder.hashKeys().arrayListValues().build();
if (lines == null) {
return r;
}

View File

@@ -15,8 +15,8 @@
package com.google.gerrit.server.schema;
import com.google.auto.value.AutoValue;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.ListMultimap;
import com.google.common.collect.MultimapBuilder;
import com.google.gerrit.common.Nullable;
import com.google.gerrit.reviewdb.client.Account;
import com.google.gerrit.reviewdb.client.Project;
@@ -73,7 +73,8 @@ public class Schema_139 extends SchemaVersion {
@Override
protected void migrateData(ReviewDb db, UpdateUI ui)
throws OrmException, SQLException {
ListMultimap<Account.Id, ProjectWatch> imports = ArrayListMultimap.create();
ListMultimap<Account.Id, ProjectWatch> imports =
MultimapBuilder.hashKeys().arrayListValues().build();
try (Statement stmt = ((JdbcSchema) db).getConnection().createStatement();
ResultSet rs = stmt.executeQuery(
"SELECT "