From d51b41f61fa75ea7af6fdd1955b918bb71b0c433 Mon Sep 17 00:00:00 2001 From: Edwin Kempin Date: Wed, 23 May 2018 10:21:15 +0200 Subject: [PATCH] Bind all REST endpoints at the same place At the moment most of the REST endpoints are bound at the same place (com.google.gerrit.server.restapi.RestApiModule). However some REST endpoints are bound separately: - plugins REST endpoints (PluginRestApiModule) - config REST endpoints for caches (RestCacheAdminModule) The only reason why the modules for the plugins REST endpoints and the config REST endpoints for caches are bound separately is to allow us at Google to replace them with custom modules, while allowing us to reuse RestApiModule. Since change I36b2420637 we can just bind a custom implementation for RestApiModule. Hence RestApiModule is no longer used by us and we can move the bindings of the plugins REST endpoints and the config REST endpoints for caches into this class. This has the advantage that now all bindings for the REST API are done in this one module. Change-Id: I143557eb8b1d32c3035ffe8beb7a0c51629fce02 Signed-off-by: Edwin Kempin --- java/com/google/gerrit/httpd/init/WebAppInitializer.java | 4 ---- java/com/google/gerrit/pgm/Daemon.java | 4 ---- java/com/google/gerrit/server/restapi/RestApiModule.java | 4 ++++ java/com/google/gerrit/testing/InMemoryModule.java | 2 -- 4 files changed, 4 insertions(+), 10 deletions(-) diff --git a/java/com/google/gerrit/httpd/init/WebAppInitializer.java b/java/com/google/gerrit/httpd/init/WebAppInitializer.java index 690d1ac1f8..067df70507 100644 --- a/java/com/google/gerrit/httpd/init/WebAppInitializer.java +++ b/java/com/google/gerrit/httpd/init/WebAppInitializer.java @@ -77,10 +77,8 @@ import com.google.gerrit.server.patch.DiffExecutorModule; import com.google.gerrit.server.permissions.DefaultPermissionBackendModule; import com.google.gerrit.server.plugins.PluginGuiceEnvironment; import com.google.gerrit.server.plugins.PluginModule; -import com.google.gerrit.server.plugins.PluginRestApiModule; import com.google.gerrit.server.project.DefaultProjectNameLockManager; import com.google.gerrit.server.restapi.RestApiModule; -import com.google.gerrit.server.restapi.config.RestCacheAdminModule; import com.google.gerrit.server.schema.DataSourceModule; import com.google.gerrit.server.schema.DataSourceProvider; import com.google.gerrit.server.schema.DataSourceType; @@ -358,10 +356,8 @@ public class WebAppInitializer extends GuiceServletContextListener implements Fi // with the proper classes (e.g. group backends, custom Prolog // predicates) and the associated rules ready to be evaluated. modules.add(new PluginModule()); - modules.add(new PluginRestApiModule()); modules.add(new RestApiModule()); - modules.add(new RestCacheAdminModule()); modules.add(new GpgModule(config)); modules.add(new StartupChecks.Module()); diff --git a/java/com/google/gerrit/pgm/Daemon.java b/java/com/google/gerrit/pgm/Daemon.java index 53e43a234d..97fca8f994 100644 --- a/java/com/google/gerrit/pgm/Daemon.java +++ b/java/com/google/gerrit/pgm/Daemon.java @@ -88,10 +88,8 @@ import com.google.gerrit.server.patch.DiffExecutorModule; import com.google.gerrit.server.permissions.DefaultPermissionBackendModule; import com.google.gerrit.server.plugins.PluginGuiceEnvironment; import com.google.gerrit.server.plugins.PluginModule; -import com.google.gerrit.server.plugins.PluginRestApiModule; import com.google.gerrit.server.project.DefaultProjectNameLockManager; import com.google.gerrit.server.restapi.RestApiModule; -import com.google.gerrit.server.restapi.config.RestCacheAdminModule; import com.google.gerrit.server.schema.DataSourceProvider; import com.google.gerrit.server.schema.InMemoryAccountPatchReviewStore; import com.google.gerrit.server.schema.JdbcAccountPatchReviewStore; @@ -441,8 +439,6 @@ public class Daemon extends SiteProgram { } modules.add(new SignedTokenEmailTokenVerifier.Module()); modules.add(new RestApiModule()); - modules.add(new PluginRestApiModule()); - modules.add(new RestCacheAdminModule()); modules.add(new GpgModule(config)); modules.add(new StartupChecks.Module()); modules.add(new GerritInstanceNameModule()); diff --git a/java/com/google/gerrit/server/restapi/RestApiModule.java b/java/com/google/gerrit/server/restapi/RestApiModule.java index 1ba6f228f3..dc2fe5ff54 100644 --- a/java/com/google/gerrit/server/restapi/RestApiModule.java +++ b/java/com/google/gerrit/server/restapi/RestApiModule.java @@ -14,6 +14,8 @@ package com.google.gerrit.server.restapi; +import com.google.gerrit.server.plugins.PluginRestApiModule; +import com.google.gerrit.server.restapi.config.RestCacheAdminModule; import com.google.inject.AbstractModule; public class RestApiModule extends AbstractModule { @@ -23,7 +25,9 @@ public class RestApiModule extends AbstractModule { install(new com.google.gerrit.server.restapi.account.Module()); install(new com.google.gerrit.server.restapi.change.Module()); install(new com.google.gerrit.server.restapi.config.Module()); + install(new RestCacheAdminModule()); install(new com.google.gerrit.server.restapi.group.Module()); + install(new PluginRestApiModule()); install(new com.google.gerrit.server.restapi.project.Module()); } } diff --git a/java/com/google/gerrit/testing/InMemoryModule.java b/java/com/google/gerrit/testing/InMemoryModule.java index 700eb83042..b3f6222b9e 100644 --- a/java/com/google/gerrit/testing/InMemoryModule.java +++ b/java/com/google/gerrit/testing/InMemoryModule.java @@ -76,7 +76,6 @@ import com.google.gerrit.server.notedb.MutableNotesMigration; import com.google.gerrit.server.notedb.NotesMigration; import com.google.gerrit.server.patch.DiffExecutor; import com.google.gerrit.server.permissions.DefaultPermissionBackendModule; -import com.google.gerrit.server.plugins.PluginRestApiModule; import com.google.gerrit.server.plugins.ServerInformationImpl; import com.google.gerrit.server.project.DefaultProjectNameLockManager; import com.google.gerrit.server.restapi.RestApiModule; @@ -268,7 +267,6 @@ public class InMemoryModule extends FactoryModule { bind(ServerInformationImpl.class); bind(ServerInformation.class).to(ServerInformationImpl.class); install(new RestApiModule()); - install(new PluginRestApiModule()); install(new DefaultProjectNameLockManager.Module()); }