Make config enablement check accept Project.NameKey

A Project.NameKey is expected in the end anyways, and using a
Project.NameKey right from the start spares us from unnecessary
(un-)boxing of values.

Change-Id: I0459eba9b1474f00b8a91b3b18fdd17c73852467
diff --git a/src/main/java/com/googlesource/gerrit/plugins/its/base/its/ItsConfig.java b/src/main/java/com/googlesource/gerrit/plugins/its/base/its/ItsConfig.java
index 1a803e9..46fc817 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/its/base/its/ItsConfig.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/its/base/its/ItsConfig.java
@@ -64,36 +64,36 @@
   public boolean isEnabled(Event event) {
     if (event instanceof PatchSetCreatedEvent) {
       PatchSetCreatedEvent e = (PatchSetCreatedEvent) event;
-      return isEnabled(e.getProjectNameKey().get(), e.getRefName());
+      return isEnabled(e.getProjectNameKey(), e.getRefName());
     } else if (event instanceof CommentAddedEvent) {
       CommentAddedEvent e = (CommentAddedEvent) event;
-      return isEnabled(e.getProjectNameKey().get(), e.getRefName());
+      return isEnabled(e.getProjectNameKey(), e.getRefName());
     } else if (event instanceof ChangeMergedEvent) {
       ChangeMergedEvent e = (ChangeMergedEvent) event;
-      return isEnabled(e.getProjectNameKey().get(), e.getRefName());
+      return isEnabled(e.getProjectNameKey(), e.getRefName());
     } else if (event instanceof ChangeAbandonedEvent) {
       ChangeAbandonedEvent e = (ChangeAbandonedEvent) event;
-      return isEnabled(e.getProjectNameKey().get(), e.getRefName());
+      return isEnabled(e.getProjectNameKey(), e.getRefName());
     } else if (event instanceof ChangeRestoredEvent) {
       ChangeRestoredEvent e = (ChangeRestoredEvent) event;
-      return isEnabled(e.getProjectNameKey().get(), e.getRefName());
+      return isEnabled(e.getProjectNameKey(), e.getRefName());
     } else if (event instanceof DraftPublishedEvent) {
       DraftPublishedEvent e = (DraftPublishedEvent) event;
-      return isEnabled(e.getProjectNameKey().get(), e.getRefName());
+      return isEnabled(e.getProjectNameKey(), e.getRefName());
     } else if (event instanceof RefUpdatedEvent) {
       RefUpdatedEvent e = (RefUpdatedEvent) event;
-      return isEnabled(e.getProjectNameKey().get(), e.refUpdate.get().refName);
+      return isEnabled(e.getProjectNameKey(), e.getRefName());
     } else {
       log.debug("Event " + event + " not recognised and ignored");
       return false;
     }
   }
 
