public void reportIssues(SourceFile squidFile, Resource sonarFile) { if (squidFile.hasCheckMessages()) { Issuable issuable = resourcePerspectives.as(Issuable.class, sonarFile); Set<CheckMessage> messages = squidFile.getCheckMessages(); if(issuable != null) { for (CheckMessage checkMessage : messages) { Object check = checkMessage.getCheck(); RuleKey ruleKey = getRuleKey((JavaCheck) check); if (ruleKey != null) { Issue issue = issuable.newIssueBuilder() .ruleKey(ruleKey) .line(checkMessage.getLine()) .message(checkMessage.formatDefaultMessage()) .effortToFix(checkMessage.getCost()) .build(); issuable.addIssue(issue); } else { throw new IllegalStateException("Cannot find rule key for instance of "+check.getClass()); } } } // Remove from memory: messages.clear(); } }
private void saveIssues(InputFile inputFile, SourceFile squidFile) { Collection<CheckMessage> messages = squidFile.getCheckMessages(); if (inputFile != null) { for (CheckMessage message : messages) { RuleKey ruleKey = checks.ruleKey((SquidCheck<ObjectiveCGrammar>) message.getCheck()); NewIssue issue = context.newIssue() .forRule(ruleKey); NewIssueLocation dil = new DefaultIssueLocation() .on(inputFile) .at(inputFile.selectLine(message.getLine())) .message(message.getText(Locale.ENGLISH)); issue.at(dil); if (message.getCost() != null) { issue.gap(message.getCost()); } issue.save(); } } }
private void saveIssues(InputFile inputFile, SourceFile squidFile) { Collection<CheckMessage> messages = squidFile.getCheckMessages(); if (inputFile != null) { for (CheckMessage message : messages) { RuleKey ruleKey = checks.ruleKey((SquidCheck<SwiftGrammar>) message.getCheck()); NewIssue issue = context.newIssue() .forRule(ruleKey); NewIssueLocation dil = new DefaultIssueLocation() .on(inputFile) .at(inputFile.selectLine(message.getLine())) .message(message.getText(Locale.ENGLISH)); issue.at(dil); if (message.getCost() != null) { issue.gap(message.getCost()); } issue.save(); } } }