Harmonize getting the pattern by which issue ids get matched
Change-Id: I3b8d54e3e93b27789d23afbe99c50fa043380dd4
diff --git a/hooks-its/src/main/java/com/googlesource/gerrit/plugins/hooks/util/IssueExtractor.java b/hooks-its/src/main/java/com/googlesource/gerrit/plugins/hooks/util/IssueExtractor.java
index e3b3f08..480a70a 100644
--- a/hooks-its/src/main/java/com/googlesource/gerrit/plugins/hooks/util/IssueExtractor.java
+++ b/hooks-its/src/main/java/com/googlesource/gerrit/plugins/hooks/util/IssueExtractor.java
@@ -53,12 +53,26 @@
return issues.toArray(new String[issues.size()]);
}
+ /**
+ * Gets the regular expression used to identify issue ids.
+ * @return the regular expression, or {@code null}, if there is no pattern
+ * to match issue ids.
+ */
+ public Pattern getPattern() {
+ Pattern ret = null;
+ String match = gerritConfig.getString("commentLink", itsName, "match");
+ if (match != null) {
+ ret = Pattern.compile(match);
+ }
+ return ret;
+ }
+
private List<Pattern> getCommentRegexList() {
ArrayList<Pattern> regexList = new ArrayList<Pattern>();
- String match = gerritConfig.getString("commentLink", itsName, "match");
- if (match != null) {
- regexList.add(Pattern.compile(match));
+ Pattern pattern = getPattern();
+ if (pattern != null) {
+ regexList.add(pattern);
}
return regexList;
diff --git a/hooks-its/src/main/java/com/googlesource/gerrit/plugins/hooks/validation/ItsValidateComment.java b/hooks-its/src/main/java/com/googlesource/gerrit/plugins/hooks/validation/ItsValidateComment.java
index 61dcc4d..57a9ce5 100644
--- a/hooks-its/src/main/java/com/googlesource/gerrit/plugins/hooks/validation/ItsValidateComment.java
+++ b/hooks-its/src/main/java/com/googlesource/gerrit/plugins/hooks/validation/ItsValidateComment.java
@@ -36,6 +36,7 @@
import com.google.inject.Inject;
import com.googlesource.gerrit.plugins.hooks.its.ItsFacade;
import com.googlesource.gerrit.plugins.hooks.its.ItsName;
+import com.googlesource.gerrit.plugins.hooks.util.IssueExtractor;
public class ItsValidateComment implements CommitValidationListener {
@@ -52,6 +53,9 @@
@Inject @ItsName
private String itsName;
+ @Inject
+ private IssueExtractor issueExtractor;
+
public List<CommitValidationMessage> validCommit(ReceiveCommand cmd, RevCommit commit) throws CommitValidationException {
HashMap<Pattern, ItsAssociationPolicy> regexes = getCommentRegexMap();
@@ -136,10 +140,10 @@
private HashMap<Pattern, ItsAssociationPolicy> getCommentRegexMap() {
HashMap<Pattern, ItsAssociationPolicy> regexMap = new HashMap<Pattern, ItsAssociationPolicy>();
- String match = gerritConfig.getString("commentLink", itsName, "match");
- if (match != null) {
+ Pattern pattern = issueExtractor.getPattern();
+ if (pattern != null) {
regexMap
- .put(Pattern.compile(match), gerritConfig.getEnum("commentLink",
+ .put(pattern, gerritConfig.getEnum("commentLink",
itsName, "association", ItsAssociationPolicy.OPTIONAL));
}