public NewAdHocRule(ScannerReport.AdHocRule ruleFromScannerReport) { Preconditions.checkArgument(isNotBlank(ruleFromScannerReport.getEngineId()), "'engine id' not expected to be null for an ad hoc rule"); Preconditions.checkArgument(isNotBlank(ruleFromScannerReport.getRuleId()), "'rule id' not expected to be null for an ad hoc rule"); Preconditions.checkArgument(isNotBlank(ruleFromScannerReport.getName()), "'name' not expected to be null for an ad hoc rule"); Preconditions.checkArgument(ruleFromScannerReport.getSeverity() != Constants.Severity.UNSET_SEVERITY , "'severity' not expected to be null for an ad hoc rule"); Preconditions.checkArgument(ruleFromScannerReport.getType() != ScannerReport.IssueType.UNSET, "'issue type' not expected to be null for an ad hoc rule"); this.key = RuleKey.of(RuleKey.EXTERNAL_RULE_REPO_PREFIX + ruleFromScannerReport.getEngineId(), ruleFromScannerReport.getRuleId()); this.engineId = ruleFromScannerReport.getEngineId(); this.ruleId = ruleFromScannerReport.getRuleId(); this.name = ruleFromScannerReport.getName(); this.description = trimToNull(ruleFromScannerReport.getDescription()); this.severity = ruleFromScannerReport.getSeverity().name(); this.ruleType = RuleType.valueOf(ruleFromScannerReport.getType().name()); this.hasDetails = true; }
@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); } }
private static ActiveRule convert(ScannerReport.ActiveRule input, Rule rule) { RuleKey key = RuleKey.of(input.getRuleRepository(), input.getRuleKey()); Map<String, String> params = new HashMap<>(input.getParamsByKeyMap()); long updatedAt = input.getUpdatedAt(); return new ActiveRule(key, input.getSeverity().name(), params, updatedAt == 0 ? input.getCreatedAt() : updatedAt, rule.getPluginKey(), emptyToNull(input.getQProfileKey())); } }
issue.setSeverity(reportIssue.getSeverity().name());
issue.setSeverity(reportIssue.getSeverity().name());
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(); }
public static TrackedIssue toTrackedIssue(InputComponent component, ScannerReport.Issue rawIssue, @Nullable SourceHashHolder hashes) { RuleKey ruleKey = RuleKey.of(rawIssue.getRuleRepository(), rawIssue.getRuleKey()); Preconditions.checkNotNull(component.key(), "Component key must be set"); Preconditions.checkNotNull(ruleKey, "Rule key must be set"); TrackedIssue issue = new TrackedIssue(hashes != null ? hashes.getHashedSource() : null); issue.setKey(Uuids.createFast()); issue.setComponentKey(component.key()); issue.setRuleKey(ruleKey); issue.setGap(rawIssue.getGap() != 0 ? rawIssue.getGap() : null); issue.setSeverity(rawIssue.getSeverity().name()); issue.setMessage(StringUtils.trimToNull(rawIssue.getMsg())); issue.setResolution(null); issue.setStatus(Issue.STATUS_OPEN); issue.setNew(true); if (rawIssue.hasTextRange()) { TextRange r = rawIssue.getTextRange(); issue.setStartLine(r.getStartLine()); issue.setStartLineOffset(r.getStartOffset()); issue.setEndLine(r.getEndLine()); issue.setEndLineOffset(r.getEndOffset()); } return issue; }
@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); } }
public static TrackedIssue toTrackedIssue(ServerIssue serverIssue, String componentKey) { TrackedIssue issue = new TrackedIssue(); issue.setKey(serverIssue.getKey()); issue.setStatus(serverIssue.getStatus()); issue.setResolution(serverIssue.hasResolution() ? serverIssue.getResolution() : null); issue.setMessage(serverIssue.hasMsg() ? serverIssue.getMsg() : null); issue.setStartLine(serverIssue.hasLine() ? serverIssue.getLine() : null); issue.setEndLine(serverIssue.hasLine() ? serverIssue.getLine() : null); issue.setSeverity(serverIssue.getSeverity().name()); issue.setAssignee(serverIssue.hasAssigneeLogin() ? serverIssue.getAssigneeLogin() : null); // key in serverIssue might have branch, so don't use it issue.setComponentKey(componentKey); issue.setCreationDate(new Date(serverIssue.getCreationDate())); issue.setRuleKey(RuleKey.of(serverIssue.getRuleRepository(), serverIssue.getRuleKey())); issue.setNew(false); return issue; }
@Override public String severity() { return rawIssue.getSeverity().name(); }
private static ActiveRule convert(ScannerReport.ActiveRule input, Rule rule) { RuleKey key = RuleKey.of(input.getRuleRepository(), input.getRuleKey()); Map<String, String> params = new HashMap<>(input.getParamsByKeyMap()); return new ActiveRule(key, input.getSeverity().name(), params, input.getCreatedAt(), rule.getPluginKey()); } }
issue.setSeverity(reportIssue.getSeverity().name());
issue.setSeverity(reportExternalIssue.getSeverity().name());
public static TrackedIssue toTrackedIssue(InputComponent component, ScannerReport.Issue rawIssue, @Nullable SourceHashHolder hashes) { RuleKey ruleKey = RuleKey.of(rawIssue.getRuleRepository(), rawIssue.getRuleKey()); Preconditions.checkNotNull(component.key(), "Component key must be set"); Preconditions.checkNotNull(ruleKey, "Rule key must be set"); TrackedIssue issue = new TrackedIssue(hashes != null ? hashes.getHashedSource() : null); issue.setKey(Uuids.createFast()); issue.setComponentKey(component.key()); issue.setRuleKey(ruleKey); issue.setGap(rawIssue.getGap() != 0 ? rawIssue.getGap() : null); issue.setSeverity(rawIssue.getSeverity().name()); issue.setMessage(StringUtils.trimToNull(rawIssue.getMsg())); issue.setResolution(null); issue.setStatus(Issue.STATUS_OPEN); issue.setNew(true); if (rawIssue.hasTextRange()) { TextRange r = rawIssue.getTextRange(); issue.setStartLine(r.getStartLine()); issue.setStartLineOffset(r.getStartOffset()); issue.setEndLine(r.getEndLine()); issue.setEndLineOffset(r.getEndOffset()); } return issue; }
public static TrackedIssue toTrackedIssue(ServerIssue serverIssue, String componentKey) { TrackedIssue issue = new TrackedIssue(); issue.setKey(serverIssue.getKey()); issue.setStatus(serverIssue.getStatus()); issue.setResolution(serverIssue.hasResolution() ? serverIssue.getResolution() : null); issue.setMessage(serverIssue.hasMsg() ? serverIssue.getMsg() : null); issue.setStartLine(serverIssue.hasLine() ? serverIssue.getLine() : null); issue.setEndLine(serverIssue.hasLine() ? serverIssue.getLine() : null); issue.setSeverity(serverIssue.getSeverity().name()); issue.setAssignee(serverIssue.hasAssigneeLogin() ? serverIssue.getAssigneeLogin() : null); // key in serverIssue might have branch, so don't use it issue.setComponentKey(componentKey); issue.setCreationDate(new Date(serverIssue.getCreationDate())); issue.setRuleKey(RuleKey.of(serverIssue.getRuleRepository(), serverIssue.getRuleKey())); issue.setNew(false); return issue; }
@Override public String severity() { return rawIssue.getSeverity().name(); }