Simplify the GitReferenceUpdatedListener.Event API

So far the Event exposed the getUpdates method which implied that one
Event could contain updates of more than one reference. However, we
never made use of that feature. The only implementation of the Event
always returns only one Update.

The assumption that one Event could contain more than one reference
Update also made coding in [1] more complex than necessary.

This change simplifies that API in the sense that one Event corresponds
to one ref update only.

[1] https://gerrit-review.googlesource.com/#/c/50351/2/src/main/java/com/googlesource/gerrit/plugins/replication/PushResultProcessing.java

Change-Id: Ifdb27e22ae83f30a6af7f0b4e6bf6acbd85fe6e4
diff --git a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/events/GitReferenceUpdatedListener.java b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/events/GitReferenceUpdatedListener.java
index 2911ded..49a697e 100644
--- a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/events/GitReferenceUpdatedListener.java
+++ b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/events/GitReferenceUpdatedListener.java
@@ -16,20 +16,15 @@
 
 import com.google.gerrit.extensions.annotations.ExtensionPoint;
 
-import java.util.List;
-
 /** Notified when one or more references are modified. */
 @ExtensionPoint
 public interface GitReferenceUpdatedListener {
-  public interface Update {
-    String getRefName();
-    String getOldObjectId();
-    String getNewObjectId();
-  }
 
   public interface Event {
     String getProjectName();
-    List<Update> getUpdates();
+    String getRefName();
+    String getOldObjectId();
+    String getNewObjectId();
   }
 
   void onGitReferenceUpdated(Event event);
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/extensions/events/GitReferenceUpdated.java b/gerrit-server/src/main/java/com/google/gerrit/server/extensions/events/GitReferenceUpdated.java
index 04fccc2..9e48e81 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/extensions/events/GitReferenceUpdated.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/extensions/events/GitReferenceUpdated.java
@@ -14,7 +14,6 @@
 
 package com.google.gerrit.server.extensions.events;
 
-import com.google.common.collect.ImmutableList;
 import com.google.gerrit.extensions.events.GitReferenceUpdatedListener;
 import com.google.gerrit.extensions.registration.DynamicSet;
 import com.google.gerrit.reviewdb.client.Project;
@@ -26,7 +25,6 @@
 import org.slf4j.LoggerFactory;
 
 import java.util.Collections;
-import java.util.List;
 
 public class GitReferenceUpdated {
   private static final Logger log = LoggerFactory
@@ -85,25 +83,18 @@
     }
 
     @Override
-    public List<GitReferenceUpdatedListener.Update> getUpdates() {
-      GitReferenceUpdatedListener.Update update =
-          new GitReferenceUpdatedListener.Update() {
-            @Override
-            public String getRefName() {
-              return ref;
-            }
+    public String getRefName() {
+      return ref;
+    }
 
-            @Override
-            public String getOldObjectId() {
-              return oldObjectId;
-            }
+    @Override
+    public String getOldObjectId() {
+      return oldObjectId;
+    }
 
-            @Override
-            public String getNewObjectId() {
-              return newObjectId;
-            }
-          };
-      return ImmutableList.of(update);
+    @Override
+    public String getNewObjectId() {
+      return newObjectId;
     }
   }
 }
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/ChangeCache.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/ChangeCache.java
index 3262b23..32dc303 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/git/ChangeCache.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/ChangeCache.java
@@ -72,11 +72,8 @@
 
   @Override
   public void onGitReferenceUpdated(GitReferenceUpdatedListener.Event event) {
-    for (GitReferenceUpdatedListener.Update u : event.getUpdates()) {
-      if (u.getRefName().startsWith("refs/changes/")) {
-        cache.invalidate(new Project.NameKey(event.getProjectName()));
-        break;
-      }
+    if (event.getRefName().startsWith("refs/changes/")) {
+      cache.invalidate(new Project.NameKey(event.getProjectName()));
     }
   }