Remove all identical duplicate methods in IndexEventForwarder

IndexEventForwarder has all identical methods with the same signature
and exactly the same implementation.

Collapse all the methods to a single one to forward the indexing event.

Change-Id: I824c8f94e3ee2128b86a570e2a1b6800c070743c
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/IndexEventForwarder.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/IndexEventForwarder.java
index 5efc0ba..701c2fe 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/IndexEventForwarder.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/IndexEventForwarder.java
@@ -14,49 +14,15 @@
 
 package com.googlesource.gerrit.plugins.multisite.forwarder;
 
-import com.googlesource.gerrit.plugins.multisite.forwarder.events.AccountIndexEvent;
-import com.googlesource.gerrit.plugins.multisite.forwarder.events.ChangeIndexEvent;
-import com.googlesource.gerrit.plugins.multisite.forwarder.events.GroupIndexEvent;
-import com.googlesource.gerrit.plugins.multisite.forwarder.events.ProjectIndexEvent;
+import com.googlesource.gerrit.plugins.multisite.forwarder.events.IndexEvent;
 
 public interface IndexEventForwarder {
-  /**
-   * Forward a account indexing event to the other master.
-   *
-   * @param accountIndexEvent the details of the account index event.
-   * @return true if successful, otherwise false.
-   */
-  boolean indexAccount(AccountIndexEvent accountIndexEvent);
 
   /**
-   * Forward a change indexing event to the other master.
+   * Publish an indexing event to the broker.
    *
-   * @param changeIndexEvent the details of the change index event.
+   * @param event the details of the index event.
    * @return true if successful, otherwise false.
    */
-  boolean indexChange(ChangeIndexEvent changeIndexEvent);
-
-  /**
-   * Forward a delete change from index event to the other master.
-   *
-   * @param changeIndexEvent the details of the change index event.
-   * @return rue if successful, otherwise false.
-   */
-  boolean deleteChangeFromIndex(ChangeIndexEvent changeIndexEvent);
-
-  /**
-   * Forward a group indexing event to the other master.
-   *
-   * @param groupIndexEvent the details of the index event.
-   * @return true if successful, otherwise false.
-   */
-  boolean indexGroup(GroupIndexEvent groupIndexEvent);
-
-  /**
-   * Forward a project indexing event to the other master.
-   *
-   * @param projectIndexEvent the details of the index event.
-   * @return true if successful, otherwise false.
-   */
-  boolean indexProject(ProjectIndexEvent projectIndexEvent);
+  boolean index(IndexEvent event);
 }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/broker/BrokerIndexEventForwarder.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/broker/BrokerIndexEventForwarder.java
index ed7d113..bf70c84 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/broker/BrokerIndexEventForwarder.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/broker/BrokerIndexEventForwarder.java
@@ -17,11 +17,8 @@
 import com.google.inject.Inject;
 import com.googlesource.gerrit.plugins.multisite.broker.BrokerPublisher;
 import com.googlesource.gerrit.plugins.multisite.forwarder.IndexEventForwarder;
-import com.googlesource.gerrit.plugins.multisite.forwarder.events.AccountIndexEvent;
-import com.googlesource.gerrit.plugins.multisite.forwarder.events.ChangeIndexEvent;
 import com.googlesource.gerrit.plugins.multisite.forwarder.events.EventFamily;
-import com.googlesource.gerrit.plugins.multisite.forwarder.events.GroupIndexEvent;
-import com.googlesource.gerrit.plugins.multisite.forwarder.events.ProjectIndexEvent;
+import com.googlesource.gerrit.plugins.multisite.forwarder.events.IndexEvent;
 
 public class BrokerIndexEventForwarder implements IndexEventForwarder {
   private final BrokerPublisher publisher;
@@ -32,27 +29,7 @@
   }
 
   @Override
-  public boolean indexAccount(AccountIndexEvent event) {
-    return publisher.publishEvent(EventFamily.INDEX_EVENT, event);
-  }
-
-  @Override
-  public boolean indexChange(ChangeIndexEvent event) {
-    return publisher.publishEvent(EventFamily.INDEX_EVENT, event);
-  }
-
-  @Override
-  public boolean indexGroup(GroupIndexEvent event) {
-    return publisher.publishEvent(EventFamily.INDEX_EVENT, event);
-  }
-
-  @Override
-  public boolean deleteChangeFromIndex(ChangeIndexEvent event) {
-    return publisher.publishEvent(EventFamily.INDEX_EVENT, event);
-  }
-
-  @Override
-  public boolean indexProject(ProjectIndexEvent event) {
+  public boolean index(IndexEvent event) {
     return publisher.publishEvent(EventFamily.INDEX_EVENT, event);
   }
 }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/index/IndexEventHandler.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/index/IndexEventHandler.java
index 16eb9bb..9bef6fb 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/index/IndexEventHandler.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/index/IndexEventHandler.java
@@ -146,11 +146,7 @@
 
     @Override
     public void execute() {
-      if (changeIndexEvent.deleted) {
-        forwarders.forEach(f -> f.deleteChangeFromIndex(changeIndexEvent));
-      } else {
-        forwarders.forEach(f -> f.indexChange(changeIndexEvent));
-      }
+      forwarders.forEach(f -> f.index(changeIndexEvent));
     }
 
     @Override
@@ -182,7 +178,7 @@
 
     @Override
     public void execute() {
-      forwarders.forEach(f -> f.indexAccount(accountIndexEvent));
+      forwarders.forEach(f -> f.index(accountIndexEvent));
     }
 
     @Override
@@ -214,7 +210,7 @@
 
     @Override
     public void execute() {
-      forwarders.forEach(f -> f.indexGroup(groupIndexEvent));
+      forwarders.forEach(f -> f.index(groupIndexEvent));
     }
 
     @Override
@@ -246,7 +242,7 @@
 
     @Override
     public void execute() {
-      forwarders.forEach(f -> f.indexProject(projectIndexEvent));
+      forwarders.forEach(f -> f.index(projectIndexEvent));
     }
 
     @Override