gerrit/plugins
Dave Borowitz 484da493b3 Prefer subtypes of Multimap
Guava team recommends using the subinterfaces of Multimap, for the
same reasons they recommend using Set and List rather than Collection:
it documents expectations about ordering, uniqueness, and behavior of
equals. Do this across the board in Gerrit.

Mostly this is straightforward and I tried to exactly match existing
behavior where possible. However, there were a few wrinkles, where
different callers passed different subtypes to the same method.

The main one is arguments to ParameterParser#parse and
splitQueryString, where some callers used SetMultimaps (perhaps
semi-intentionally, or perhaps misunderstanding the nature of
HashMultimap). For the purposes of parameter parsing, a ListMultimap
makes more sense, because it preserves argument order and repetition.

Another instance is a couple places in ReceiveCommits and downstream
where there were SetMultimap<?, Ref>. Since Refs do not implement
equals, this is effectively the same thing as a ListMultimap, and
changing the interface no longer misleads readers into thinking there
might be some deduplication happening.

Finally, this change includes a breaking API change to the return
type of ExternalIncludedIn#getIncludedIn.

Change-Id: I5f1d15e27a32e534a6aaefe204e7a31815f4c8d7
2017-01-18 10:36:38 +09:00
..
commit-message-length-validator@1c9b04feb0 Update git submodules 2016-12-07 15:12:22 +00:00
cookbook-plugin@ea6c8c3949 Prefer subtypes of Multimap 2017-01-18 10:36:38 +09:00
download-commands@29b2516f2c Update git submodules 2016-12-07 15:12:22 +00:00
hooks@e5b687e9fc Update git submodules 2016-12-07 15:12:22 +00:00
replication@66f08f2460 Prefer subtypes of Multimap 2017-01-18 10:36:38 +09:00
reviewnotes@a4586ed9cf Update git submodules 2016-12-07 15:12:22 +00:00
singleusergroup@d0d51ea46e Require account index and remove fallbacks 2016-12-29 11:23:56 +01:00
BUCK Move hooks from core Gerrit to 'hooks' plugin 2016-07-04 11:06:18 +09:00
BUILD Bazel: Reformat build files 2016-12-07 11:33:07 +00:00