Reindex the change after forcing patchset as draft

Changing the status of a patchset or a change requires the change to be
reindexed.

Change-Id: Ibf8e0b67f693fb996b0a628919b531a4828dd071
diff --git a/src/main/java/com/googlesource/gerrit/plugins/forcedraft/ForceDraft.java b/src/main/java/com/googlesource/gerrit/plugins/forcedraft/ForceDraft.java
index 88ac0d4..f0407db 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/forcedraft/ForceDraft.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/forcedraft/ForceDraft.java
@@ -22,6 +22,7 @@
 import com.google.gerrit.reviewdb.client.PatchSet;
 import com.google.gerrit.reviewdb.server.ReviewDb;
 import com.google.gerrit.server.config.GerritServerConfig;
+import com.google.gerrit.server.index.ChangeIndexer;
 import com.google.gerrit.sshd.CommandMetaData;
 import com.google.gerrit.sshd.SshCommand;
 import com.google.gerrit.common.data.GlobalCapability;
@@ -30,6 +31,8 @@
 import com.google.inject.Inject;
 import com.google.inject.Provider;
 
+import java.io.IOException;
+
 @RequiresCapability(value = GlobalCapability.ADMINISTRATE_SERVER, scope = CapabilityScope.CORE)
 @CommandMetaData(name = "force-draft", description = "changes patch set to draft")
 public class ForceDraft extends SshCommand {
@@ -54,6 +57,9 @@
   @Inject
   private @GerritServerConfig Config config;
 
+  @Inject
+  private ChangeIndexer changeIndexer;
+
   @Argument(index = 0, required = true, metaVar = "{CHANGE,PATCHSET}",
       usage = "<change, patch set> to be changed to draft")
   private void addPatchSetId(final String token) {
@@ -213,14 +219,15 @@
   /**
    * Updates PatchSet and, if applicable, parent Change.
    *
-   * @throws OrmException
+   * @throws OrmException if an error occur while updating the change in the DB.
+   * @throws IOException if an error occur while indexing the change.
    */
-  private void updatePatchSet() throws OrmException {
+  private void updatePatchSet() throws OrmException, IOException {
     Change.Status changeStatus = parentChange.getStatus();
     switch (changeStatus) {
       case NEW:
         setPatchSetAsDraft();
-        updateChange();
+        changeIndexer.index(dbProvider.get(), updateChange());
         break;
       default:
         sendUserInfo("Unable to set patch set as draft, change is "