Merge branch 'stable-2.16' into stable-3.0

* stable-2.16:
  Set current project name for EventListener events.

Change-Id: I2dedf48a7200a6179c7157b505bc845ebbe3b921
diff --git a/src/main/java/com/googlesource/gerrit/plugins/its/base/workflow/ActionController.java b/src/main/java/com/googlesource/gerrit/plugins/its/base/workflow/ActionController.java
index 4af8f1b..879cae8 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/its/base/workflow/ActionController.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/its/base/workflow/ActionController.java
@@ -57,6 +57,7 @@
   public void onEvent(Event event) {
     if (event instanceof RefEvent) {
       RefEvent refEvent = (RefEvent) event;
+      ItsConfig.setCurrentProjectName(refEvent.getProjectNameKey());
       if (itsConfig.isEnabled(refEvent)) {
         handleEvent(refEvent);
       }
diff --git a/src/test/java/com/googlesource/gerrit/plugins/its/base/workflow/ActionControllerTest.java b/src/test/java/com/googlesource/gerrit/plugins/its/base/workflow/ActionControllerTest.java
index bd32089..b7a0aad 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/its/base/workflow/ActionControllerTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/its/base/workflow/ActionControllerTest.java
@@ -20,6 +20,7 @@
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSet;
 import com.google.gerrit.extensions.config.FactoryModule;
+import com.google.gerrit.reviewdb.client.Project;
 import com.google.gerrit.server.events.ChangeEvent;
 import com.google.gerrit.server.events.RefEvent;
 import com.google.inject.Guice;
@@ -34,6 +35,7 @@
 import java.util.Set;
 
 public class ActionControllerTest extends LoggingMockingTestCase {
+  private static Project.NameKey testProjectName = new Project.NameKey("test-project");
   private Injector injector;
 
   private PropertyExtractor propertyExtractor;
@@ -50,6 +52,7 @@
     expect(propertyExtractor.extractFrom(event))
         .andReturn(new RefEventProperties(Collections.emptyMap(), propertySets))
         .anyTimes();
+    expect(event.getProjectNameKey()).andReturn(testProjectName).once();
 
     replayMocks();
 
@@ -68,6 +71,7 @@
     expect(propertyExtractor.extractFrom(event))
         .andReturn(new RefEventProperties(properties, propertySets))
         .anyTimes();
+    expect(event.getProjectNameKey()).andReturn(testProjectName).once();
 
     // When no issues are found in the commit message, the list of actions is empty
     // as there are no matchs with an empty map of properties.
@@ -97,6 +101,7 @@
     expect(propertyExtractor.extractFrom(event))
         .andReturn(new RefEventProperties(projectProperties, propertySets))
         .anyTimes();
+    expect(event.getProjectNameKey()).andReturn(testProjectName).once();
 
     ActionRequest issueActionRequest1 = createMock(ActionRequest.class);
     Collection<ActionRequest> issueActionRequests = ImmutableList.of(issueActionRequest1);
@@ -127,6 +132,7 @@
     expect(propertyExtractor.extractFrom(event))
         .andReturn(new RefEventProperties(Collections.emptyMap(), propertySets))
         .anyTimes();
+    expect(event.getProjectNameKey()).andReturn(testProjectName).once();
 
     ActionRequest actionRequest1 = createMock(ActionRequest.class);
     Collection<ActionRequest> actionRequests1 = ImmutableList.of(actionRequest1);