예제 #1
0
 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));
예제 #2
0
 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));
예제 #4
0
 private static string ComputeModuleKey(ServerIssue issue) =>
 issue.SubProject ?? issue.Component;
예제 #5
0
 private static string ComputePath(ServerIssue issue, ILookup <string, string> componentKeyPathLookup) =>
 componentKeyPathLookup[issue.Component].FirstOrDefault() ?? string.Empty;
예제 #6
0
 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");
예제 #7
0
 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));
 }
예제 #9
0
 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;
예제 #11
0
 private static SonarQubeIssue ToSonarQubeIssue(ServerIssue issue) =>
 new SonarQubeIssue(issue.Path, issue.Checksum, issue.Line, issue.Msg, issue.ModuleKey, issue.RuleKey,
                    issue.Status == "RESOLVED");