ForwardedIndexingHandler: Make doDelete abstract

doDelete has a default implementation that throws a "cannot delete"
exception, and it is only overridden in the ForwardedIndexChangeHandler
which actually supports deletion from the index.

However, this default implementation results in two warnings from
Eclipse:

- The id parameter is not used
- The declared IOException is not thrown

Make the doDelete method abstract, and move the exception throwing in
to concrete methods in the derived classes, throwing exceptions with
more specific messages.

Change-Id: Idefa433446f1956ae2e0e275d0996f02c29134df
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexAccountHandler.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexAccountHandler.java
index f296e58..42d2123 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexAccountHandler.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexAccountHandler.java
@@ -41,4 +41,9 @@
     indexer.index(id);
     log.debug("Account {} successfully indexed", id);
   }
+
+  @Override
+  protected void doDelete(Account.Id id) {
+    throw new UnsupportedOperationException("Delete from account index not supported");
+  }
 }
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexGroupHandler.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexGroupHandler.java
index 52485b2..c518484 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexGroupHandler.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexGroupHandler.java
@@ -41,4 +41,9 @@
     indexer.index(uuid);
     log.debug("Group {} successfully indexed", uuid);
   }
+
+  @Override
+  protected void doDelete(AccountGroup.UUID uuid) {
+    throw new UnsupportedOperationException("Delete from group index not supported");
+  }
 }
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexingHandler.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexingHandler.java
index f24c38f..e64d97b 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexingHandler.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexingHandler.java
@@ -44,9 +44,7 @@
 
   protected abstract void doIndex(T id) throws IOException, OrmException;
 
-  protected void doDelete(T id) throws IOException {
-    throw new UnsupportedOperationException("Delete from index not supported");
-  }
+  protected abstract void doDelete(T id) throws IOException;
 
   /**
    * Index an item in the local node, indexing will not be forwarded to the other node.