Refactor: Make Hook an abstract class Reduce visibility of Hook and AsynchronousHook to package private. Make Hook an abstract class, defining abstract "execute" methods. Rename the "run" and "submit" methods in SynchronousHook and AsynchronousHook to "execute" to override that defined in Hook. Change-Id: I4f69aeb8cce336a5765d784a2a7e793743a33ad7
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/AgreementSignup.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/AgreementSignup.java index 3953bf6..0eb9b6f 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/hooks/AgreementSignup.java +++ b/src/main/java/com/googlesource/gerrit/plugins/hooks/AgreementSignup.java
@@ -21,7 +21,7 @@ @Singleton class AgreementSignup implements AgreementSignupListener { - private final AsynchronousHook hook; + private final Hook hook; private final HookFactory hookFactory; @Inject @@ -40,7 +40,7 @@ args.add("--user-id", submitter._accountId); args.add("--cla-name", event.getAgreementName()); - hook.submit(args); + hook.execute(args); } } }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/AsynchronousHook.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/AsynchronousHook.java index c581642..4e74ece 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/hooks/AsynchronousHook.java +++ b/src/main/java/com/googlesource/gerrit/plugins/hooks/AsynchronousHook.java
@@ -16,7 +16,7 @@ import java.nio.file.Path; -public class AsynchronousHook extends Hook { +class AsynchronousHook extends Hook { private final HookQueue queue; AsynchronousHook(HookQueue queue, Path path) { @@ -24,11 +24,15 @@ this.queue = queue; } - void submit(HookArgs args) { + @Override + HookResult execute(HookArgs args) { queue.submit(path, args); + return null; } - void submit(String projectName, HookArgs args) { + @Override + HookResult execute(String projectName, HookArgs args) { queue.submit(projectName, path, args); + return null; } }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/ChangeAbandoned.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/ChangeAbandoned.java index 19e6753..20ace66 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/hooks/ChangeAbandoned.java +++ b/src/main/java/com/googlesource/gerrit/plugins/hooks/ChangeAbandoned.java
@@ -21,7 +21,7 @@ @Singleton class ChangeAbandoned implements ChangeAbandonedListener { - private final AsynchronousHook hook; + private final Hook hook; private final HookFactory hookFactory; @Inject @@ -45,6 +45,6 @@ args.add("--commit", c.currentRevision); args.add("--reason", event.getReason()); - hook.submit(c.project, args); + hook.execute(c.project, args); } }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/ChangeMerged.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/ChangeMerged.java index 6e28143..6ef03e0 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/hooks/ChangeMerged.java +++ b/src/main/java/com/googlesource/gerrit/plugins/hooks/ChangeMerged.java
@@ -21,7 +21,7 @@ @Singleton class ChangeMerged implements ChangeMergedListener { - private final AsynchronousHook hook; + private final Hook hook; private final HookFactory hookFactory; @Inject @@ -45,6 +45,6 @@ args.add("--commit", c.currentRevision); args.add("--newrev", event.getNewRevisionId()); - hook.submit(c.project, args); + hook.execute(c.project, args); } }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/ChangeRestored.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/ChangeRestored.java index af0f9a8..27b1c07 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/hooks/ChangeRestored.java +++ b/src/main/java/com/googlesource/gerrit/plugins/hooks/ChangeRestored.java
@@ -21,7 +21,7 @@ @Singleton class ChangeRestored implements ChangeRestoredListener { - private final AsynchronousHook hook; + private final Hook hook; private final HookFactory hookFactory; @Inject @@ -45,6 +45,6 @@ args.add("--commit", c.currentRevision); args.add("--reason", event.getReason()); - hook.submit(c.project, args); + hook.execute(c.project, args); } }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/CommentAdded.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/CommentAdded.java index cea65d1..531f0ce 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/hooks/CommentAdded.java +++ b/src/main/java/com/googlesource/gerrit/plugins/hooks/CommentAdded.java
@@ -21,7 +21,7 @@ @Singleton class CommentAdded implements CommentAddedListener { - private final AsynchronousHook hook; + private final Hook hook; private final HookFactory hookFactory; @Inject @@ -47,6 +47,6 @@ args.add("--comment", event.getComment()); args.addApprovals(event.getApprovals(), event.getOldApprovals()); - hook.submit(c.project, args); + hook.execute(c.project, args); } }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/CommitReceived.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/CommitReceived.java index ba4cec6..73b5ff5 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/hooks/CommitReceived.java +++ b/src/main/java/com/googlesource/gerrit/plugins/hooks/CommitReceived.java
@@ -25,7 +25,7 @@ import org.eclipse.jgit.lib.ObjectId; public class CommitReceived implements CommitValidationListener { - private final SynchronousHook hook; + private final Hook hook; private final HookFactory hookFactory; @Inject @@ -54,7 +54,7 @@ args.add("--newrev", receiveEvent.commit.name()); args.add("--cmdref", commandRef); - HookResult result = hook.run(projectName, args); + HookResult result = hook.execute(projectName, args); if (result != null) { String output = result.toString(); if (result.getExitValue() != 0) {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/DraftPublished.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/DraftPublished.java index 7ae68f2..8fe8cde 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/hooks/DraftPublished.java +++ b/src/main/java/com/googlesource/gerrit/plugins/hooks/DraftPublished.java
@@ -21,7 +21,7 @@ @Singleton class DraftPublished implements DraftPublishedListener { - private final AsynchronousHook hook; + private final Hook hook; private final HookFactory hookFactory; @Inject @@ -45,6 +45,6 @@ args.add("--commit", event.getRevision().commit.commit); args.add("--patchset", event.getRevision()._number); - hook.submit(c.project, args); + hook.execute(c.project, args); } }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/GitReferenceUpdated.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/GitReferenceUpdated.java index cf1a10d..07fff1e 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/hooks/GitReferenceUpdated.java +++ b/src/main/java/com/googlesource/gerrit/plugins/hooks/GitReferenceUpdated.java
@@ -20,7 +20,7 @@ @Singleton class GitReferenceUpdated implements GitReferenceUpdatedListener { - private final AsynchronousHook hook; + private final Hook hook; private final HookFactory hookFactory; @Inject @@ -39,6 +39,6 @@ args.add("--project", event.getProjectName()); args.add("--submitter", event.getUpdater()); - hook.submit(event.getProjectName(), args); + hook.execute(event.getProjectName(), args); } }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/HashtagsEdited.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/HashtagsEdited.java index 9bb40c1..7735b38 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/hooks/HashtagsEdited.java +++ b/src/main/java/com/googlesource/gerrit/plugins/hooks/HashtagsEdited.java
@@ -22,7 +22,7 @@ @Singleton class HashtagsEdited implements HashtagsEditedListener { - private final AsynchronousHook hook; + private final Hook hook; private final HookFactory hookFactory; @Inject @@ -45,7 +45,7 @@ add(args, "--added", event.getAddedHashtags()); add(args, "--removed", event.getRemovedHashtags()); - hook.submit(c.project, args); + hook.execute(c.project, args); } private void add(HookArgs args, String name, Collection<String> hashtags) {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/Hook.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/Hook.java index 87fb4f4..fc84b9e 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/hooks/Hook.java +++ b/src/main/java/com/googlesource/gerrit/plugins/hooks/Hook.java
@@ -14,12 +14,17 @@ package com.googlesource.gerrit.plugins.hooks; +import com.google.gerrit.common.Nullable; import java.nio.file.Path; -public class Hook { +abstract class Hook { protected final Path path; Hook(Path path) { this.path = path; } + + abstract @Nullable HookResult execute(HookArgs args); + + abstract @Nullable HookResult execute(String projectName, HookArgs args); }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/HookFactory.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/HookFactory.java index ab4a615..c3ca6e1 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/hooks/HookFactory.java +++ b/src/main/java/com/googlesource/gerrit/plugins/hooks/HookFactory.java
@@ -57,11 +57,11 @@ return hooksPath.resolve(firstNonNull(v, defaultName)); } - public AsynchronousHook createAsync(String configName, String defaultName) { + public Hook createAsync(String configName, String defaultName) { return new AsynchronousHook(queue, getHookPath(configName, defaultName)); } - public SynchronousHook createSync(String configName, String defaultName) { + public Hook createSync(String configName, String defaultName) { return new SynchronousHook(syncHookExecutor, getHookPath(configName, defaultName)); }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/NewProjectCreated.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/NewProjectCreated.java index 5ff73f7..0cf0e88 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/hooks/NewProjectCreated.java +++ b/src/main/java/com/googlesource/gerrit/plugins/hooks/NewProjectCreated.java
@@ -20,7 +20,7 @@ @Singleton class NewProjectCreated implements NewProjectCreatedListener { - private final AsynchronousHook hook; + private final Hook hook; private final HookFactory hookFactory; @Inject @@ -34,6 +34,6 @@ HookArgs args = hookFactory.createArgs(); args.add("--project", event.getProjectName()); args.add("--head", event.getHeadName()); - hook.submit(event.getProjectName(), args); + hook.execute(event.getProjectName(), args); } }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/RefUpdate.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/RefUpdate.java index 7618d97..d6cba66 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/hooks/RefUpdate.java +++ b/src/main/java/com/googlesource/gerrit/plugins/hooks/RefUpdate.java
@@ -24,7 +24,7 @@ import java.util.List; public class RefUpdate implements RefOperationValidationListener { - private final SynchronousHook hook; + private final Hook hook; private final HookFactory hookFactory; @Inject @@ -46,7 +46,7 @@ args.add("--newrev", refEvent.command.getNewId().getName()); args.add("--refname", refEvent.command.getRefName()); - HookResult result = hook.run(projectName, args); + HookResult result = hook.execute(projectName, args); if (result != null) { String output = result.toString(); if (result.getExitValue() != 0) {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/ReviewerAdded.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/ReviewerAdded.java index fca527d..9929255 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/hooks/ReviewerAdded.java +++ b/src/main/java/com/googlesource/gerrit/plugins/hooks/ReviewerAdded.java
@@ -22,7 +22,7 @@ @Singleton class ReviewerAdded implements ReviewerAddedListener { - private final AsynchronousHook hook; + private final Hook hook; private final HookFactory hookFactory; @Inject @@ -44,7 +44,7 @@ args.add("--branch", c.branch); args.add("--reviewer", reviewer); - hook.submit(c.project, args); + hook.execute(c.project, args); } } }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/ReviewerDeleted.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/ReviewerDeleted.java index e23677d..0cf6ce7 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/hooks/ReviewerDeleted.java +++ b/src/main/java/com/googlesource/gerrit/plugins/hooks/ReviewerDeleted.java
@@ -21,7 +21,7 @@ @Singleton class ReviewerDeleted implements ReviewerDeletedListener { - private final AsynchronousHook hook; + private final Hook hook; private final HookFactory hookFactory; @Inject @@ -43,6 +43,6 @@ args.add("--reviewer", event.getReviewer()); args.addApprovals(event.getNewApprovals(), event.getOldApprovals()); - hook.submit(c.project, args); + hook.execute(c.project, args); } }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/RevisionCreated.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/RevisionCreated.java index cd4a9d1..ebf5a7b 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/hooks/RevisionCreated.java +++ b/src/main/java/com/googlesource/gerrit/plugins/hooks/RevisionCreated.java
@@ -21,7 +21,7 @@ @Singleton public class RevisionCreated implements RevisionCreatedListener { - private final AsynchronousHook hook; + private final Hook hook; private final HookFactory hookFactory; @Inject @@ -47,6 +47,6 @@ args.add("--commit", event.getRevision().commit.commit); args.add("--patchset", event.getRevision()._number); - hook.submit(c.project, args); + hook.execute(c.project, args); } }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/SynchronousHook.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/SynchronousHook.java index 03cbc40..d4dfaf8 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/hooks/SynchronousHook.java +++ b/src/main/java/com/googlesource/gerrit/plugins/hooks/SynchronousHook.java
@@ -24,11 +24,13 @@ this.executor = executor; } - HookResult run(HookArgs args) { + @Override + HookResult execute(HookArgs args) { return executor.submit(path, args); } - HookResult run(String projectName, HookArgs args) { + @Override + HookResult execute(String projectName, HookArgs args) { return executor.submit(projectName, path, args); } }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/TopicEdited.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/TopicEdited.java index e608694..62407dd 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/hooks/TopicEdited.java +++ b/src/main/java/com/googlesource/gerrit/plugins/hooks/TopicEdited.java
@@ -21,7 +21,7 @@ @Singleton class TopicEdited implements TopicEditedListener { - private final AsynchronousHook hook; + private final Hook hook; private final HookFactory hookFactory; @Inject @@ -43,6 +43,6 @@ args.add("--old-topic", event.getOldTopic()); args.add("--new-topic", event.getChange().topic); - hook.submit(c.project, args); + hook.execute(c.project, args); } }