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.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());

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.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());

View File

@@ -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());
}
}

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.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());
}