AtomicityHelper: Use factory to instantiate SubmitRuleEvaluator

In change I429e7a67e the constructor of SubmitRuleEvaluator was
made private and a factory was introduced.

Rework the instantiation of SubmitRuleEvaluator to use the factory.

As a result, it is no longer necessary to inject AccountCache and
Accounts instances.

Change-Id: I97cb244f10b1c20d5010800d58b62cdd87b54bd6
diff --git a/src/main/java/com/criteo/gerrit/plugins/automerge/AtomicityHelper.java b/src/main/java/com/criteo/gerrit/plugins/automerge/AtomicityHelper.java
index befccda..71feb75 100644
--- a/src/main/java/com/criteo/gerrit/plugins/automerge/AtomicityHelper.java
+++ b/src/main/java/com/criteo/gerrit/plugins/automerge/AtomicityHelper.java
@@ -12,8 +12,6 @@
 import com.google.gerrit.reviewdb.client.Project;
 import com.google.gerrit.reviewdb.server.ReviewDb;
 import com.google.gerrit.server.IdentifiedUser;
-import com.google.gerrit.server.account.AccountCache;
-import com.google.gerrit.server.account.Accounts;
 import com.google.gerrit.server.account.Emails;
 import com.google.gerrit.server.change.ChangesCollection;
 import com.google.gerrit.server.change.GetRelated;
@@ -58,10 +56,6 @@
 
   @Inject Provider<PostReview> reviewer;
 
-  @Inject AccountCache accountCache;
-
-  @Inject Accounts accounts;
-
   @Inject Submit submitter;
 
   @Inject Emails emails;
@@ -70,6 +64,8 @@
 
   @Inject PermissionBackend permissionBackend;
 
+  @Inject SubmitRuleEvaluator.Factory submitRuleEvaluatorFactory;
+
   /**
    * Check if the current patchset of the specified change has dependent unmerged changes.
    *
@@ -115,7 +111,8 @@
         changeDataFactory.create(db.get(), new Project.NameKey(project), new Change.Id(change));
     // For draft reviews, the patchSet must be set to avoid an NPE.
     final List<SubmitRecord> cansubmit =
-        new SubmitRuleEvaluator(accountCache, accounts, emails, changeData)
+        submitRuleEvaluatorFactory
+            .create(changeData)
             .setPatchSet(changeData.currentPatchSet())
             .evaluate();
     log.debug(String.format("Checking if change %d is submitable.", change));