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) {