private SonarQubeIssue ToSonarQubeIssue(ServerIssue issue) => new SonarQubeIssue(issue.IssueKey, ComputePath(issue.Component), issue.Hash, issue.Message, ComputeModuleKey(issue), GetRuleKey(issue.CompositeRuleKey), issue.Status == "RESOLVED", SonarQubeIssueSeverityConverter.Convert(issue.Severity), issue.CreationDate, issue.UpdateDate, ToIssueTextRange(issue.TextRange), ToIssueFlows(issue.Flows));
private static SonarQubeIssue ToSonarQubeIssue(ServerIssue issue) => new SonarQubeIssue(issue.Key, FilePathNormalizer.NormalizeSonarQubePath(issue.Path), issue.Checksum, issue.Msg, issue.ModuleKey, issue.RuleKey, issue.Status == "RESOLVED", severity: SonarQubeIssueSeverity.Unknown, creationTimestamp: DateTimeOffset.MinValue, // we don't support the timestamp fields for these versions of SQ lastUpdateTimestamp: DateTimeOffset.MinValue, textRange: new IssueTextRange(issue.Line, issue.Line, 0, 0), flows: null);
private static SonarQubeIssue ToSonarQubeIssue(ServerIssue issue) => new SonarQubeIssue( filePath: ComputePath(issue), hash: issue.Hash, line: issue.Line, message: issue.Message, moduleKey: ComputeModuleKey(issue), resolutionState: ParseResolutionState(issue.Resolution), ruleId: GetRuleKey(issue.CompositeRuleKey));
private static string ComputeModuleKey(ServerIssue issue) => issue.SubProject ?? issue.Component;
private static string ComputePath(ServerIssue issue, ILookup <string, string> componentKeyPathLookup) => componentKeyPathLookup[issue.Component].FirstOrDefault() ?? string.Empty;
private static SonarQubeIssue ToSonarQubeIssue(ServerIssue issue, ILookup <string, string> componentKeyPathLookup) => new SonarQubeIssue(ComputePath(issue, componentKeyPathLookup), issue.Hash, issue.Line, issue.Message, ComputeModuleKey(issue), GetRuleKey(issue.CompositeRuleKey), issue.Status == "RESOLVED");
private static SonarQubeIssue ToSonarQubeIssue(ServerIssue issue) => new SonarQubeIssue(issue.Path, issue.Checksum, issue.Line, issue.Msg, issue.ModuleKey, ParseResolutionState(issue.Resolution), issue.RuleKey);
public static SonarQubeIssue FromResponse(ServerIssue issue) { return(new SonarQubeIssue(issue.Path, issue.Checksum, issue.Line, issue.Msg, issue.ModuleKey, ParseResolutionState(issue.Resolution), issue.RuleKey)); }
private static SonarQubeIssue ToSonarQubeIssue(ServerIssue issue) => new SonarQubeIssue(issue.Path, issue.Checksum, issue.Line, issue.Msg, issue.ModuleKey, issue.RuleKey, issue.Status == "RESOLVED", new TextRange(), issue.Key, issue.AssigneeLogin);
private static string ComputePath(ServerIssue issue) => // Component is "{SubProject}:Path" issue.SubProject != null ? issue.Component.Substring(issue.SubProject.Length + 1) : string.Empty;
private static SonarQubeIssue ToSonarQubeIssue(ServerIssue issue) => new SonarQubeIssue(issue.Path, issue.Checksum, issue.Line, issue.Msg, issue.ModuleKey, issue.RuleKey, issue.Status == "RESOLVED");