@VisibleForTesting protected void mergeMatched(Tracking<TrackedIssue, ServerIssueFromWs> result, Collection<TrackedIssue> mergeTo, Collection<TrackedIssue> rawIssues) { for (Map.Entry<TrackedIssue, ServerIssueFromWs> e : result.getMatchedRaws().entrySet()) { org.sonar.scanner.protocol.input.ScannerInput.ServerIssue dto = e.getValue().getDto(); TrackedIssue tracked = e.getKey(); // invariant fields tracked.setKey(dto.getKey()); // non-persisted fields tracked.setNew(false); // fields to update with old values tracked.setResolution(dto.hasResolution() ? dto.getResolution() : null); tracked.setStatus(dto.getStatus()); tracked.setAssignee(dto.hasAssigneeLogin() ? dto.getAssigneeLogin() : null); tracked.setCreationDate(new Date(dto.getCreationDate())); if (dto.getManualSeverity()) { // Severity overridden by user tracked.setSeverity(dto.getSeverity().name()); } mergeTo.add(tracked); } }
assertThat(serverIssue.getSeverity()).isEqualTo(Severity.BLOCKER); assertThat(serverIssue.getType()).isEqualTo(BUG.name()); assertThat(serverIssue.getManualSeverity()).isTrue();
assertThat(serverIssue.getSeverity()).isEqualTo(Severity.BLOCKER); assertThat(serverIssue.getType()).isEqualTo(BUG.name()); assertThat(serverIssue.getManualSeverity()).isTrue(); assertThat(serverIssue.getPath()).isEqualTo(file.path()); assertThat(serverIssue.getLine()).isEqualTo(issue.getLine());
public Sonarlint.ServerIssue toStorageIssue(ScannerInput.ServerIssue issue, Sonarlint.ProjectConfiguration projectConfiguration) { String sqPath = fileKeyToSqPath(projectConfiguration, issue.getModuleKey(), issue.getPath()); Sonarlint.ServerIssue.Builder builder = Sonarlint.ServerIssue.newBuilder() .setAssigneeLogin(issue.getAssigneeLogin()) .setChecksum(issue.getChecksum()) .setCreationDate(issue.getCreationDate()) .setKey(issue.getKey()) .setLine(issue.getLine()) .setManualSeverity(issue.getManualSeverity()) .setModuleKey(issue.getModuleKey()) .setMsg(issue.getMsg()) .setPath(sqPath) .setResolution(issue.getResolution()) .setRuleKey(issue.getRuleKey()) .setRuleRepository(issue.getRuleRepository()) .setSeverity(issue.getSeverity().name()) .setStatus(issue.getStatus()); if (issue.hasType()) { // type was added recently builder.setType(issue.getType()); } return builder.build(); }
@VisibleForTesting protected void mergeMatched(Tracking<TrackedIssue, ServerIssueFromWs> result, Collection<TrackedIssue> mergeTo, Collection<TrackedIssue> rawIssues) { for (Map.Entry<TrackedIssue, ServerIssueFromWs> e : result.getMatchedRaws().entrySet()) { org.sonar.scanner.protocol.input.ScannerInput.ServerIssue dto = e.getValue().getDto(); TrackedIssue tracked = e.getKey(); // invariant fields tracked.setKey(dto.getKey()); // non-persisted fields tracked.setNew(false); // fields to update with old values tracked.setResolution(dto.hasResolution() ? dto.getResolution() : null); tracked.setStatus(dto.getStatus()); tracked.setAssignee(dto.hasAssigneeLogin() ? dto.getAssigneeLogin() : null); tracked.setCreationDate(new Date(dto.getCreationDate())); if (dto.getManualSeverity()) { // Severity overridden by user tracked.setSeverity(dto.getSeverity().name()); } mergeTo.add(tracked); } }