From 2bea4028e83aa934f7001a90464c04f25c36f2aa Mon Sep 17 00:00:00 2001 From: David Ostrovsky Date: Thu, 29 May 2014 21:21:24 +0200 Subject: [PATCH] Move more endpoints to singleton scope and remove providers Ia2ac8cfcc moved some REST endpoints to singleton scope, but missed to remove providers from these endpoints, where they get injected. When a singleton injects another singleton, this is only an overhead to inject it as a provider to singleton and not directly. Change-Id: I6d6f361cc2c46440845ef13ccacb8ec4f28c9b36 --- .../com/google/gerrit/server/ChangeUtil.java | 2 + .../server/account/AccountResolver.java | 2 + .../gerrit/server/account/CreateEmail.java | 8 ++-- .../gerrit/server/account/DefaultRealm.java | 2 + .../google/gerrit/server/account/Emails.java | 6 +-- .../gerrit/server/account/GetEmails.java | 2 + .../gerrit/server/account/GetSshKeys.java | 2 + .../google/gerrit/server/account/SshKeys.java | 6 +-- .../gerrit/server/api/GerritApiImpl.java | 21 +++++----- .../server/api/changes/ChangeApiImpl.java | 24 ++++++------ .../server/api/changes/RevisionApiImpl.java | 38 +++++++++---------- .../gerrit/server/change/CherryPick.java | 6 +-- .../google/gerrit/server/change/Comments.java | 6 +-- .../gerrit/server/change/CreateChange.java | 6 +-- .../google/gerrit/server/change/Drafts.java | 6 +-- .../gerrit/server/change/FileInfoJson.java | 2 + .../google/gerrit/server/change/Files.java | 6 +-- .../google/gerrit/server/change/GetDiff.java | 7 ++-- .../gerrit/server/change/IncludedIn.java | 2 + .../gerrit/server/change/ListComments.java | 2 + .../gerrit/server/change/ListDrafts.java | 2 + .../gerrit/server/change/ListReviewers.java | 2 + .../gerrit/server/change/PostReviewers.java | 6 +-- .../gerrit/server/change/Reviewers.java | 6 +-- .../server/config/CachesCollection.java | 6 +-- .../server/config/CapabilitiesCollection.java | 7 ++-- .../server/config/ConfigCollection.java | 2 + .../server/config/ListCapabilities.java | 2 + .../gerrit/server/config/ListTopMenus.java | 2 + .../server/config/TopMenuCollection.java | 7 ++-- .../git/strategy/SubmitStrategyFactory.java | 2 + .../server/group/AddIncludedGroups.java | 12 +++--- .../gerrit/server/group/AddMembers.java | 18 ++++----- .../server/group/DeleteIncludedGroups.java | 6 +-- .../gerrit/server/group/DeleteMembers.java | 6 +-- .../group/IncludedGroupsCollection.java | 17 +++++---- .../server/group/MembersCollection.java | 10 ++--- .../google/gerrit/server/group/PutOwner.java | 6 +-- .../mail/SignedTokenEmailTokenVerifier.java | 2 + .../server/project/BranchesCollection.java | 9 ++--- .../project/ChildProjectsCollection.java | 6 +-- 41 files changed, 159 insertions(+), 133 deletions(-) diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/ChangeUtil.java b/gerrit-server/src/main/java/com/google/gerrit/server/ChangeUtil.java index 68a62a19f6..989bce7d60 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/ChangeUtil.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/ChangeUtil.java @@ -51,6 +51,7 @@ 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.Singleton; import org.eclipse.jgit.errors.IncorrectObjectTypeException; import org.eclipse.jgit.errors.MissingObjectException; @@ -79,6 +80,7 @@ import java.util.Date; import java.util.List; import java.util.Map; +@Singleton public class ChangeUtil { /** * Epoch for sort key calculations, Tue Sep 30 2008 17:00:00. diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountResolver.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountResolver.java index cc66294288..558f8c0e86 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountResolver.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountResolver.java @@ -21,6 +21,7 @@ import com.google.gerrit.reviewdb.server.ReviewDb; import com.google.gwtorm.server.OrmException; import com.google.inject.Inject; import com.google.inject.Provider; +import com.google.inject.Singleton; import java.util.Collections; import java.util.HashSet; @@ -29,6 +30,7 @@ import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; +@Singleton public class AccountResolver { private final Realm realm; private final AccountByEmailCache byEmail; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/CreateEmail.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/CreateEmail.java index 60c448c152..4be806723c 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/CreateEmail.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/CreateEmail.java @@ -59,7 +59,7 @@ public class CreateEmail implements RestModifyView { private final AuthConfig authConfig; private final AccountManager accountManager; private final RegisterNewEmailSender.Factory registerNewEmailFactory; - private final Provider putPreferredProvider; + private final PutPreferred putPreferred; private final String email; @Inject @@ -68,14 +68,14 @@ public class CreateEmail implements RestModifyView { AuthConfig authConfig, AccountManager accountManager, RegisterNewEmailSender.Factory registerNewEmailFactory, - Provider putPreferredProvider, + PutPreferred putPreferred, @Assisted String email) { this.self = self; this.realm = realm; this.authConfig = authConfig; this.accountManager = accountManager; this.registerNewEmailFactory = registerNewEmailFactory; - this.putPreferredProvider = putPreferredProvider; + this.putPreferred = putPreferred; this.email = email; } @@ -128,7 +128,7 @@ public class CreateEmail implements RestModifyView { throw new ResourceConflictException(e.getMessage()); } if (input.preferred) { - putPreferredProvider.get().apply( + putPreferred.apply( new AccountResource.Email(user, email), null); info.preferred = true; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/DefaultRealm.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/DefaultRealm.java index d9fb303e5f..938d940ac6 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/DefaultRealm.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/DefaultRealm.java @@ -20,9 +20,11 @@ import com.google.gerrit.reviewdb.client.AuthType; import com.google.gerrit.reviewdb.server.ReviewDb; import com.google.gerrit.server.config.AuthConfig; import com.google.inject.Inject; +import com.google.inject.Singleton; import java.util.Set; +@Singleton public class DefaultRealm implements Realm { private final EmailExpander emailExpander; private final AccountByEmailCache byEmail; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/Emails.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/Emails.java index 2dc96204a3..a1785628e6 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/Emails.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/Emails.java @@ -32,13 +32,13 @@ public class Emails implements ChildCollection, AcceptsCreate { private final DynamicMap> views; - private final Provider list; + private final GetEmails list; private final Provider self; private final CreateEmail.Factory createEmailFactory; @Inject Emails(DynamicMap> views, - Provider list, + GetEmails list, Provider self, CreateEmail.Factory createEmailFactory) { this.views = views; @@ -49,7 +49,7 @@ public class Emails implements @Override public RestView list() { - return list.get(); + return list; } @Override diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/GetEmails.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/GetEmails.java index 0e0e77a8d5..64991e6112 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/GetEmails.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/GetEmails.java @@ -21,11 +21,13 @@ import com.google.gerrit.server.CurrentUser; import com.google.gwtorm.server.OrmException; import com.google.inject.Inject; import com.google.inject.Provider; +import com.google.inject.Singleton; import java.util.Collections; import java.util.Comparator; import java.util.List; +@Singleton public class GetEmails implements RestReadView { private final Provider self; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/GetSshKeys.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/GetSshKeys.java index 8c878d758b..9266c3aad7 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/GetSshKeys.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/GetSshKeys.java @@ -25,9 +25,11 @@ import com.google.gerrit.server.IdentifiedUser; import com.google.gwtorm.server.OrmException; import com.google.inject.Inject; import com.google.inject.Provider; +import com.google.inject.Singleton; import java.util.List; +@Singleton public class GetSshKeys implements RestReadView { private final Provider self; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/SshKeys.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/SshKeys.java index 46539c5557..b94158fee0 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/SshKeys.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/SshKeys.java @@ -32,13 +32,13 @@ import com.google.inject.Singleton; public class SshKeys implements ChildCollection { private final DynamicMap> views; - private final Provider list; + private final GetSshKeys list; private final Provider self; private final Provider dbProvider; @Inject SshKeys(DynamicMap> views, - Provider list, Provider self, + GetSshKeys list, Provider self, Provider dbProvider) { this.views = views; this.list = list; @@ -48,7 +48,7 @@ public class SshKeys implements @Override public RestView list() { - return list.get(); + return list; } @Override diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/api/GerritApiImpl.java b/gerrit-server/src/main/java/com/google/gerrit/server/api/GerritApiImpl.java index cc09b779b4..5f581c3d87 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/api/GerritApiImpl.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/api/GerritApiImpl.java @@ -14,24 +14,23 @@ package com.google.gerrit.server.api; -import com.google.gerrit.extensions.api.accounts.Accounts; import com.google.gerrit.extensions.api.GerritApi; +import com.google.gerrit.extensions.api.accounts.Accounts; import com.google.gerrit.extensions.api.changes.Changes; import com.google.gerrit.extensions.api.projects.Projects; import com.google.inject.Inject; -import com.google.inject.Provider; import com.google.inject.Singleton; @Singleton class GerritApiImpl extends GerritApi.NotImplemented implements GerritApi { - private final Provider accounts; - private final Provider changes; - private final Provider projects; + private final Accounts accounts; + private final Changes changes; + private final Projects projects; @Inject - GerritApiImpl(Provider accounts, - Provider changes, - Provider projects) { + GerritApiImpl(Accounts accounts, + Changes changes, + Projects projects) { this.accounts = accounts; this.changes = changes; this.projects = projects; @@ -39,16 +38,16 @@ class GerritApiImpl extends GerritApi.NotImplemented implements GerritApi { @Override public Accounts accounts() { - return accounts.get(); + return accounts; } @Override public Changes changes() { - return changes.get(); + return changes; } @Override public Projects projects() { - return projects.get(); + return projects; } } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/api/changes/ChangeApiImpl.java b/gerrit-server/src/main/java/com/google/gerrit/server/api/changes/ChangeApiImpl.java index 5c5c569d5f..5f90d34259 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/api/changes/ChangeApiImpl.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/api/changes/ChangeApiImpl.java @@ -50,21 +50,21 @@ class ChangeApiImpl extends ChangeApi.NotImplemented implements ChangeApi { private final Revisions revisions; private final RevisionApiImpl.Factory revisionApi; private final ChangeResource change; - private final Provider abandon; - private final Provider revert; - private final Provider restore; + private final Abandon abandon; + private final Revert revert; + private final Restore restore; private final Provider postReviewers; - private final ChangeJson changeJson; + private final Provider changeJson; @Inject ChangeApiImpl(Changes changeApi, Revisions revisions, RevisionApiImpl.Factory revisionApi, - Provider abandon, - Provider revert, - Provider restore, + Abandon abandon, + Revert revert, + Restore restore, Provider postReviewers, - ChangeJson changeJson, + Provider changeJson, @Assisted ChangeResource change) { this.changeApi = changeApi; this.revert = revert; @@ -110,7 +110,7 @@ class ChangeApiImpl extends ChangeApi.NotImplemented implements ChangeApi { @Override public void abandon(AbandonInput in) throws RestApiException { try { - abandon.get().apply(change, in); + abandon.apply(change, in); } catch (OrmException | IOException e) { throw new RestApiException("Cannot abandon change", e); } @@ -124,7 +124,7 @@ class ChangeApiImpl extends ChangeApi.NotImplemented implements ChangeApi { @Override public void restore(RestoreInput in) throws RestApiException { try { - restore.get().apply(change, in); + restore.apply(change, in); } catch (OrmException | IOException e) { throw new RestApiException("Cannot restore change", e); } @@ -138,7 +138,7 @@ class ChangeApiImpl extends ChangeApi.NotImplemented implements ChangeApi { @Override public ChangeApi revert(RevertInput in) throws RestApiException { try { - return changeApi.id(revert.get().apply(change, in)._number); + return changeApi.id(revert.apply(change, in)._number); } catch (OrmException | EmailException | IOException e) { throw new RestApiException("Cannot revert change", e); } @@ -165,7 +165,7 @@ class ChangeApiImpl extends ChangeApi.NotImplemented implements ChangeApi { throws RestApiException { try { return ChangeInfoMapper.INSTANCE.apply( - changeJson.addOptions(s).format(change)); + changeJson.get().addOptions(s).format(change)); } catch (OrmException e) { throw new RestApiException("Cannot retrieve change", e); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/api/changes/RevisionApiImpl.java b/gerrit-server/src/main/java/com/google/gerrit/server/api/changes/RevisionApiImpl.java index b965c187ff..4b84cabd20 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/api/changes/RevisionApiImpl.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/api/changes/RevisionApiImpl.java @@ -43,24 +43,24 @@ class RevisionApiImpl extends RevisionApi.NotImplemented implements RevisionApi } private final Changes changes; - private final Provider cherryPick; - private final Provider deleteDraft; - private final Provider rebase; - private final Provider rebaseChange; - private final Provider review; - private final Provider submit; - private final Provider publish; + private final CherryPick cherryPick; + private final DeleteDraftPatchSet deleteDraft; + private final Rebase rebase; + private final RebaseChange rebaseChange; + private final Submit submit; + private final Publish publish; private final RevisionResource revision; + private final Provider review; @Inject RevisionApiImpl(Changes changes, - Provider cherryPick, - Provider deleteDraft, - Provider rebase, - Provider rebaseChange, + CherryPick cherryPick, + DeleteDraftPatchSet deleteDraft, + Rebase rebase, + RebaseChange rebaseChange, + Submit submit, + Publish publish, Provider review, - Provider submit, - Provider publish, @Assisted RevisionResource r) { this.changes = changes; this.cherryPick = cherryPick; @@ -92,7 +92,7 @@ class RevisionApiImpl extends RevisionApi.NotImplemented implements RevisionApi @Override public void submit(SubmitInput in) throws RestApiException { try { - submit.get().apply(revision, in); + submit.apply(revision, in); } catch (OrmException | IOException e) { throw new RestApiException("Cannot submit change", e); } @@ -101,7 +101,7 @@ class RevisionApiImpl extends RevisionApi.NotImplemented implements RevisionApi @Override public void publish() throws RestApiException { try { - publish.get().apply(revision, new Publish.Input()); + publish.apply(revision, new Publish.Input()); } catch (OrmException | IOException e) { throw new RestApiException("Cannot publish draft patch set", e); } @@ -110,7 +110,7 @@ class RevisionApiImpl extends RevisionApi.NotImplemented implements RevisionApi @Override public void delete() throws RestApiException { try { - deleteDraft.get().apply(revision, null); + deleteDraft.apply(revision, null); } catch (OrmException | IOException e) { throw new RestApiException("Cannot delete draft ps", e); } @@ -119,7 +119,7 @@ class RevisionApiImpl extends RevisionApi.NotImplemented implements RevisionApi @Override public ChangeApi rebase() throws RestApiException { try { - return changes.id(rebase.get().apply(revision, null)._number); + return changes.id(rebase.apply(revision, null)._number); } catch (OrmException | EmailException e) { throw new RestApiException("Cannot rebase ps", e); } @@ -127,13 +127,13 @@ class RevisionApiImpl extends RevisionApi.NotImplemented implements RevisionApi @Override public boolean canRebase() { - return rebaseChange.get().canRebase(revision); + return rebaseChange.canRebase(revision); } @Override public ChangeApi cherryPick(CherryPickInput in) throws RestApiException { try { - return changes.id(cherryPick.get().apply(revision, in)._number); + return changes.id(cherryPick.apply(revision, in)._number); } catch (OrmException | EmailException | IOException e) { throw new RestApiException("Cannot cherry pick", e); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/CherryPick.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/CherryPick.java index 226f70f91d..d034a10eee 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/CherryPick.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/CherryPick.java @@ -42,12 +42,12 @@ import java.io.IOException; public class CherryPick implements RestModifyView, UiAction { private final Provider dbProvider; - private final Provider cherryPickChange; + private final CherryPickChange cherryPickChange; private final ChangeJson json; @Inject CherryPick(Provider dbProvider, - Provider cherryPickChange, + CherryPickChange cherryPickChange, ChangeJson json) { this.dbProvider = dbProvider; this.cherryPickChange = cherryPickChange; @@ -85,7 +85,7 @@ public class CherryPick implements RestModifyView { private final DynamicMap> views; - private final Provider list; + private final ListComments list; private final Provider dbProvider; @Inject Comments(DynamicMap> views, - Provider list, + ListComments list, Provider dbProvider) { this.views = views; this.list = list; @@ -48,7 +48,7 @@ class Comments implements ChildCollection { @Override public RestView list() { - return list.get(); + return list; } @Override diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/CreateChange.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/CreateChange.java index 8f96c60308..263f7f170f 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/CreateChange.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/CreateChange.java @@ -76,7 +76,7 @@ public class CreateChange implements private final GitRepositoryManager gitManager; private final TimeZone serverTimeZone; private final Provider userProvider; - private final Provider projectsCollection; + private final ProjectsCollection projectsCollection; private final CommitValidators.Factory commitValidatorsFactory; private final ChangeInserter.Factory changeInserterFactory; private final ChangeJson json; @@ -86,7 +86,7 @@ public class CreateChange implements GitRepositoryManager gitManager, @GerritPersonIdent PersonIdent myIdent, Provider userProvider, - Provider projectsCollection, + ProjectsCollection projectsCollection, CommitValidators.Factory commitValidatorsFactory, ChangeInserter.Factory changeInserterFactory, ChangeJson json) { @@ -130,7 +130,7 @@ public class CreateChange implements refName = Constants.R_HEADS + input.branch; } - ProjectResource rsrc = projectsCollection.get().parse(input.project); + ProjectResource rsrc = projectsCollection.parse(input.project); Capable r = rsrc.getControl().canPushToAtLeastOneRef(); if (r != Capable.OK) { diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/Drafts.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/Drafts.java index 0b0bb53b8e..322faea778 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/Drafts.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/Drafts.java @@ -32,13 +32,13 @@ import com.google.inject.Singleton; class Drafts implements ChildCollection { private final DynamicMap> views; private final Provider user; - private final Provider list; + private final ListDrafts list; private final Provider dbProvider; @Inject Drafts(DynamicMap> views, Provider user, - Provider list, + ListDrafts list, Provider dbProvider) { this.views = views; this.user = user; @@ -54,7 +54,7 @@ class Drafts implements ChildCollection { @Override public RestView list() throws AuthException { checkIdentifiedUser(); - return list.get(); + return list; } @Override diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/FileInfoJson.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/FileInfoJson.java index c6b3b5d2f0..6bb72367c3 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/FileInfoJson.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/FileInfoJson.java @@ -27,11 +27,13 @@ import com.google.gerrit.server.patch.PatchListEntry; import com.google.gerrit.server.patch.PatchListKey; import com.google.gerrit.server.patch.PatchListNotAvailableException; import com.google.inject.Inject; +import com.google.inject.Singleton; import org.eclipse.jgit.lib.ObjectId; import java.util.Map; +@Singleton public class FileInfoJson { private final PatchListCache patchListCache; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/Files.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/Files.java index 1c404266e2..75b99012c5 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/Files.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/Files.java @@ -97,7 +97,7 @@ class Files implements ChildCollection { private final Provider db; private final Provider self; private final FileInfoJson fileInfoJson; - private final Provider revisions; + private final Revisions revisions; private final GitRepositoryManager gitManager; private final PatchListCache patchListCache; @@ -105,7 +105,7 @@ class Files implements ChildCollection { ListFiles(Provider db, Provider self, FileInfoJson fileInfoJson, - Provider revisions, + Revisions revisions, GitRepositoryManager gitManager, PatchListCache patchListCache) { this.db = db; @@ -127,7 +127,7 @@ class Files implements ChildCollection { PatchSet basePatchSet = null; if (base != null) { - RevisionResource baseResource = revisions.get().parse( + RevisionResource baseResource = revisions.parse( resource.getChangeResource(), IdString.fromDecoded(base)); basePatchSet = baseResource.getPatchSet(); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/GetDiff.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/GetDiff.java index 1afc6473e9..0f6818205a 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/GetDiff.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/GetDiff.java @@ -41,7 +41,6 @@ import com.google.gerrit.server.project.ProjectCache; import com.google.gerrit.server.project.ProjectState; import com.google.gwtorm.server.OrmException; import com.google.inject.Inject; -import com.google.inject.Provider; import org.eclipse.jgit.diff.Edit; import org.eclipse.jgit.diff.ReplaceEdit; @@ -60,7 +59,7 @@ import java.util.concurrent.TimeUnit; public class GetDiff implements RestReadView { private final ProjectCache projectCache; private final PatchScriptFactory.Factory patchScriptFactoryFactory; - private final Provider revisions; + private final Revisions revisions; @Option(name = "--base", metaVar = "REVISION") String base; @@ -77,7 +76,7 @@ public class GetDiff implements RestReadView { @Inject GetDiff(ProjectCache projectCache, PatchScriptFactory.Factory patchScriptFactoryFactory, - Provider revisions) { + Revisions revisions) { this.projectCache = projectCache; this.patchScriptFactoryFactory = patchScriptFactoryFactory; this.revisions = revisions; @@ -88,7 +87,7 @@ public class GetDiff implements RestReadView { throws ResourceConflictException, ResourceNotFoundException, OrmException { PatchSet.Id basePatchSet = null; if (base != null) { - RevisionResource baseResource = revisions.get().parse( + RevisionResource baseResource = revisions.parse( resource.getRevision().getChangeResource(), IdString.fromDecoded(base)); basePatchSet = baseResource.getPatchSet().getId(); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/IncludedIn.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/IncludedIn.java index ceaeff7d80..f39d77755c 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/IncludedIn.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/IncludedIn.java @@ -25,6 +25,7 @@ import com.google.gerrit.server.project.ChangeControl; import com.google.gwtorm.server.OrmException; import com.google.inject.Inject; import com.google.inject.Provider; +import com.google.inject.Singleton; import org.eclipse.jgit.errors.IncorrectObjectTypeException; import org.eclipse.jgit.errors.MissingObjectException; @@ -36,6 +37,7 @@ import org.eclipse.jgit.revwalk.RevWalk; import java.io.IOException; import java.util.Collection; +@Singleton class IncludedIn implements RestReadView { private final Provider db; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/ListComments.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/ListComments.java index 23a71e80e5..f276c05a09 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/ListComments.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/ListComments.java @@ -20,7 +20,9 @@ import com.google.gerrit.server.account.AccountInfo; import com.google.gwtorm.server.OrmException; import com.google.inject.Inject; import com.google.inject.Provider; +import com.google.inject.Singleton; +@Singleton class ListComments extends ListDrafts { @Inject ListComments(Provider db, AccountInfo.Loader.Factory alf) { diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/ListDrafts.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/ListDrafts.java index cb037246ed..bd3aa0447f 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/ListDrafts.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/ListDrafts.java @@ -26,12 +26,14 @@ import com.google.gerrit.server.account.AccountInfo; import com.google.gwtorm.server.OrmException; import com.google.inject.Inject; import com.google.inject.Provider; +import com.google.inject.Singleton; import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.Map; +@Singleton class ListDrafts implements RestReadView { protected final Provider db; private final AccountInfo.Loader.Factory accountLoaderFactory; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/ListReviewers.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/ListReviewers.java index 25d4e2cf71..ca5a55b879 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/ListReviewers.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/ListReviewers.java @@ -23,10 +23,12 @@ import com.google.gerrit.server.change.ReviewerJson.ReviewerInfo; import com.google.gwtorm.server.OrmException; import com.google.inject.Inject; import com.google.inject.Provider; +import com.google.inject.Singleton; import java.util.List; import java.util.Map; +@Singleton class ListReviewers implements RestReadView { private final Provider dbProvider; private final ApprovalsUtil approvalsUtil; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/PostReviewers.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/PostReviewers.java index d7a67473f5..92e8af388e 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/PostReviewers.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/PostReviewers.java @@ -79,7 +79,7 @@ public class PostReviewers implements RestModifyView groupsCollection; + private final GroupsCollection groupsCollection; private final GroupMembers.Factory groupMembersFactory; private final AccountInfo.Loader.Factory accountLoaderFactory; private final Provider dbProvider; @@ -97,7 +97,7 @@ public class PostReviewers implements RestModifyView groupsCollection, + GroupsCollection groupsCollection, GroupMembers.Factory groupMembersFactory, AccountInfo.Loader.Factory accountLoaderFactory, Provider db, @@ -162,7 +162,7 @@ public class PostReviewers implements RestModifyView list; + private final ListReviewers list; @Inject Reviewers(Provider dbProvider, @@ -48,7 +48,7 @@ public class Reviewers implements AccountsCollection accounts, ReviewerResource.Factory resourceFactory, DynamicMap> views, - Provider list) { + ListReviewers list) { this.dbProvider = dbProvider; this.approvalsUtil = approvalsUtil; this.accounts = accounts; @@ -64,7 +64,7 @@ public class Reviewers implements @Override public RestView list() { - return list.get(); + return list; } @Override diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/config/CachesCollection.java b/gerrit-server/src/main/java/com/google/gerrit/server/config/CachesCollection.java index e2884562db..5e6da7417c 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/config/CachesCollection.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/config/CachesCollection.java @@ -35,13 +35,13 @@ public class CachesCollection implements ChildCollection { private final DynamicMap> views; - private final Provider list; + private final ListCaches list; private final Provider self; private final DynamicMap> cacheMap; @Inject CachesCollection(DynamicMap> views, - Provider list, Provider self, + ListCaches list, Provider self, DynamicMap> cacheMap) { this.views = views; this.list = list; @@ -51,7 +51,7 @@ public class CachesCollection implements @Override public RestView list() { - return list.get(); + return list; } @Override diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/config/CapabilitiesCollection.java b/gerrit-server/src/main/java/com/google/gerrit/server/config/CapabilitiesCollection.java index a9f22a2680..7ce5a88559 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/config/CapabilitiesCollection.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/config/CapabilitiesCollection.java @@ -20,25 +20,24 @@ import com.google.gerrit.extensions.restapi.IdString; import com.google.gerrit.extensions.restapi.ResourceNotFoundException; import com.google.gerrit.extensions.restapi.RestView; import com.google.inject.Inject; -import com.google.inject.Provider; import com.google.inject.Singleton; @Singleton public class CapabilitiesCollection implements ChildCollection { private final DynamicMap> views; - private final Provider list; + private final ListCapabilities list; @Inject CapabilitiesCollection(DynamicMap> views, - Provider list) { + ListCapabilities list) { this.views = views; this.list = list; } @Override public RestView list() throws ResourceNotFoundException { - return list.get(); + return list; } @Override diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/config/ConfigCollection.java b/gerrit-server/src/main/java/com/google/gerrit/server/config/ConfigCollection.java index 5ed007a575..72c4f2e92d 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/config/ConfigCollection.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/config/ConfigCollection.java @@ -21,7 +21,9 @@ import com.google.gerrit.extensions.restapi.RestCollection; import com.google.gerrit.extensions.restapi.RestView; import com.google.gerrit.extensions.restapi.TopLevelResource; import com.google.inject.Inject; +import com.google.inject.Singleton; +@Singleton public class ConfigCollection implements RestCollection { private final DynamicMap> views; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/config/ListCapabilities.java b/gerrit-server/src/main/java/com/google/gerrit/server/config/ListCapabilities.java index 88616e114b..ced63f3771 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/config/ListCapabilities.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/config/ListCapabilities.java @@ -22,6 +22,7 @@ import com.google.gerrit.extensions.registration.DynamicMap; import com.google.gerrit.extensions.restapi.RestReadView; import com.google.inject.Inject; import com.google.inject.Provider; +import com.google.inject.Singleton; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -29,6 +30,7 @@ import org.slf4j.LoggerFactory; import java.util.Map; /** List capabilities visible to the calling user. */ +@Singleton public class ListCapabilities implements RestReadView { private static final Logger log = LoggerFactory.getLogger(ListCapabilities.class); private final DynamicMap pluginCapabilities; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/config/ListTopMenus.java b/gerrit-server/src/main/java/com/google/gerrit/server/config/ListTopMenus.java index c8e9d1ee50..291e48b320 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/config/ListTopMenus.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/config/ListTopMenus.java @@ -19,9 +19,11 @@ import com.google.gerrit.extensions.registration.DynamicSet; import com.google.gerrit.extensions.restapi.RestReadView; import com.google.gerrit.extensions.webui.TopMenu; import com.google.inject.Inject; +import com.google.inject.Singleton; import java.util.List; +@Singleton class ListTopMenus implements RestReadView { private final DynamicSet extensions; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/config/TopMenuCollection.java b/gerrit-server/src/main/java/com/google/gerrit/server/config/TopMenuCollection.java index 8e5d4ef008..32416c529d 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/config/TopMenuCollection.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/config/TopMenuCollection.java @@ -20,25 +20,24 @@ import com.google.gerrit.extensions.restapi.IdString; import com.google.gerrit.extensions.restapi.ResourceNotFoundException; import com.google.gerrit.extensions.restapi.RestView; import com.google.inject.Inject; -import com.google.inject.Provider; import com.google.inject.Singleton; @Singleton class TopMenuCollection implements ChildCollection { private final DynamicMap> views; - private final Provider list; + private final ListTopMenus list; @Inject TopMenuCollection(DynamicMap> views, - Provider list) { + ListTopMenus list) { this.views = views; this.list = list; } @Override public RestView list() throws ResourceNotFoundException { - return list.get(); + return list; } @Override diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/SubmitStrategyFactory.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/SubmitStrategyFactory.java index a1021cd12a..d427b8d955 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/SubmitStrategyFactory.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/SubmitStrategyFactory.java @@ -31,6 +31,7 @@ import com.google.gerrit.server.project.NoSuchProjectException; import com.google.gerrit.server.project.ProjectCache; import com.google.gerrit.server.project.ProjectState; import com.google.inject.Inject; +import com.google.inject.Singleton; import org.eclipse.jgit.lib.ObjectInserter; import org.eclipse.jgit.lib.PersonIdent; @@ -44,6 +45,7 @@ import org.slf4j.LoggerFactory; import java.util.Set; /** Factory to create a {@link SubmitStrategy} for a {@link SubmitType}. */ +@Singleton public class SubmitStrategyFactory { private static final Logger log = LoggerFactory .getLogger(SubmitStrategyFactory.class); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/group/AddIncludedGroups.java b/gerrit-server/src/main/java/com/google/gerrit/server/group/AddIncludedGroups.java index aa9b85c8d4..614138ae50 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/group/AddIncludedGroups.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/group/AddIncludedGroups.java @@ -71,13 +71,13 @@ public class AddIncludedGroups implements RestModifyView { } } - private final Provider groupsCollection; + private final GroupsCollection groupsCollection; private final GroupIncludeCache groupIncludeCache; private final Provider db; private final GroupJson json; @Inject - public AddIncludedGroups(Provider groupsCollection, + public AddIncludedGroups(GroupsCollection groupsCollection, GroupIncludeCache groupIncludeCache, Provider db, GroupJson json) { this.groupsCollection = groupsCollection; @@ -103,7 +103,7 @@ public class AddIncludedGroups implements RestModifyView { Account.Id me = ((IdentifiedUser) control.getCurrentUser()).getAccountId(); for (String includedGroup : input.groups) { - GroupDescription.Basic d = groupsCollection.get().parse(includedGroup); + GroupDescription.Basic d = groupsCollection.parse(includedGroup); if (!control.canAddGroup(d.getGroupUUID())) { throw new AuthException(String.format("Cannot add group: %s", d.getName())); @@ -140,10 +140,10 @@ public class AddIncludedGroups implements RestModifyView { static class Input { } - private final Provider put; + private final AddIncludedGroups put; private final String id; - PutIncludedGroup(Provider put, String id) { + PutIncludedGroup(AddIncludedGroups put, String id) { this.put = put; this.id = id; } @@ -154,7 +154,7 @@ public class AddIncludedGroups implements RestModifyView { UnprocessableEntityException, OrmException { AddIncludedGroups.Input in = new AddIncludedGroups.Input(); in.groups = ImmutableList.of(id); - List list = put.get().apply(resource, in); + List list = put.apply(resource, in); if (list.size() == 1) { return list.get(0); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/group/AddMembers.java b/gerrit-server/src/main/java/com/google/gerrit/server/group/AddMembers.java index 83c652161d..e720af0c7f 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/group/AddMembers.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/group/AddMembers.java @@ -77,7 +77,7 @@ public class AddMembers implements RestModifyView { private final AccountManager accountManager; private final AuthType authType; - private final Provider accounts; + private final AccountsCollection accounts; private final AccountResolver accountResolver; private final AccountCache accountCache; private final AccountInfo.Loader.Factory infoFactory; @@ -86,7 +86,7 @@ public class AddMembers implements RestModifyView { @Inject AddMembers(AccountManager accountManager, AuthConfig authConfig, - Provider accounts, + AccountsCollection accounts, AccountResolver accountResolver, AccountCache accountCache, AccountInfo.Loader.Factory infoFactory, @@ -155,7 +155,7 @@ public class AddMembers implements RestModifyView { private Account findAccount(String nameOrEmail) throws AuthException, UnprocessableEntityException, OrmException { try { - return accounts.get().parse(nameOrEmail).getAccount(); + return accounts.parse(nameOrEmail).getAccount(); } catch (UnprocessableEntityException e) { // might be because the account does not exist or because the account is // not visible @@ -193,10 +193,10 @@ public class AddMembers implements RestModifyView { static class Input { } - private final Provider put; + private final AddMembers put; private final String id; - PutMember(Provider put, String id) { + PutMember(AddMembers put, String id) { this.put = put; this.id = id; } @@ -207,7 +207,7 @@ public class AddMembers implements RestModifyView { UnprocessableEntityException, OrmException { AddMembers.Input in = new AddMembers.Input(); in._oneMember = id; - List list = put.get().apply(resource, in); + List list = put.apply(resource, in); if (list.size() == 1) { return list.get(0); } @@ -220,10 +220,10 @@ public class AddMembers implements RestModifyView { static class Input { } - private final Provider get; + private final GetMember get; @Inject - UpdateMember(Provider get) { + UpdateMember(GetMember get) { this.get = get; } @@ -231,7 +231,7 @@ public class AddMembers implements RestModifyView { public AccountInfo apply(MemberResource resource, PutMember.Input input) throws OrmException { // Do nothing, the user is already a member. - return get.get().apply(resource); + return get.apply(resource); } } } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/group/DeleteIncludedGroups.java b/gerrit-server/src/main/java/com/google/gerrit/server/group/DeleteIncludedGroups.java index c8646daec8..555744ee1d 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/group/DeleteIncludedGroups.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/group/DeleteIncludedGroups.java @@ -44,13 +44,13 @@ import java.util.Map; @Singleton public class DeleteIncludedGroups implements RestModifyView { - private final Provider groupsCollection; + private final GroupsCollection groupsCollection; private final GroupIncludeCache groupIncludeCache; private final Provider db; private final Provider self; @Inject - DeleteIncludedGroups(Provider groupsCollection, + DeleteIncludedGroups(GroupsCollection groupsCollection, GroupIncludeCache groupIncludeCache, Provider db, Provider self) { @@ -75,7 +75,7 @@ public class DeleteIncludedGroups implements RestModifyView toRemove = Lists.newLinkedList(); for (final String includedGroup : input.groups) { - GroupDescription.Basic d = groupsCollection.get().parse(includedGroup); + GroupDescription.Basic d = groupsCollection.parse(includedGroup); if (!control.canRemoveGroup(d.getGroupUUID())) { throw new AuthException(String.format("Cannot delete group: %s", d.getName())); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/group/DeleteMembers.java b/gerrit-server/src/main/java/com/google/gerrit/server/group/DeleteMembers.java index 73cc3527c4..654ad884b4 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/group/DeleteMembers.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/group/DeleteMembers.java @@ -43,13 +43,13 @@ import java.util.Map; @Singleton public class DeleteMembers implements RestModifyView { - private final Provider accounts; + private final AccountsCollection accounts; private final AccountCache accountCache; private final Provider db; private final Provider self; @Inject - DeleteMembers(Provider accounts, + DeleteMembers(AccountsCollection accounts, AccountCache accountCache, Provider db, Provider self) { this.accounts = accounts; @@ -73,7 +73,7 @@ public class DeleteMembers implements RestModifyView { final List toRemove = Lists.newLinkedList(); for (final String nameOrEmail : input.members) { - Account a = accounts.get().parse(nameOrEmail).getAccount(); + Account a = accounts.parse(nameOrEmail).getAccount(); if (!control.canRemoveMember(a.getId())) { throw new AuthException("Cannot delete member: " + a.getFullName()); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/group/IncludedGroupsCollection.java b/gerrit-server/src/main/java/com/google/gerrit/server/group/IncludedGroupsCollection.java index ba0930e7a5..72f17b4ad0 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/group/IncludedGroupsCollection.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/group/IncludedGroupsCollection.java @@ -38,16 +38,17 @@ public class IncludedGroupsCollection implements ChildCollection, AcceptsCreate { private final DynamicMap> views; - private final Provider list; - private final Provider groupsCollection; + private final ListIncludedGroups list; + private final GroupsCollection groupsCollection; private final Provider dbProvider; - private final Provider put; + private final AddIncludedGroups put; @Inject IncludedGroupsCollection(DynamicMap> views, - Provider list, - Provider groupsCollection, - Provider dbProvider, Provider put) { + ListIncludedGroups list, + GroupsCollection groupsCollection, + Provider dbProvider, + AddIncludedGroups put) { this.views = views; this.list = list; this.groupsCollection = groupsCollection; @@ -57,7 +58,7 @@ public class IncludedGroupsCollection implements @Override public RestView list() { - return list.get(); + return list; } @Override @@ -70,7 +71,7 @@ public class IncludedGroupsCollection implements } GroupDescription.Basic member = - groupsCollection.get().parse(TopLevelResource.INSTANCE, id).getGroup(); + groupsCollection.parse(TopLevelResource.INSTANCE, id).getGroup(); if (isMember(parent, member) && resource.getControl().canSeeGroup(member.getGroupUUID())) { return new IncludedGroupResource(resource, member); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/group/MembersCollection.java b/gerrit-server/src/main/java/com/google/gerrit/server/group/MembersCollection.java index d69046da67..fc69a1f6c9 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/group/MembersCollection.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/group/MembersCollection.java @@ -39,16 +39,16 @@ public class MembersCollection implements AcceptsCreate { private final DynamicMap> views; private final Provider list; - private final Provider accounts; + private final AccountsCollection accounts; private final Provider db; - private final Provider put; + private final AddMembers put; @Inject MembersCollection(DynamicMap> views, Provider list, - Provider accounts, + AccountsCollection accounts, Provider db, - Provider put) { + AddMembers put) { this.views = views; this.list = list; this.accounts = accounts; @@ -70,7 +70,7 @@ public class MembersCollection implements throw new MethodNotAllowedException(); } - IdentifiedUser user = accounts.get().parse(TopLevelResource.INSTANCE, id).getUser(); + IdentifiedUser user = accounts.parse(TopLevelResource.INSTANCE, id).getUser(); AccountGroupMember.Key key = new AccountGroupMember.Key(user.getAccountId(), parent.toAccountGroup().getId()); if (db.get().accountGroupMembers().get(key) != null diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/group/PutOwner.java b/gerrit-server/src/main/java/com/google/gerrit/server/group/PutOwner.java index 7aa15608f1..11d34ab9bb 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/group/PutOwner.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/group/PutOwner.java @@ -42,13 +42,13 @@ public class PutOwner implements RestModifyView { public String owner; } - private final Provider groupsCollection; + private final GroupsCollection groupsCollection; private final GroupCache groupCache; private final Provider db; private final GroupJson json; @Inject - PutOwner(Provider groupsCollection, GroupCache groupCache, + PutOwner(GroupsCollection groupsCollection, GroupCache groupCache, Provider db, GroupJson json) { this.groupsCollection = groupsCollection; this.groupCache = groupCache; @@ -77,7 +77,7 @@ public class PutOwner implements RestModifyView { throw new ResourceNotFoundException(); } - GroupDescription.Basic owner = groupsCollection.get().parse(input.owner); + GroupDescription.Basic owner = groupsCollection.parse(input.owner); if (!group.getOwnerGroupUUID().equals(owner.getGroupUUID())) { group.setOwnerGroupUUID(owner.getGroupUUID()); db.get().accountGroups().update(Collections.singleton(group)); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/mail/SignedTokenEmailTokenVerifier.java b/gerrit-server/src/main/java/com/google/gerrit/server/mail/SignedTokenEmailTokenVerifier.java index 4d6eb8ec21..92fffde025 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/mail/SignedTokenEmailTokenVerifier.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/mail/SignedTokenEmailTokenVerifier.java @@ -21,6 +21,7 @@ import com.google.gwtjsonrpc.server.ValidToken; import com.google.gwtjsonrpc.server.XsrfException; import com.google.inject.AbstractModule; import com.google.inject.Inject; +import com.google.inject.Singleton; import org.eclipse.jgit.util.Base64; @@ -29,6 +30,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; /** Verifies the token sent by {@link RegisterNewEmailSender}. */ +@Singleton public class SignedTokenEmailTokenVerifier implements EmailTokenVerifier { private final SignedToken emailRegistrationToken; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/BranchesCollection.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/BranchesCollection.java index efcad64d68..3bf3522d37 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/BranchesCollection.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/BranchesCollection.java @@ -22,7 +22,6 @@ import com.google.gerrit.extensions.restapi.ResourceNotFoundException; import com.google.gerrit.extensions.restapi.RestView; import com.google.gerrit.server.project.ListBranches.BranchInfo; import com.google.inject.Inject; -import com.google.inject.Provider; import com.google.inject.Singleton; import org.eclipse.jgit.lib.Constants; @@ -35,12 +34,12 @@ public class BranchesCollection implements ChildCollection, AcceptsCreate { private final DynamicMap> views; - private final Provider list; + private final ListBranches list; private final CreateBranch.Factory createBranchFactory; @Inject BranchesCollection(DynamicMap> views, - Provider list, CreateBranch.Factory createBranchFactory) { + ListBranches list, CreateBranch.Factory createBranchFactory) { this.views = views; this.list = list; this.createBranchFactory = createBranchFactory; @@ -48,7 +47,7 @@ public class BranchesCollection implements @Override public RestView list() { - return list.get(); + return list; } @Override @@ -59,7 +58,7 @@ public class BranchesCollection implements && !branchName.equals(Constants.HEAD)) { branchName = Constants.R_HEADS + branchName; } - List branches = list.get().apply(parent); + List branches = list.apply(parent); for (BranchInfo b : branches) { if (branchName.equals(b.ref)) { return new BranchResource(parent.getControl(), b); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/ChildProjectsCollection.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/ChildProjectsCollection.java index 06325d6b5d..ca98cf67b2 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/ChildProjectsCollection.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/ChildProjectsCollection.java @@ -31,12 +31,12 @@ import java.io.IOException; public class ChildProjectsCollection implements ChildCollection { private final Provider list; - private final Provider projectsCollection; + private final ProjectsCollection projectsCollection; private final DynamicMap> views; @Inject ChildProjectsCollection(Provider list, - Provider projectsCollection, + ProjectsCollection projectsCollection, DynamicMap> views) { this.list = list; this.projectsCollection = projectsCollection; @@ -53,7 +53,7 @@ public class ChildProjectsCollection implements public ChildProjectResource parse(ProjectResource parent, IdString id) throws ResourceNotFoundException, IOException { ProjectResource p = - projectsCollection.get().parse(TopLevelResource.INSTANCE, id); + projectsCollection.parse(TopLevelResource.INSTANCE, id); for (ProjectState pp : p.getControl().getProjectState().parents()) { if (parent.getNameKey().equals(pp.getProject().getNameKey())) { return new ChildProjectResource(parent, p.getControl());