-  public boolean isEnabled(String project, String refName) {
-    ProjectState projectState = projectCache.get(new Project.NameKey(project));
+  public boolean isEnabled(Project.NameKey projectNK, String refName) {
+    ProjectState projectState = projectCache.get(projectNK);
     if (projectState == null) {
       log.error("Failed to check if " + pluginName + " is enabled for project "
-          + project + ": Project " + project + " not found");
+          + projectNK.get() + ": Project " + projectNK.get() + " not found");
       return false;
     }
 
diff --git a/src/main/java/com/googlesource/gerrit/plugins/its/base/validation/ItsValidateComment.java b/src/main/java/com/googlesource/gerrit/plugins/its/base/validation/ItsValidateComment.java
index c05118a..4ce687d 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/its/base/validation/ItsValidateComment.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/its/base/validation/ItsValidateComment.java
@@ -143,7 +143,7 @@
   @Override
   public List<CommitValidationMessage> onCommitReceived(
       CommitReceivedEvent receiveEvent) throws CommitValidationException {
-    if (itsConfig.isEnabled(receiveEvent.project.getName(), receiveEvent.refName)) {
+    if (itsConfig.isEnabled(receiveEvent.getProjectNameKey(), receiveEvent.getRefName())) {
       return validCommit(receiveEvent.commit);
     } else {
       return Collections.emptyList();
diff --git a/src/test/java/com/googlesource/gerrit/plugins/its/base/its/ItsConfigTest.java b/src/test/java/com/googlesource/gerrit/plugins/its/base/its/ItsConfigTest.java
index 678bc76..c0ff02b 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/its/base/its/ItsConfigTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/its/base/its/ItsConfigTest.java
@@ -116,7 +116,8 @@
 
     replayMocks();
 
-    assertTrue(itsConfig.isEnabled("testProject", "refs/heads/testBranch"));
+    Project.NameKey projectNK = new Project.NameKey("testProject");
+    assertTrue(itsConfig.isEnabled(projectNK, "refs/heads/testBranch"));
   }
 
   public void testIsEnabledRefNoParentNoBranchDisabled() {
@@ -127,7 +128,8 @@
 
     replayMocks();
 
-    assertFalse(itsConfig.isEnabled("testProject", "refs/heads/testBranch"));
+    Project.NameKey projectNK = new Project.NameKey("testProject");
+    assertFalse(itsConfig.isEnabled(projectNK, "refs/heads/testBranch"));
   }
 
   public void testIsEnabledRefNoParentNoBranchEnforced() {
@@ -138,7 +140,8 @@
 
     replayMocks();
 
-    assertTrue(itsConfig.isEnabled("testProject", "refs/heads/testBranch"));
+    Project.NameKey projectNK = new Project.NameKey("testProject");
+    assertTrue(itsConfig.isEnabled(projectNK, "refs/heads/testBranch"));
   }
 
   public void testIsEnabledRefNoParentMatchingBranchEnabled() {
@@ -149,7 +152,8 @@
 
     replayMocks();
 
-    assertTrue(itsConfig.isEnabled("testProject", "refs/heads/testBranch"));
+    Project.NameKey projectNK = new Project.NameKey("testProject");
+    assertTrue(itsConfig.isEnabled(projectNK, "refs/heads/testBranch"));
   }
 
   public void testIsEnabledRefNoParentMatchingBranchDisabled() {
@@ -160,7 +164,8 @@
 
     replayMocks();
 
-    assertFalse(itsConfig.isEnabled("testProject", "refs/heads/testBranch"));
+    Project.NameKey projectNK = new Project.NameKey("testProject");
+    assertFalse(itsConfig.isEnabled(projectNK, "refs/heads/testBranch"));
   }
 
   public void testIsEnabledRefNoParentMatchingBranchEnforced() {
@@ -171,7 +176,8 @@
 
     replayMocks();
 
-    assertTrue(itsConfig.isEnabled("testProject", "refs/heads/testBranch"));
+    Project.NameKey projectNK = new Project.NameKey("testProject");
+    assertTrue(itsConfig.isEnabled(projectNK, "refs/heads/testBranch"));
   }
 
   public void testIsEnabledRefNoParentNonMatchingBranchEnabled() {
@@ -182,7 +188,8 @@
 
     replayMocks();
 
-    assertFalse(itsConfig.isEnabled("testProject", "refs/heads/testBranch"));
+    Project.NameKey projectNK = new Project.NameKey("testProject");
+    assertFalse(itsConfig.isEnabled(projectNK, "refs/heads/testBranch"));
   }
 
   public void testIsEnabledRefNoParentNonMatchingBranchDisabled() {
@@ -193,7 +200,8 @@
 
     replayMocks();
 
-    assertFalse(itsConfig.isEnabled("testProject", "refs/heads/testBranch"));
+    Project.NameKey projectNK = new Project.NameKey("testProject");
+    assertFalse(itsConfig.isEnabled(projectNK, "refs/heads/testBranch"));
   }
 
   public void testIsEnabledRefNoParentNonMatchingBranchEnforced() {
@@ -204,7 +212,8 @@
 
     replayMocks();
 
-    assertFalse(itsConfig.isEnabled("testProject", "refs/heads/testBranch"));
+    Project.NameKey projectNK = new Project.NameKey("testProject");
+    assertFalse(itsConfig.isEnabled(projectNK, "refs/heads/testBranch"));
   }
 
   public void testIsEnabledRefNoParentMatchingBranchMiddleEnabled() {
@@ -215,7 +224,8 @@
 
     replayMocks();
 
-    assertTrue(itsConfig.isEnabled("testProject", "refs/heads/testBranch"));
+    Project.NameKey projectNK = new Project.NameKey("testProject");
+    assertTrue(itsConfig.isEnabled(projectNK, "refs/heads/testBranch"));
   }
 
   public void testIsEnabledRefNoParentMatchingBranchMiddleDisabled() {
@@ -226,7 +236,8 @@
 
     replayMocks();
 
-    assertFalse(itsConfig.isEnabled("testProject", "refs/heads/testBranch"));
+    Project.NameKey projectNK = new Project.NameKey("testProject");
+    assertFalse(itsConfig.isEnabled(projectNK, "refs/heads/testBranch"));
   }
 
   public void testIsEnabledRefNoParentMatchingBranchMiddleEnforced() {
@@ -237,7 +248,8 @@
 
     replayMocks();
 
-    assertTrue(itsConfig.isEnabled("testProject", "refs/heads/testBranch"));
+    Project.NameKey projectNK = new Project.NameKey("testProject");
+    assertTrue(itsConfig.isEnabled(projectNK, "refs/heads/testBranch"));
   }
 
   public void testIsEnabledRefParentNoBranchEnabled() {
@@ -248,7 +260,8 @@
 
     replayMocks();
 
-    assertFalse(itsConfig.isEnabled("testProject", "refs/heads/testBranch"));
+    Project.NameKey projectNK = new Project.NameKey("testProject");
+    assertFalse(itsConfig.isEnabled(projectNK, "refs/heads/testBranch"));
   }
 
   public void testIsEnabledRefParentNoBranchDisabled() {
@@ -259,7 +272,8 @@
 
     replayMocks();
 
-    assertFalse(itsConfig.isEnabled("testProject", "refs/heads/testBranch"));
+    Project.NameKey projectNK = new Project.NameKey("testProject");
+    assertFalse(itsConfig.isEnabled(projectNK, "refs/heads/testBranch"));
   }
 
   public void testIsEnabledRefParentNoBranchEnforced() {
@@ -270,7 +284,8 @@
 
     replayMocks();
 
-    assertTrue(itsConfig.isEnabled("testProject", "refs/heads/testBranch"));
+    Project.NameKey projectNK = new Project.NameKey("testProject");
+    assertTrue(itsConfig.isEnabled(projectNK, "refs/heads/testBranch"));
   }
 
   public void testIsEnabledEventNoBranches() {
@@ -516,11 +531,10 @@
     setupIsEnabled("true", null, branches);
 
     RefUpdatedEvent event = new RefUpdatedEvent();
-
-    RefUpdateAttribute refUpdate = new RefUpdateAttribute();
-    refUpdate.project = "testProject";
-    refUpdate.refName = "refs/heads/testBranch";
-    event.refUpdate = Suppliers.ofInstance(refUpdate);
+    RefUpdateAttribute refUpdateAttribute = new RefUpdateAttribute();
+    refUpdateAttribute.project = "testProject";
+    refUpdateAttribute.refName = "refs/heads/testBranch";
+    event.refUpdate = Suppliers.ofInstance(refUpdateAttribute);
 
     ItsConfig itsConfig = createItsConfig();
 
diff --git a/src/test/java/com/googlesource/gerrit/plugins/its/base/validation/ItsValidateCommentTest.java b/src/test/java/com/googlesource/gerrit/plugins/its/base/validation/ItsValidateCommentTest.java
index 5ddc514..5a45dd4 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/its/base/validation/ItsValidateCommentTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/its/base/validation/ItsValidateCommentTest.java
@@ -467,7 +467,8 @@
   private void setupCommonMocks() {
     expect(itsConfig.getIssuePattern())
         .andReturn(Pattern.compile("bug#(\\d+)")).anyTimes();
-    expect(itsConfig.isEnabled("myProject", null)).andReturn(true)
+    Project.NameKey projectNK = new Project.NameKey("myProject");
+    expect(itsConfig.isEnabled(projectNK, null)).andReturn(true)
         .anyTimes();
   }