Extract private method to schedule SCS from submit-event

Makes it easier to reuse the private method when rescheduling.

Solves: Jira GER-1715
Change-Id: I1e01a3db481dec258a9d3426f69b4bc69b6f637c
diff --git a/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/parsing/EiffelEventParsingQueue.java b/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/parsing/EiffelEventParsingQueue.java
index c5d10b8..8f1f424 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/parsing/EiffelEventParsingQueue.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/parsing/EiffelEventParsingQueue.java
@@ -22,6 +22,7 @@
 import com.google.gerrit.entities.Project;
 import com.google.gerrit.entities.Project.NameKey;
 import com.google.gerrit.entities.RefNames;
+import com.google.gerrit.extensions.common.AccountInfo;
 import com.google.gerrit.extensions.events.GitReferenceUpdatedListener;
 import com.google.gerrit.extensions.events.RevisionCreatedListener;
 import com.google.gerrit.server.git.ProjectRunnable;
@@ -111,30 +112,14 @@
   }
 
   public void scheduleScsCreation(GitReferenceUpdatedListener.Event event) {
-    schedule(
-        new EventParsingWorker(
-            ParsingQueueTask.builder(SCS, event.getProjectName(), event.getRefName())
-                .commit(event.getNewObjectId())
-                .updater(event.getUpdater())
-                .updateTime(TimeUtil.nowMs())
-                .previousTip(event.getOldObjectId())) {
 
-          @Override
-          public void doRun() {
-            try {
-              eventParser.createAndScheduleMissingScss(
-                  SourceChangeEventKey.scsKey(
-                      event.getProjectName(), event.getRefName(), event.getNewObjectId()),
-                  event.getOldObjectId(),
-                  event.getUpdater(),
-                  TimeUtil.nowMs());
-            } catch (Exception e) {
-              logger.atSevere().withCause(e).log(
-                  "Failed to create SCS from event for %s:%s:%s.",
-                  event.getProjectName(), event.getRefName(), event.getNewObjectId());
-            }
-          }
-        });
+    scheduleScsCreation(
+        event.getProjectName(),
+        event.getRefName(),
+        event.getNewObjectId(),
+        event.getUpdater(),
+        TimeUtil.nowMs(),
+        event.getOldObjectId());
   }
 
   public void scheduleScsCreation(String repoName, String branchRef) {
@@ -198,6 +183,37 @@
     pending.remove(worker);
   }
 
+  private void scheduleScsCreation(
+      String repoName,
+      String branchRef,
+      String commit,
+      AccountInfo updater,
+      Long submitTime,
+      String previousTip) {
+    schedule(
+        new EventParsingWorker(
+            ParsingQueueTask.builder(SCS, repoName, branchRef)
+                .commit(commit)
+                .updater(updater)
+                .updateTime(submitTime)
+                .previousTip(previousTip)) {
+
+          @Override
+          public void doRun() {
+            try {
+              eventParser.createAndScheduleMissingScss(
+                  SourceChangeEventKey.scsKey(repoName, branchRef, commit),
+                  previousTip,
+                  updater,
+                  submitTime);
+            } catch (Exception e) {
+              logger.atSevere().withCause(e).log(
+                  "Failed to create SCS from event for %s:%s:%s.", repoName, branchRef, commit);
+            }
+          }
+        });
+  }
+
   private void schedule(EventParsingWorker worker) {
     ScheduledFuture<?> future = pool.schedule(worker);
     if (future != null) {