private void sinkIssueLink()

in src/main/java/org/apache/maven/plugins/changelog/ChangeLogReport.java [1266:1304]


    private void sinkIssueLink(Sink sink, String line, Pattern pattern) {
        // replace any ticket patterns found.

        Matcher matcher = pattern.matcher(line);

        int currLoc = 0;

        while (matcher.find()) {
            String match = matcher.group();

            String link;

            if (issueLinkUrl.indexOf(ISSUE_TOKEN) > 0) {
                link = issueLinkUrl.replaceAll(ISSUE_TOKEN, match);
            } else {
                if (issueLinkUrl.endsWith("/")) {
                    link = issueLinkUrl;
                } else {
                    link = issueLinkUrl + '/';
                }

                link += match;
            }

            int startOfMatch = matcher.start();

            String unmatchedText = line.substring(currLoc, startOfMatch);

            currLoc = matcher.end();

            sink.text(unmatchedText);

            sink.link(link);
            sink.text(match);
            sink.link_();
        }

        sink.text(line.substring(currLoc));
    }