Explicitly bind RestCollections in modules This reverts commit 2934302a7d942590d84db7b1b8ec4a17f46af33e and provides a real fix for the Guice constructor not ready bug. We should be naming these collection classes explicitly as being implemented by themselves so Guice doesn't have to guess about how to create them. Change-Id: I761bb18ea180b48139aefd1e112e593c4c8517b3
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/Module.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/Module.java index ad1c479..928f597 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/Module.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/Module.java
@@ -23,6 +23,9 @@ public class Module extends RestApiModule { @Override protected void configure() { + bind(AccountsCollection.class); + bind(Capabilities.class); + DynamicMap.mapOf(binder(), ACCOUNT_KIND); DynamicMap.mapOf(binder(), CAPABILITY_KIND);
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/Module.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/Module.java index 279e925..3a25c15 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/Module.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/Module.java
@@ -26,6 +26,10 @@ public class Module extends RestApiModule { @Override protected void configure() { + bind(Revisions.class); + bind(Reviewers.class); + bind(Drafts.class); + DynamicMap.mapOf(binder(), CHANGE_KIND); DynamicMap.mapOf(binder(), DRAFT_KIND); DynamicMap.mapOf(binder(), REVIEWER_KIND);
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/config/GerritRequestModule.java b/gerrit-server/src/main/java/com/google/gerrit/server/config/GerritRequestModule.java index e833786..8e0658d 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/config/GerritRequestModule.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/config/GerritRequestModule.java
@@ -49,7 +49,6 @@ import com.google.gerrit.server.patch.RemoveReviewer; import com.google.gerrit.server.project.ChangeControl; import com.google.gerrit.server.project.CreateProject; -import com.google.gerrit.server.project.ListProjects; import com.google.gerrit.server.project.PerRequestProjectControlCache; import com.google.gerrit.server.project.ProjectControl; import com.google.gerrit.server.project.SuggestParentCandidates; @@ -63,7 +62,6 @@ bind(RequestScopedReviewDbProvider.class); bind(IdentifiedUser.RequestFactory.class).in(SINGLETON); bind(MetaDataUpdate.User.class).in(RequestScoped.class); - bind(ListProjects.class); bind(ApprovalsUtil.class); bind(PerRequestProjectControlCache.class).in(RequestScoped.class);
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/plugins/PluginModule.java b/gerrit-server/src/main/java/com/google/gerrit/server/plugins/PluginModule.java index e6871d8..4cdafb3 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/plugins/PluginModule.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/plugins/PluginModule.java
@@ -28,6 +28,7 @@ bind(ServerInformation.class).to(ServerInformationImpl.class); bind(PluginCleanerTask.class); + bind(PluginsCollection.class); bind(PluginGuiceEnvironment.class); bind(PluginLoader.class); bind(CopyConfigModule.class);
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/Module.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/Module.java index e44f6070..4507c17 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/Module.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/Module.java
@@ -23,6 +23,9 @@ public class Module extends RestApiModule { @Override protected void configure() { + bind(ProjectsCollection.class); + bind(DashboardsCollection.class); + DynamicMap.mapOf(binder(), PROJECT_KIND); DynamicMap.mapOf(binder(), DASHBOARD_KIND); @@ -34,9 +37,9 @@ get(PROJECT_KIND, "parent").to(GetParent.class); put(PROJECT_KIND, "parent").to(SetParent.class); + child(PROJECT_KIND, "dashboards").to(DashboardsCollection.class); get(DASHBOARD_KIND).to(GetDashboard.class); put(DASHBOARD_KIND).to(SetDashboard.class); delete(DASHBOARD_KIND).to(DeleteDashboard.class); - child(PROJECT_KIND, "dashboards").to(DashboardsCollection.class); } }