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)); }