ReviewerAddedEvent: extend event with 'adder'

Several other events (ReviewerDeletedEvent, CommentAddedEvent, etc.) contain
the event originator but this information is missing for ReviewerAddedEvent.

Change-Id: I6112b898eb7d5a1d06bee5d21eaa1d66d5ff9cc9
Signed-off-by: Jacek Centkowski <jcentkowski@collab.net>
diff --git a/Documentation/cmd-stream-events.txt b/Documentation/cmd-stream-events.txt
index e8c5213..f0ad460 100644
--- a/Documentation/cmd-stream-events.txt
+++ b/Documentation/cmd-stream-events.txt
@@ -234,6 +234,8 @@
 
 reviewer:: link:json.html#account[account attribute]
 
+adder:: user that added the reviewer as link:json.html#account[account attribute]
+
 eventCreatedOn:: Time in seconds since the UNIX epoch when this event was
 created.
 
diff --git a/java/com/google/gerrit/server/events/ReviewerAddedEvent.java b/java/com/google/gerrit/server/events/ReviewerAddedEvent.java
index 9644456..ea6bda3 100644
--- a/java/com/google/gerrit/server/events/ReviewerAddedEvent.java
+++ b/java/com/google/gerrit/server/events/ReviewerAddedEvent.java
@@ -21,6 +21,7 @@
 public class ReviewerAddedEvent extends PatchSetEvent {
   static final String TYPE = "reviewer-added";
   public Supplier<AccountAttribute> reviewer;
+  public Supplier<AccountAttribute> adder;
 
   public ReviewerAddedEvent(Change change) {
     super(TYPE, change);
diff --git a/java/com/google/gerrit/server/events/StreamEventsApiListener.java b/java/com/google/gerrit/server/events/StreamEventsApiListener.java
index 3add4ca..5b2c368 100644
--- a/java/com/google/gerrit/server/events/StreamEventsApiListener.java
+++ b/java/com/google/gerrit/server/events/StreamEventsApiListener.java
@@ -317,6 +317,7 @@
 
       event.change = changeAttributeSupplier(change, notes);
       event.patchSet = patchSetAttributeSupplier(change, psUtil.current(notes));
+      event.adder = accountAttributeSupplier(ev.getWho());
       for (AccountInfo reviewer : ev.getReviewers()) {
         event.reviewer = accountAttributeSupplier(reviewer);
         dispatcher.run(d -> d.postEvent(event));