Move routers configuration out of kafka domain
Routers should be isolated from the Kafka internals.
They should be moved to the multi-site engine and used across
broker implementations.
Feature: Issue 10829
Change-Id: Ie95931692d28d1fd4db6eeef1fd2d73dbe220b84
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/Module.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/Module.java
index 15abfac..b201942 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/Module.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/Module.java
@@ -34,6 +34,7 @@
import com.googlesource.gerrit.plugins.multisite.cache.CacheModule;
import com.googlesource.gerrit.plugins.multisite.event.EventModule;
import com.googlesource.gerrit.plugins.multisite.forwarder.ForwarderModule;
+import com.googlesource.gerrit.plugins.multisite.forwarder.router.RouterModule;
import com.googlesource.gerrit.plugins.multisite.index.IndexModule;
import com.googlesource.gerrit.plugins.multisite.kafka.KafkaBrokerApi;
import com.googlesource.gerrit.plugins.multisite.kafka.router.KafkaForwardedEventRouterModule;
@@ -124,6 +125,8 @@
DynamicItem.bind(binder(), BrokerApi.class).to(KafkaBrokerApi.class).in(Scopes.SINGLETON);
listener().to(KafkaBrokerApi.class);
+ install(new RouterModule());
+
install(kafkaForwardedEventRouterModule);
install(kafkaBrokerForwarderModule);
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/router/RouterModule.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/router/RouterModule.java
new file mode 100644
index 0000000..6f1572a
--- /dev/null
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/router/RouterModule.java
@@ -0,0 +1,27 @@
+// Copyright (C) 2019 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package com.googlesource.gerrit.plugins.multisite.forwarder.router;
+
+import com.google.inject.AbstractModule;
+
+public class RouterModule extends AbstractModule {
+ @Override
+ protected void configure() {
+ bind(ForwardedIndexEventRouter.class).to(IndexEventRouter.class);
+ bind(ForwardedCacheEvictionEventRouter.class).to(CacheEvictionEventRouter.class);
+ bind(ForwardedProjectListUpdateRouter.class).to(ProjectListUpdateRouter.class);
+ bind(ForwardedStreamEventRouter.class).to(StreamEventRouter.class);
+ }
+}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/kafka/router/KafkaForwardedEventRouterModule.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/kafka/router/KafkaForwardedEventRouterModule.java
index a6422ae..2e05de8 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/kafka/router/KafkaForwardedEventRouterModule.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/kafka/router/KafkaForwardedEventRouterModule.java
@@ -16,14 +16,6 @@
import com.google.inject.AbstractModule;
import com.google.inject.Inject;
-import com.googlesource.gerrit.plugins.multisite.forwarder.router.CacheEvictionEventRouter;
-import com.googlesource.gerrit.plugins.multisite.forwarder.router.ForwardedCacheEvictionEventRouter;
-import com.googlesource.gerrit.plugins.multisite.forwarder.router.ForwardedIndexEventRouter;
-import com.googlesource.gerrit.plugins.multisite.forwarder.router.ForwardedProjectListUpdateRouter;
-import com.googlesource.gerrit.plugins.multisite.forwarder.router.ForwardedStreamEventRouter;
-import com.googlesource.gerrit.plugins.multisite.forwarder.router.IndexEventRouter;
-import com.googlesource.gerrit.plugins.multisite.forwarder.router.ProjectListUpdateRouter;
-import com.googlesource.gerrit.plugins.multisite.forwarder.router.StreamEventRouter;
import com.googlesource.gerrit.plugins.multisite.kafka.KafkaConfiguration;
import com.googlesource.gerrit.plugins.multisite.kafka.consumer.KafkaConsumerModule;
@@ -41,11 +33,6 @@
@Override
protected void configure() {
if (kafkaConfig.kafkaSubscriber().enabled()) {
- bind(ForwardedIndexEventRouter.class).to(IndexEventRouter.class);
- bind(ForwardedCacheEvictionEventRouter.class).to(CacheEvictionEventRouter.class);
- bind(ForwardedProjectListUpdateRouter.class).to(ProjectListUpdateRouter.class);
- bind(ForwardedStreamEventRouter.class).to(StreamEventRouter.class);
-
install(kafkaConsumerModule);
}
}