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 <ekempin@google.com>
This commit is contained in:
Edwin Kempin
2018-05-23 10:21:15 +02:00
parent 5bb7982c4e
commit d51b41f61f
4 changed files with 4 additions and 10 deletions

View File

@@ -77,10 +77,8 @@ import com.google.gerrit.server.patch.DiffExecutorModule;
import com.google.gerrit.server.permissions.DefaultPermissionBackendModule; import com.google.gerrit.server.permissions.DefaultPermissionBackendModule;
import com.google.gerrit.server.plugins.PluginGuiceEnvironment; import com.google.gerrit.server.plugins.PluginGuiceEnvironment;
import com.google.gerrit.server.plugins.PluginModule; 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.project.DefaultProjectNameLockManager;
import com.google.gerrit.server.restapi.RestApiModule; 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.DataSourceModule;
import com.google.gerrit.server.schema.DataSourceProvider; import com.google.gerrit.server.schema.DataSourceProvider;
import com.google.gerrit.server.schema.DataSourceType; 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 // with the proper classes (e.g. group backends, custom Prolog
// predicates) and the associated rules ready to be evaluated. // predicates) and the associated rules ready to be evaluated.
modules.add(new PluginModule()); modules.add(new PluginModule());
modules.add(new PluginRestApiModule());
modules.add(new RestApiModule()); modules.add(new RestApiModule());
modules.add(new RestCacheAdminModule());
modules.add(new GpgModule(config)); modules.add(new GpgModule(config));
modules.add(new StartupChecks.Module()); modules.add(new StartupChecks.Module());

View File

@@ -88,10 +88,8 @@ import com.google.gerrit.server.patch.DiffExecutorModule;
import com.google.gerrit.server.permissions.DefaultPermissionBackendModule; import com.google.gerrit.server.permissions.DefaultPermissionBackendModule;
import com.google.gerrit.server.plugins.PluginGuiceEnvironment; import com.google.gerrit.server.plugins.PluginGuiceEnvironment;
import com.google.gerrit.server.plugins.PluginModule; 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.project.DefaultProjectNameLockManager;
import com.google.gerrit.server.restapi.RestApiModule; 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.DataSourceProvider;
import com.google.gerrit.server.schema.InMemoryAccountPatchReviewStore; import com.google.gerrit.server.schema.InMemoryAccountPatchReviewStore;
import com.google.gerrit.server.schema.JdbcAccountPatchReviewStore; import com.google.gerrit.server.schema.JdbcAccountPatchReviewStore;
@@ -441,8 +439,6 @@ public class Daemon extends SiteProgram {
} }
modules.add(new SignedTokenEmailTokenVerifier.Module()); modules.add(new SignedTokenEmailTokenVerifier.Module());
modules.add(new RestApiModule()); modules.add(new RestApiModule());
modules.add(new PluginRestApiModule());
modules.add(new RestCacheAdminModule());
modules.add(new GpgModule(config)); modules.add(new GpgModule(config));
modules.add(new StartupChecks.Module()); modules.add(new StartupChecks.Module());
modules.add(new GerritInstanceNameModule()); modules.add(new GerritInstanceNameModule());

View File

@@ -14,6 +14,8 @@
package com.google.gerrit.server.restapi; 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; import com.google.inject.AbstractModule;
public class RestApiModule extends 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.account.Module());
install(new com.google.gerrit.server.restapi.change.Module()); install(new com.google.gerrit.server.restapi.change.Module());
install(new com.google.gerrit.server.restapi.config.Module()); install(new com.google.gerrit.server.restapi.config.Module());
install(new RestCacheAdminModule());
install(new com.google.gerrit.server.restapi.group.Module()); install(new com.google.gerrit.server.restapi.group.Module());
install(new PluginRestApiModule());
install(new com.google.gerrit.server.restapi.project.Module()); install(new com.google.gerrit.server.restapi.project.Module());
} }
} }

View File

@@ -76,7 +76,6 @@ import com.google.gerrit.server.notedb.MutableNotesMigration;
import com.google.gerrit.server.notedb.NotesMigration; import com.google.gerrit.server.notedb.NotesMigration;
import com.google.gerrit.server.patch.DiffExecutor; import com.google.gerrit.server.patch.DiffExecutor;
import com.google.gerrit.server.permissions.DefaultPermissionBackendModule; 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.plugins.ServerInformationImpl;
import com.google.gerrit.server.project.DefaultProjectNameLockManager; import com.google.gerrit.server.project.DefaultProjectNameLockManager;
import com.google.gerrit.server.restapi.RestApiModule; import com.google.gerrit.server.restapi.RestApiModule;
@@ -268,7 +267,6 @@ public class InMemoryModule extends FactoryModule {
bind(ServerInformationImpl.class); bind(ServerInformationImpl.class);
bind(ServerInformation.class).to(ServerInformationImpl.class); bind(ServerInformation.class).to(ServerInformationImpl.class);
install(new RestApiModule()); install(new RestApiModule());
install(new PluginRestApiModule());
install(new DefaultProjectNameLockManager.Module()); install(new DefaultProjectNameLockManager.Module());
} }