Search in sources :

Example 1 with ISSUES

use of org.sonar.server.issue.notification.RuleGroup.ISSUES in project sonarqube by SonarSource.

the class IssueChangesEmailTemplate method addIssuesByRule.

void addIssuesByRule(StringBuilder sb, Collection<ChangedIssue> changedIssues, BiConsumer<StringBuilder, Collection<ChangedIssue>> issuePageHref) {
    ListMultimap<Rule, ChangedIssue> issuesByRule = changedIssues.stream().collect(index(ChangedIssue::getRule, t -> t));
    Iterator<Rule> rules = issuesByRule.keySet().stream().sorted(RULE_COMPARATOR).iterator();
    if (!rules.hasNext()) {
        return;
    }
    sb.append("<ul>");
    while (rules.hasNext()) {
        Rule rule = rules.next();
        Collection<ChangedIssue> issues = issuesByRule.get(rule);
        sb.append("<li>").append("Rule ").append(" <em>").append(rule.getName()).append("</em> - ");
        appendIssueLinks(sb, issuePageHref, issues, rule.getRuleType());
        sb.append("</li>");
    }
    sb.append("</ul>");
}
Also used : SortedSet(java.util.SortedSet) ListMultimap(com.google.common.collect.ListMultimap) RuleGroup.formatIssuesOrHotspots(org.sonar.server.issue.notification.RuleGroup.formatIssuesOrHotspots) I18n(org.sonar.core.i18n.I18n) RuleGroup.resolveGroup(org.sonar.server.issue.notification.RuleGroup.resolveGroup) URLEncoder.encode(java.net.URLEncoder.encode) RuleType(org.sonar.api.rules.RuleType) Lists(com.google.common.collect.Lists) MoreCollectors.index(org.sonar.core.util.stream.MoreCollectors.index) ImmutableList(com.google.common.collect.ImmutableList) EmailSettings(org.sonar.api.config.EmailSettings) Locale(java.util.Locale) SECURITY_HOTSPOTS(org.sonar.server.issue.notification.RuleGroup.SECURITY_HOTSPOTS) BiConsumer(java.util.function.BiConsumer) ChangedIssue(org.sonar.server.issue.notification.IssuesChangesNotificationBuilder.ChangedIssue) Nullable(javax.annotation.Nullable) ImmutableSortedSet(com.google.common.collect.ImmutableSortedSet) Iterator(java.util.Iterator) Project(org.sonar.server.issue.notification.IssuesChangesNotificationBuilder.Project) UTF_8(java.nio.charset.StandardCharsets.UTF_8) Collection(java.util.Collection) Set(java.util.Set) SetMultimap(com.google.common.collect.SetMultimap) RuleGroup.formatIssueOrHotspot(org.sonar.server.issue.notification.RuleGroup.formatIssueOrHotspot) Consumer(java.util.function.Consumer) Rule(org.sonar.server.issue.notification.IssuesChangesNotificationBuilder.Rule) List(java.util.List) ISSUES(org.sonar.server.issue.notification.RuleGroup.ISSUES) Function.identity(java.util.function.Function.identity) Optional(java.util.Optional) Comparator(java.util.Comparator) UnsupportedEncodingException(java.io.UnsupportedEncodingException) ChangedIssue(org.sonar.server.issue.notification.IssuesChangesNotificationBuilder.ChangedIssue) Rule(org.sonar.server.issue.notification.IssuesChangesNotificationBuilder.Rule)

Aggregations

ImmutableList (com.google.common.collect.ImmutableList)1 ImmutableSortedSet (com.google.common.collect.ImmutableSortedSet)1 ListMultimap (com.google.common.collect.ListMultimap)1 Lists (com.google.common.collect.Lists)1 SetMultimap (com.google.common.collect.SetMultimap)1 UnsupportedEncodingException (java.io.UnsupportedEncodingException)1 URLEncoder.encode (java.net.URLEncoder.encode)1 UTF_8 (java.nio.charset.StandardCharsets.UTF_8)1 Collection (java.util.Collection)1 Comparator (java.util.Comparator)1 Iterator (java.util.Iterator)1 List (java.util.List)1 Locale (java.util.Locale)1 Optional (java.util.Optional)1 Set (java.util.Set)1 SortedSet (java.util.SortedSet)1 BiConsumer (java.util.function.BiConsumer)1 Consumer (java.util.function.Consumer)1 Function.identity (java.util.function.Function.identity)1 Nullable (javax.annotation.Nullable)1