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:
parent
484da493b3
commit
0ecf8cf401
@ -45,13 +45,13 @@ import com.google.common.base.CharMatcher;
|
||||
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.ImmutableListMultimap;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.Iterables;
|
||||
import com.google.common.collect.ListMultimap;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.MultimapBuilder;
|
||||
import com.google.common.io.BaseEncoding;
|
||||
import com.google.common.io.CountingOutputStream;
|
||||
import com.google.common.math.IntMath;
|
||||
@ -245,8 +245,10 @@ public class RestApiServlet extends HttpServlet {
|
||||
int status = SC_OK;
|
||||
long responseBytes = -1;
|
||||
Object result = null;
|
||||
ListMultimap<String, String> params = ArrayListMultimap.create();
|
||||
ListMultimap<String, String> config = ArrayListMultimap.create();
|
||||
ListMultimap<String, String> params =
|
||||
MultimapBuilder.hashKeys().arrayListValues().build();
|
||||
ListMultimap<String, String> config =
|
||||
MultimapBuilder.hashKeys().arrayListValues().build();
|
||||
Object inputRequestBody = null;
|
||||
RestResource rsrc = TopLevelResource.INSTANCE;
|
||||
ViewData viewData = null;
|
||||
|
@ -14,8 +14,8 @@
|
||||
|
||||
package com.google.gerrit.httpd.rpc;
|
||||
|
||||
import com.google.common.collect.ArrayListMultimap;
|
||||
import com.google.common.collect.ListMultimap;
|
||||
import com.google.common.collect.MultimapBuilder;
|
||||
import com.google.gerrit.audit.AuditService;
|
||||
import com.google.gerrit.audit.RpcAuditEvent;
|
||||
import com.google.gerrit.common.TimeUtil;
|
||||
@ -154,7 +154,8 @@ final class GerritJsonServlet extends JsonServlet<GerritJsonServlet.GerritCall>
|
||||
}
|
||||
|
||||
private ListMultimap<String, ?> extractParams(Audit note, GerritCall call) {
|
||||
ListMultimap<String, Object> args = ArrayListMultimap.create();
|
||||
ListMultimap<String, Object> args =
|
||||
MultimapBuilder.hashKeys().arrayListValues().build();
|
||||
|
||||
Object[] params = call.getParams();
|
||||
for (int i = 0; i < params.length; i++) {
|
||||
|
@ -24,11 +24,11 @@ import static com.google.gerrit.server.index.change.ChangeIndexRewriter.OPEN_STA
|
||||
import static java.util.stream.Collectors.toList;
|
||||
|
||||
import com.google.common.base.Throwables;
|
||||
import com.google.common.collect.ArrayListMultimap;
|
||||
import com.google.common.collect.Collections2;
|
||||
import com.google.common.collect.FluentIterable;
|
||||
import com.google.common.collect.Iterables;
|
||||
import com.google.common.collect.ListMultimap;
|
||||
import com.google.common.collect.MultimapBuilder;
|
||||
import com.google.common.collect.Sets;
|
||||
import com.google.common.util.concurrent.Futures;
|
||||
import com.google.common.util.concurrent.ListeningExecutorService;
|
||||
@ -411,7 +411,7 @@ public class LuceneChangeIndex implements ChangeIndex {
|
||||
private static ListMultimap<String, IndexableField> fields(Document doc,
|
||||
Set<String> fields) {
|
||||
ListMultimap<String, IndexableField> stored =
|
||||
ArrayListMultimap.create(fields.size(), 4);
|
||||
MultimapBuilder.hashKeys(fields.size()).arrayListValues(4).build();
|
||||
for (IndexableField f : doc) {
|
||||
String name = f.name();
|
||||
if (fields.contains(name)) {
|
||||
@ -559,7 +559,8 @@ public class LuceneChangeIndex implements ChangeIndex {
|
||||
private void decodeStar(ListMultimap<String, IndexableField> doc,
|
||||
ChangeData cd) {
|
||||
Collection<IndexableField> star = doc.get(STAR_FIELD);
|
||||
ListMultimap<Account.Id, String> stars = ArrayListMultimap.create();
|
||||
ListMultimap<Account.Id, String> stars =
|
||||
MultimapBuilder.hashKeys().arrayListValues().build();
|
||||
for (IndexableField r : star) {
|
||||
StarredChangesUtil.StarField starField =
|
||||
StarredChangesUtil.StarField.parse(r.stringValue());
|
||||
|
@ -20,10 +20,10 @@ import static com.google.gerrit.server.schema.DataSourceProvider.Context.MULTI_U
|
||||
|
||||
import com.google.common.base.Predicates;
|
||||
import com.google.common.base.Stopwatch;
|
||||
import com.google.common.collect.ArrayListMultimap;
|
||||
import com.google.common.collect.ImmutableListMultimap;
|
||||
import com.google.common.collect.Iterables;
|
||||
import com.google.common.collect.ListMultimap;
|
||||
import com.google.common.collect.MultimapBuilder;
|
||||
import com.google.common.collect.Ordering;
|
||||
import com.google.common.util.concurrent.Futures;
|
||||
import com.google.common.util.concurrent.ListenableFuture;
|
||||
@ -246,7 +246,7 @@ public class RebuildNoteDb extends SiteProgram {
|
||||
// Memorize all changes so we can close the db connection and allow
|
||||
// rebuilder threads to use the full connection pool.
|
||||
ListMultimap<Project.NameKey, Change.Id> changesByProject =
|
||||
ArrayListMultimap.create();
|
||||
MultimapBuilder.hashKeys().arrayListValues().build();
|
||||
try (ReviewDb db = schemaFactory.open()) {
|
||||
if (projects.isEmpty() && !changes.isEmpty()) {
|
||||
Iterable<Change> todo = unwrapDb(db).changes()
|
||||
|
@ -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));
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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 "
|
||||
|
@ -14,8 +14,8 @@
|
||||
|
||||
package com.google.gerrit.sshd;
|
||||
|
||||
import com.google.common.collect.ArrayListMultimap;
|
||||
import com.google.common.collect.ListMultimap;
|
||||
import com.google.common.collect.MultimapBuilder;
|
||||
import com.google.gerrit.audit.AuditService;
|
||||
import com.google.gerrit.audit.SshAuditEvent;
|
||||
import com.google.gerrit.common.TimeUtil;
|
||||
@ -158,12 +158,13 @@ class SshLog implements LifecycleListener {
|
||||
|
||||
private ListMultimap<String, ?> extractParameters(DispatchCommand dcmd) {
|
||||
if (dcmd == null) {
|
||||
return ArrayListMultimap.create(0, 0);
|
||||
return MultimapBuilder.hashKeys(0).arrayListValues(0).build();
|
||||
}
|
||||
String[] cmdArgs = dcmd.getArguments();
|
||||
String paramName = null;
|
||||
int argPos = 0;
|
||||
ListMultimap<String, String> parms = ArrayListMultimap.create();
|
||||
ListMultimap<String, String> parms =
|
||||
MultimapBuilder.hashKeys().arrayListValues().build();
|
||||
for (int i = 2; i < cmdArgs.length; i++) {
|
||||
String arg = cmdArgs[i];
|
||||
// -- stop parameters parsing
|
||||
|
@ -35,9 +35,9 @@
|
||||
package com.google.gerrit.util.cli;
|
||||
|
||||
import com.google.common.base.Strings;
|
||||
import com.google.common.collect.ArrayListMultimap;
|
||||
import com.google.common.collect.ListMultimap;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.MultimapBuilder;
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.assistedinject.Assisted;
|
||||
|
||||
@ -224,7 +224,8 @@ public class CmdLineParser {
|
||||
|
||||
public void parseOptionMap(Map<String, String[]> parameters)
|
||||
throws CmdLineException {
|
||||
ListMultimap<String, String> map = ArrayListMultimap.create();
|
||||
ListMultimap<String, String> map =
|
||||
MultimapBuilder.hashKeys().arrayListValues().build();
|
||||
for (Map.Entry<String, String[]> ent : parameters.entrySet()) {
|
||||
for (String val : ent.getValue()) {
|
||||
map.put(ent.getKey(), val);
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit ea6c8c3949cecfd6547ce1e97d2dddbb2669e827
|
||||
Subproject commit da185134efc5f1f45f7a0cfd4cb68110312fd216
|
Loading…
Reference in New Issue
Block a user