diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/project/ChangeProjectAccess.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/project/ChangeProjectAccess.java index ee95c7c3f9..223629d3fd 100644 --- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/project/ChangeProjectAccess.java +++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/project/ChangeProjectAccess.java @@ -23,7 +23,7 @@ import com.google.gerrit.reviewdb.client.Project; import com.google.gerrit.reviewdb.client.RefNames; import com.google.gerrit.server.CurrentUser; import com.google.gerrit.server.account.GroupBackend; -import com.google.gerrit.server.config.AllProjectsNameProvider; +import com.google.gerrit.server.config.AllProjectsName; import com.google.gerrit.server.extensions.events.GitReferenceUpdated; import com.google.gerrit.server.git.MetaDataUpdate; import com.google.gerrit.server.git.ProjectConfig; @@ -62,7 +62,7 @@ class ChangeProjectAccess extends ProjectAccessHandler { ProjectControl.Factory projectControlFactory, ProjectCache projectCache, GroupBackend groupBackend, MetaDataUpdate.User metaDataUpdateFactory, - AllProjectsNameProvider allProjects, + AllProjectsName allProjects, Provider setParent, ChangeHooks hooks, GitReferenceUpdated gitRefUpdated, diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/project/ProjectAccessHandler.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/project/ProjectAccessHandler.java index 8b637622aa..980b28460f 100644 --- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/project/ProjectAccessHandler.java +++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/project/ProjectAccessHandler.java @@ -32,7 +32,7 @@ import com.google.gerrit.reviewdb.client.Project; import com.google.gerrit.server.CurrentUser; import com.google.gerrit.server.account.GroupBackend; import com.google.gerrit.server.account.GroupBackends; -import com.google.gerrit.server.config.AllProjectsNameProvider; +import com.google.gerrit.server.config.AllProjectsName; import com.google.gerrit.server.git.MetaDataUpdate; import com.google.gerrit.server.git.ProjectConfig; import com.google.gerrit.server.project.NoSuchProjectException; @@ -56,7 +56,7 @@ public abstract class ProjectAccessHandler extends Handler { private final ProjectControl.Factory projectControlFactory; protected final GroupBackend groupBackend; private final MetaDataUpdate.User metaDataUpdateFactory; - private final AllProjectsNameProvider allProjects; + private final AllProjectsName allProjects; private final Provider setParent; protected final Project.NameKey projectName; @@ -68,7 +68,7 @@ public abstract class ProjectAccessHandler extends Handler { protected ProjectAccessHandler(ProjectControl.Factory projectControlFactory, GroupBackend groupBackend, MetaDataUpdate.User metaDataUpdateFactory, - AllProjectsNameProvider allProjects, Provider setParent, + AllProjectsName allProjects, Provider setParent, Project.NameKey projectName, ObjectId base, List sectionList, Project.NameKey parentProjectName, String message, boolean checkIfOwner) { @@ -129,12 +129,12 @@ public abstract class ProjectAccessHandler extends Handler { } boolean parentProjectUpdate = false; - if (!config.getProject().getNameKey().equals(allProjects.get()) && - !config.getProject().getParent(allProjects.get()).equals(parentProjectName)) { + if (!config.getProject().getNameKey().equals(allProjects) && + !config.getProject().getParent(allProjects).equals(parentProjectName)) { parentProjectUpdate = true; try { setParent.get().validateParentUpdate(projectControl, - MoreObjects.firstNonNull(parentProjectName, allProjects.get()).get(), + MoreObjects.firstNonNull(parentProjectName, allProjects).get(), checkIfOwner); } catch (AuthException e) { throw new UpdateParentFailedException( diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/project/ReviewProjectAccess.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/project/ReviewProjectAccess.java index 13f9f2d20e..9260e013b8 100644 --- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/project/ReviewProjectAccess.java +++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/project/ReviewProjectAccess.java @@ -34,7 +34,7 @@ import com.google.gerrit.server.change.ChangeInserter; import com.google.gerrit.server.change.ChangeResource; import com.google.gerrit.server.change.ChangesCollection; import com.google.gerrit.server.change.PostReviewers; -import com.google.gerrit.server.config.AllProjectsNameProvider; +import com.google.gerrit.server.config.AllProjectsName; import com.google.gerrit.server.git.BatchUpdate; import com.google.gerrit.server.git.MetaDataUpdate; import com.google.gerrit.server.git.ProjectConfig; @@ -81,7 +81,7 @@ public class ReviewProjectAccess extends ProjectAccessHandler { MetaDataUpdate.User metaDataUpdateFactory, ReviewDb db, Provider reviewersProvider, ProjectCache projectCache, - AllProjectsNameProvider allProjects, + AllProjectsName allProjects, ChangesCollection changes, ChangeInserter.Factory changeInserterFactory, BatchUpdate.Factory updateFactory, diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/config/AllProjectsNameProvider.java b/gerrit-server/src/main/java/com/google/gerrit/server/config/AllProjectsNameProvider.java index 2f25da400c..af681dbfa5 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/config/AllProjectsNameProvider.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/config/AllProjectsNameProvider.java @@ -16,9 +16,11 @@ package com.google.gerrit.server.config; import com.google.inject.Inject; import com.google.inject.Provider; +import com.google.inject.Singleton; import org.eclipse.jgit.lib.Config; +@Singleton public class AllProjectsNameProvider implements Provider { public static final String DEFAULT = "All-Projects"; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/ConfigInfo.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/ConfigInfo.java index 6cbf7c65ad..a98bb9eb8c 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/ConfigInfo.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/ConfigInfo.java @@ -25,7 +25,7 @@ import com.google.gerrit.extensions.registration.DynamicMap.Entry; import com.google.gerrit.extensions.restapi.RestView; import com.google.gerrit.extensions.webui.UiAction; import com.google.gerrit.reviewdb.client.Project; -import com.google.gerrit.server.config.AllProjectsNameProvider; +import com.google.gerrit.server.config.AllProjectsName; import com.google.gerrit.server.config.PluginConfig; import com.google.gerrit.server.config.PluginConfigFactory; import com.google.gerrit.server.config.ProjectConfigEntry; @@ -61,7 +61,7 @@ public class ConfigInfo { TransferConfig config, DynamicMap pluginConfigEntries, PluginConfigFactory cfgFactory, - AllProjectsNameProvider allProjects, + AllProjectsName allProjects, DynamicMap> views) { ProjectState projectState = control.getProjectState(); Project p = control.getProject(); @@ -151,7 +151,7 @@ public class ConfigInfo { private Map> getPluginConfig( ProjectState project, DynamicMap pluginConfigEntries, - PluginConfigFactory cfgFactory, AllProjectsNameProvider allProjects) { + PluginConfigFactory cfgFactory, AllProjectsName allProjects) { TreeMap> pluginConfig = new TreeMap<>(); for (Entry e : pluginConfigEntries) { ProjectConfigEntry configEntry = e.getProvider().get(); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/GetConfig.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/GetConfig.java index 469da93545..e916162fed 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/GetConfig.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/GetConfig.java @@ -18,7 +18,7 @@ import com.google.gerrit.extensions.registration.DynamicMap; import com.google.gerrit.extensions.restapi.RestReadView; import com.google.gerrit.extensions.restapi.RestView; import com.google.gerrit.server.EnableSignedPush; -import com.google.gerrit.server.config.AllProjectsNameProvider; +import com.google.gerrit.server.config.AllProjectsName; import com.google.gerrit.server.config.PluginConfigFactory; import com.google.gerrit.server.config.ProjectConfigEntry; import com.google.gerrit.server.git.TransferConfig; @@ -31,7 +31,7 @@ public class GetConfig implements RestReadView { private final TransferConfig config; private final DynamicMap pluginConfigEntries; private final PluginConfigFactory cfgFactory; - private final AllProjectsNameProvider allProjects; + private final AllProjectsName allProjects; private final DynamicMap> views; @Inject @@ -39,7 +39,7 @@ public class GetConfig implements RestReadView { TransferConfig config, DynamicMap pluginConfigEntries, PluginConfigFactory cfgFactory, - AllProjectsNameProvider allProjects, + AllProjectsName allProjects, DynamicMap> views) { this.serverEnableSignedPush = serverEnableSignedPush; this.config = config; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/ListChildProjects.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/ListChildProjects.java index b2596bef92..0c417d9c98 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/ListChildProjects.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/ListChildProjects.java @@ -21,7 +21,6 @@ import com.google.gerrit.extensions.restapi.RestReadView; import com.google.gerrit.reviewdb.client.Project; import com.google.gerrit.server.CurrentUser; import com.google.gerrit.server.config.AllProjectsName; -import com.google.gerrit.server.config.AllProjectsNameProvider; import com.google.inject.Inject; import org.kohsuke.args4j.Option; @@ -42,10 +41,10 @@ public class ListChildProjects implements RestReadView { @Inject ListChildProjects(ProjectCache projectCache, - AllProjectsNameProvider allProjectsNameProvider, + AllProjectsName allProjectsName, ProjectJson json, ProjectNode.Factory projectNodeFactory) { this.projectCache = projectCache; - this.allProjects = allProjectsNameProvider.get(); + this.allProjects = allProjectsName; this.json = json; this.projectNodeFactory = projectNodeFactory; } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/ProjectJson.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/ProjectJson.java index 6415664afb..5b1d521e54 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/ProjectJson.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/ProjectJson.java @@ -22,7 +22,6 @@ import com.google.gerrit.extensions.restapi.Url; import com.google.gerrit.reviewdb.client.Project; import com.google.gerrit.server.WebLinks; import com.google.gerrit.server.config.AllProjectsName; -import com.google.gerrit.server.config.AllProjectsNameProvider; import com.google.inject.Inject; import com.google.inject.Singleton; @@ -33,9 +32,9 @@ public class ProjectJson { private final WebLinks webLinks; @Inject - ProjectJson(AllProjectsNameProvider allProjectsNameProvider, + ProjectJson(AllProjectsName allProjectsName, WebLinks webLinks) { - this.allProjects = allProjectsNameProvider.get(); + this.allProjects = allProjectsName; this.webLinks = webLinks; } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/PutConfig.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/PutConfig.java index fd7539fc8a..86f98ffd4f 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/PutConfig.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/PutConfig.java @@ -32,7 +32,7 @@ import com.google.gerrit.reviewdb.client.Project; import com.google.gerrit.reviewdb.client.RefNames; import com.google.gerrit.server.CurrentUser; import com.google.gerrit.server.EnableSignedPush; -import com.google.gerrit.server.config.AllProjectsNameProvider; +import com.google.gerrit.server.config.AllProjectsName; import com.google.gerrit.server.config.PluginConfig; import com.google.gerrit.server.config.PluginConfigFactory; import com.google.gerrit.server.config.ProjectConfigEntry; @@ -86,7 +86,7 @@ public class PutConfig implements RestModifyView { private final TransferConfig config; private final DynamicMap pluginConfigEntries; private final PluginConfigFactory cfgFactory; - private final AllProjectsNameProvider allProjects; + private final AllProjectsName allProjects; private final DynamicMap> views; private final Provider user; private final ChangeHooks hooks; @@ -101,7 +101,7 @@ public class PutConfig implements RestModifyView { TransferConfig config, DynamicMap pluginConfigEntries, PluginConfigFactory cfgFactory, - AllProjectsNameProvider allProjects, + AllProjectsName allProjects, DynamicMap> views, ChangeHooks hooks, GitReferenceUpdated gitRefUpdated,