in src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java [213:254]
private void renderViolationsByPriority() {
if (!renderViolationsByPriority) {
return;
}
boolean oldPriorityColumn = this.renderRuleViolationPriority;
this.renderRuleViolationPriority = false;
startSection(getI18nString("violationsByPriority"));
Map<RulePriority, List<Violation>> violationsByPriority = new HashMap<>();
for (Violation violation : violations) {
RulePriority priority = RulePriority.valueOf(violation.getPriority());
List<Violation> violationSegment = violationsByPriority.get(priority);
if (violationSegment == null) {
violationSegment = new ArrayList<>();
violationsByPriority.put(priority, violationSegment);
}
violationSegment.add(violation);
}
for (RulePriority priority : RulePriority.values()) {
List<Violation> violationsWithPriority = violationsByPriority.get(priority);
if (violationsWithPriority == null || violationsWithPriority.isEmpty()) {
continue;
}
startSection(getI18nString("priority") + " " + priority.getPriority());
renderViolationsTable(violationsWithPriority);
endSection();
}
if (violations.isEmpty()) {
paragraph(getI18nString("noProblems"));
}
endSection();
this.renderRuleViolationPriority = oldPriorityColumn;
}