Adapt the use of @Inject and @AssistedInject

This change adapts our use of @Inject and @AssistedInject to be in-line
with what the Guice documentation governs [0, 1].

Specifically, @Inject should be used even if the constructor has
@Assisted parameters as long as it is the only injected constructor in
that class. @AssistedInject should be used if there are multiple
constructors with @Assisted parameters.

[0] https://google.github.io/guice/api-docs/4.1/javadoc/index.html?com/google/inject/assistedinject/FactoryModuleBuilder.html
[1] https://google.github.io/guice/api-docs/4.1/javadoc/com/google/inject/assistedinject/AssistedInject.html

Change-Id: I725df1e294d0758f4c27f8b86ec26c21adeb3d8f
This commit is contained in:
Patrick Hiesel 2017-03-23 09:15:19 +01:00
parent 75a22f5159
commit 2b9574c785
29 changed files with 55 additions and 58 deletions

View File

@ -38,9 +38,9 @@ import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gwtorm.server.OrmException;
import com.google.gwtorm.server.ResultSet;
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
import io.searchbox.client.JestResult;
import io.searchbox.core.Bulk;
import io.searchbox.core.Bulk.Builder;
@ -76,7 +76,7 @@ public class ElasticAccountIndex extends AbstractElasticIndex<Account.Id, Accoun
private final AccountMapping mapping;
private final Provider<AccountCache> accountCache;
@AssistedInject
@Inject
ElasticAccountIndex(
@GerritServerConfig Config cfg,
SitePaths sitePaths,

View File

@ -54,9 +54,9 @@ import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gwtorm.server.OrmException;
import com.google.gwtorm.server.ResultSet;
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
import io.searchbox.client.JestResult;
import io.searchbox.core.Bulk;
import io.searchbox.core.Bulk.Builder;
@ -99,7 +99,7 @@ class ElasticChangeIndex extends AbstractElasticIndex<Change.Id, ChangeData>
private final Provider<ReviewDb> db;
private final ChangeData.Factory changeDataFactory;
@AssistedInject
@Inject
ElasticChangeIndex(
@GerritServerConfig Config cfg,
Provider<ReviewDb> db,

View File

@ -35,9 +35,9 @@ import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gwtorm.server.OrmException;
import com.google.gwtorm.server.ResultSet;
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
import io.searchbox.client.JestResult;
import io.searchbox.core.Bulk;
import io.searchbox.core.Bulk.Builder;
@ -73,7 +73,7 @@ public class ElasticGroupIndex extends AbstractElasticIndex<AccountGroup.UUID, A
private final GroupMapping mapping;
private final Provider<GroupCache> groupCache;
@AssistedInject
@Inject
ElasticGroupIndex(
@GerritServerConfig Config cfg,
SitePaths sitePaths,

View File

@ -17,8 +17,8 @@ package com.google.gerrit.gpg;
import com.google.gerrit.server.IdentifiedUser;
import com.google.gerrit.server.config.AllUsersName;
import com.google.gerrit.server.git.GitRepositoryManager;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
import java.io.IOException;
import org.eclipse.jgit.lib.Repository;
@ -30,7 +30,7 @@ public class GerritPushCertificateChecker extends PushCertificateChecker {
private final GitRepositoryManager repoManager;
private final AllUsersName allUsers;
@AssistedInject
@Inject
GerritPushCertificateChecker(
GerritPublicKeyChecker.Factory keyCheckerFactory,
GitRepositoryManager repoManager,

View File

@ -21,8 +21,8 @@ import com.google.gerrit.gpg.server.DeleteGpgKey;
import com.google.gerrit.gpg.server.GpgKey;
import com.google.gerrit.gpg.server.GpgKeys;
import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
import java.io.IOException;
import org.bouncycastle.openpgp.PGPException;
import org.eclipse.jgit.errors.ConfigInvalidException;
@ -36,7 +36,7 @@ public class GpgKeyApiImpl implements GpgKeyApi {
private final DeleteGpgKey delete;
private final GpgKey rsrc;
@AssistedInject
@Inject
GpgKeyApiImpl(GpgKeys.Get get, DeleteGpgKey delete, @Assisted GpgKey rsrc) {
this.get = get;
this.delete = delete;

View File

@ -61,9 +61,9 @@ import com.google.gwtorm.protobuf.ProtobufCodec;
import com.google.gwtorm.server.OrmException;
import com.google.gwtorm.server.OrmRuntimeException;
import com.google.gwtorm.server.ResultSet;
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
import java.io.IOException;
import java.nio.file.Path;
import java.util.ArrayList;
@ -147,7 +147,7 @@ public class LuceneChangeIndex implements ChangeIndex {
private final ChangeSubIndex openIndex;
private final ChangeSubIndex closedIndex;
@AssistedInject
@Inject
LuceneChangeIndex(
@GerritServerConfig Config cfg,
SitePaths sitePaths,

View File

@ -42,8 +42,8 @@ import com.google.gerrit.server.group.PutName;
import com.google.gerrit.server.group.PutOptions;
import com.google.gerrit.server.group.PutOwner;
import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
@ -73,7 +73,7 @@ class GroupApiImpl implements GroupApi {
private final GroupResource rsrc;
private final Index index;
@AssistedInject
@Inject
GroupApiImpl(
GetGroup getGroup,
GetDetail getDetail,

View File

@ -19,8 +19,8 @@ import com.google.gerrit.extensions.common.ProjectInfo;
import com.google.gerrit.extensions.restapi.RestApiException;
import com.google.gerrit.server.project.ChildProjectResource;
import com.google.gerrit.server.project.GetChildProject;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
public class ChildProjectApiImpl implements ChildProjectApi {
interface Factory {
@ -30,7 +30,7 @@ public class ChildProjectApiImpl implements ChildProjectApi {
private final GetChildProject getChildProject;
private final ChildProjectResource rsrc;
@AssistedInject
@Inject
ChildProjectApiImpl(GetChildProject getChildProject, @Assisted ChildProjectResource rsrc) {
this.getChildProject = getChildProject;
this.rsrc = rsrc;

View File

@ -122,7 +122,6 @@ import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.Singleton;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
import java.io.IOException;
import java.sql.Timestamp;
import java.util.ArrayList;
@ -214,7 +213,7 @@ public class ChangeJson {
private AccountLoader accountLoader;
private FixInput fix;
@AssistedInject
@Inject
ChangeJson(
Provider<ReviewDb> db,
LabelNormalizer ln,

View File

@ -32,9 +32,9 @@ import com.google.gerrit.server.notedb.ChangeNotes;
import com.google.gerrit.server.project.ChangeControl;
import com.google.gerrit.server.project.ProjectState;
import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject;
import com.google.inject.TypeLiteral;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
import org.eclipse.jgit.lib.ObjectId;
public class ChangeResource implements RestResource, HasETag {
@ -56,7 +56,7 @@ public class ChangeResource implements RestResource, HasETag {
private final StarredChangesUtil starredChangesUtil;
private final ChangeControl control;
@AssistedInject
@Inject
ChangeResource(StarredChangesUtil starredChangesUtil, @Assisted ChangeControl control) {
this.starredChangesUtil = starredChangesUtil;
this.control = control;

View File

@ -50,8 +50,8 @@ import com.google.gerrit.server.update.ChangeContext;
import com.google.gerrit.server.update.Context;
import com.google.gerrit.server.update.RepoContext;
import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
import java.io.IOException;
import java.util.Collections;
import java.util.List;
@ -106,7 +106,7 @@ public class PatchSetInserter implements BatchUpdateOp {
private ChangeMessage changeMessage;
private ReviewerSet oldReviewers;
@AssistedInject
@Inject
public PatchSetInserter(
ApprovalsUtil approvalsUtil,
ApprovalCopier approvalCopier,

View File

@ -36,8 +36,8 @@ import com.google.gerrit.server.update.ChangeContext;
import com.google.gerrit.server.update.Context;
import com.google.gerrit.server.update.RepoContext;
import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
import java.io.IOException;
import org.eclipse.jgit.lib.CommitBuilder;
import org.eclipse.jgit.lib.ObjectId;
@ -75,7 +75,7 @@ public class RebaseChangeOp implements BatchUpdateOp {
private PatchSetInserter patchSetInserter;
private PatchSet rebasedPatchSet;
@AssistedInject
@Inject
RebaseChangeOp(
PatchSetInserter.Factory patchSetInserterFactory,
MergeUtil.Factory mergeUtilFactory,

View File

@ -36,9 +36,9 @@ import com.google.gerrit.server.update.Context;
import com.google.gerrit.server.validators.AssigneeValidationListener;
import com.google.gerrit.server.validators.ValidationException;
import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -62,7 +62,7 @@ public class SetAssigneeOp implements BatchUpdateOp {
private Account newAssignee;
private Account oldAssignee;
@AssistedInject
@Inject
SetAssigneeOp(
AccountsCollection accounts,
ChangeMessagesUtil cmUtil,

View File

@ -39,8 +39,8 @@ import com.google.gerrit.server.update.Context;
import com.google.gerrit.server.validators.HashtagValidationListener;
import com.google.gerrit.server.validators.ValidationException;
import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
import java.io.IOException;
import java.util.Collection;
import java.util.HashSet;
@ -64,7 +64,7 @@ public class SetHashtagsOp implements BatchUpdateOp {
private Set<String> toRemove;
private ImmutableSortedSet<String> updatedHashtags;
@AssistedInject
@Inject
SetHashtagsOp(
NotesMigration notesMigration,
ChangeMessagesUtil cmUtil,

View File

@ -18,8 +18,8 @@ import com.google.gerrit.reviewdb.client.Project;
import com.google.gerrit.server.account.GroupBackend;
import com.google.gerrit.server.util.ServerRequestContext;
import com.google.gerrit.server.util.ThreadLocalRequestContext;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
/**
* Provider of the group(s) which should become owners of a newly created project. The only matching
@ -40,7 +40,7 @@ public class ProjectOwnerGroupsProvider extends GroupSetProvider {
ProjectOwnerGroupsProvider create(Project.NameKey project);
}
@AssistedInject
@Inject
public ProjectOwnerGroupsProvider(
GroupBackend gb,
ThreadLocalRequestContext context,

View File

@ -34,8 +34,8 @@ import com.google.gerrit.server.update.BatchUpdateOp;
import com.google.gerrit.server.update.ChangeContext;
import com.google.gerrit.server.update.Context;
import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -64,7 +64,7 @@ public class AbandonOp implements BatchUpdateOp {
@Assisted ListMultimap<RecipientType, Account.Id> accountsToNotify);
}
@AssistedInject
@Inject
AbandonOp(
AbandonedSender.Factory abandonedSenderFactory,
ChangeMessagesUtil cmUtil,

View File

@ -23,8 +23,8 @@ import com.google.gerrit.server.git.MergeOpRepoManager.OpenRepo;
import com.google.gerrit.server.project.NoSuchProjectException;
import com.google.gerrit.server.util.RequestId;
import com.google.gerrit.server.util.SubmoduleSectionParser;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
@ -55,7 +55,7 @@ public class GitModules {
private final RequestId submissionId;
Set<SubmoduleSubscription> subscriptions;
@AssistedInject
@Inject
GitModules(
@CanonicalWebUrl @Nullable String canonicalWebUrl,
@Assisted Branch.NameKey branch,

View File

@ -34,9 +34,9 @@ import com.google.gerrit.server.update.ChangeContext;
import com.google.gerrit.server.update.Context;
import com.google.gerrit.server.util.RequestScopePropagator;
import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
import java.io.IOException;
import java.util.Collections;
import java.util.concurrent.ExecutorService;
@ -74,7 +74,7 @@ public class MergedByPushOp implements BatchUpdateOp {
private PatchSet patchSet;
private PatchSetInfo info;
@AssistedInject
@Inject
MergedByPushOp(
PatchSetInfoFactory patchSetInfoFactory,
ChangeMessagesUtil cmUtil,

View File

@ -22,7 +22,6 @@ import com.google.gerrit.server.extensions.events.GitReferenceUpdated;
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
import java.io.IOException;
import org.eclipse.jgit.errors.RepositoryNotFoundException;
import org.eclipse.jgit.lib.BatchRefUpdate;
@ -185,7 +184,7 @@ public class MetaDataUpdate implements AutoCloseable {
private boolean closeRepository;
private IdentifiedUser author;
@AssistedInject
@Inject
public MetaDataUpdate(
GitReferenceUpdated gitRefUpdated,
@Assisted Project.NameKey projectName,

View File

@ -55,8 +55,8 @@ import com.google.gerrit.server.update.Context;
import com.google.gerrit.server.update.RepoContext;
import com.google.gerrit.server.util.RequestScopePropagator;
import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
import com.google.inject.util.Providers;
import java.io.IOException;
import java.util.HashMap;
@ -134,7 +134,7 @@ public class ReplaceOp implements BatchUpdateOp {
private RequestScopePropagator requestScopePropagator;
private boolean updateRef;
@AssistedInject
@Inject
ReplaceOp(
AccountResolver accountResolver,
ApprovalCopier approvalCopier,

View File

@ -35,8 +35,8 @@ import com.google.gerrit.server.update.BatchUpdateListener;
import com.google.gerrit.server.update.RepoContext;
import com.google.gerrit.server.update.RepoOnlyOp;
import com.google.gerrit.server.update.UpdateException;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
import java.io.IOException;
import java.util.ArrayDeque;
import java.util.ArrayList;
@ -117,7 +117,7 @@ public class SubmoduleOp {
// map of superproject and its branches which has submodule subscriptions
private final SetMultimap<Project.NameKey, Branch.NameKey> branchesByProject;
@AssistedInject
@Inject
public SubmoduleOp(
GitModules.Factory gitmodulesFactory,
@GerritPersonIdent PersonIdent myIdent,

View File

@ -53,9 +53,9 @@ import com.google.gerrit.server.project.ProjectState;
import com.google.gerrit.server.query.change.InternalChangeQuery;
import com.google.gerrit.server.update.BatchUpdate;
import com.google.gerrit.server.util.RequestId;
import com.google.inject.Inject;
import com.google.inject.Module;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@ -145,7 +145,7 @@ public abstract class SubmitStrategy {
final MergeUtil mergeUtil;
final boolean dryrun;
@AssistedInject
@Inject
Arguments(
AccountCache accountCache,
ApprovalsUtil approvalsUtil,

View File

@ -43,9 +43,9 @@ import com.google.gerrit.server.notedb.NoteDbChangeState.PrimaryStorage;
import com.google.gerrit.server.update.ChainedReceiveCommands;
import com.google.gwtorm.server.OrmConcurrencyException;
import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
import java.io.IOException;
import java.util.Collection;
import java.util.HashMap;
@ -206,7 +206,7 @@ public class NoteDbUpdateManager implements AutoCloseable {
private String refLogMessage;
private PersonIdent refLogIdent;
@AssistedInject
@Inject
NoteDbUpdateManager(
@GerritPersonIdent Provider<PersonIdent> serverIdent,
GitRepositoryManager repoManager,

View File

@ -24,8 +24,8 @@ import com.google.gerrit.reviewdb.client.RefNames;
import com.google.gerrit.reviewdb.client.RevId;
import com.google.gerrit.reviewdb.client.RobotComment;
import com.google.gerrit.server.notedb.NoteDbChangeState.PrimaryStorage;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
import java.io.IOException;
import org.eclipse.jgit.errors.ConfigInvalidException;
import org.eclipse.jgit.lib.ObjectId;
@ -44,7 +44,7 @@ public class RobotCommentNotes extends AbstractChangeNotes<RobotCommentNotes> {
private RevisionNoteMap<RobotCommentsRevisionNote> revisionNoteMap;
private ObjectId metaId;
@AssistedInject
@Inject
RobotCommentNotes(Args args, @Assisted Change change) {
super(args, change.getId(), PrimaryStorage.of(change), false);
this.change = change;

View File

@ -16,8 +16,8 @@ package com.google.gerrit.server.patch;
import com.google.gerrit.reviewdb.client.Patch;
import com.google.gerrit.reviewdb.client.Project;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@ -36,7 +36,7 @@ public class DiffSummaryLoader implements Callable<DiffSummary> {
private final DiffSummaryKey key;
private final Project.NameKey project;
@AssistedInject
@Inject
DiffSummaryLoader(PatchListCache plc, @Assisted DiffSummaryKey k, @Assisted Project.NameKey p) {
patchListCache = plc;
key = k;

View File

@ -18,8 +18,8 @@ package com.google.gerrit.server.patch;
import com.google.common.base.Throwables;
import com.google.gerrit.server.config.ConfigUtil;
import com.google.gerrit.server.config.GerritServerConfig;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
@ -52,7 +52,7 @@ class IntraLineLoader implements Callable<IntraLineDiff> {
private final IntraLineDiffKey key;
private final IntraLineDiffArgs args;
@AssistedInject
@Inject
IntraLineLoader(
@DiffExecutor ExecutorService diffExecutor,
@GerritServerConfig Config cfg,

View File

@ -29,8 +29,8 @@ import com.google.gerrit.server.config.GerritServerConfig;
import com.google.gerrit.server.git.GitRepositoryManager;
import com.google.gerrit.server.git.InMemoryInserter;
import com.google.gerrit.server.git.MergeUtil;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
@ -86,7 +86,7 @@ public class PatchListLoader implements Callable<PatchList> {
private final long timeoutMillis;
private final boolean save;
@AssistedInject
@Inject
PatchListLoader(
GitRepositoryManager mgr,
PatchListCache plc,

View File

@ -26,9 +26,9 @@ import com.google.gerrit.server.extensions.events.GitReferenceUpdated;
import com.google.gerrit.server.git.GitRepositoryManager;
import com.google.gerrit.server.query.change.InternalChangeQuery;
import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
@ -64,7 +64,7 @@ public class DeleteRef {
DeleteRef create(ProjectResource r);
}
@AssistedInject
@Inject
DeleteRef(
Provider<IdentifiedUser> identifiedUser,
GitRepositoryManager repoManager,

View File

@ -69,7 +69,6 @@ import com.google.gwtorm.server.SchemaFactory;
import com.google.inject.Inject;
import com.google.inject.Singleton;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
import java.io.IOException;
import java.sql.Timestamp;
import java.util.ArrayList;
@ -375,7 +374,7 @@ class ReviewDbBatchUpdate extends BatchUpdate {
private final long skewMs;
private final List<CheckedFuture<?, IOException>> indexFutures = new ArrayList<>();
@AssistedInject
@Inject
ReviewDbBatchUpdate(
@GerritServerConfig Config cfg,
AllUsersName allUsers,