private static List<Integer> secondary(Issue issue) { List<Integer> result = new ArrayList<>(); if (issue instanceof PreciseIssue) { result.addAll(((PreciseIssue) issue).secondaryLocations().stream() .map(IssueLocation::startLine) .collect(Collectors.toList())); } else if (issue instanceof FileIssue) { result.addAll(((FileIssue) issue).secondaryLocations().stream() .map(IssueLocation::startLine) .collect(Collectors.toList())); } return Ordering.natural().sortedCopy(result); }
private static List<Integer> secondary(Issue issue) { List<Integer> result = new ArrayList<>(); if (issue instanceof PreciseIssue) { result.addAll(((PreciseIssue) issue).secondaryLocations().stream() .map(IssueLocation::startLine) .collect(Collectors.toList())); } else if (issue instanceof FileIssue) { result.addAll(((FileIssue) issue).secondaryLocations().stream() .map(IssueLocation::startLine) .collect(Collectors.toList())); } return Ordering.natural().sortedCopy(result); }
private void saveFileIssue(FileIssue issue) { NewIssue newIssue = sensorContext.newIssue(); InputFile primaryFile = Preconditions.checkNotNull(fileSystem.inputFile(fileSystem.predicates().is(issue.file()))); NewIssueLocation primaryLocation = newIssue.newLocation() .message(issue.message()) .on(primaryFile); newIssue .forRule(ruleKey(issue.check())) .at(primaryLocation); if (issue.cost() != null) { newIssue.gap(issue.cost()); } InputFile secondaryFile; for (IssueLocation secondary : issue.secondaryLocations()) { secondaryFile = fileSystem.inputFile(fileSystem.predicates().is(secondary.file())); if (secondaryFile == null) { secondaryFile = primaryFile; } newIssue.addLocation(newLocation(secondaryFile, newIssue, secondary)); } newIssue.save(); }