public static IGraphPath Convert(ReportQueryItemResult queryItem, int columnNumber) { IGraphPath outputPath = new GraphPath(); outputPath.DirectFlow = new List <GraphItem>(); for (int i = 0; i < queryItem.Paths.Count; i++) { if (i == 0 || i == queryItem.Paths.Count - 1) { ReportQueryItemPathResult item = queryItem.Paths[i]; GraphItem graphItem = (GraphItem)Convert(item, columnNumber, i == 0 ? 0 : 1); graphItem.Parent = outputPath; outputPath.DirectFlow.Add(graphItem); } } // To show two nodes in graph view if only one available if (outputPath.DirectFlow.Count == 1) { GraphItem graphItem = (GraphItem)Convert(queryItem.Paths[0], columnNumber, 1); graphItem.Parent = outputPath; outputPath.DirectFlow.Add(graphItem); } return(outputPath); }
public static IGraph Convert(TreeNodeData treeNode) { IGraph outputGraph = new Graph(); CxViewerAction.CxVSWebService.CxWSResultPath[] paths = PerspectiveHelper.GetResultPathsForQuery(treeNode.ScanId, treeNode.Id); treeNode.QueryResult.Paths = ConvertAllNodesToPathes(paths, treeNode.Id, treeNode.QueryResult); outputGraph.Severity = treeNode.Severity; outputGraph.Paths = new List <GraphPath>(); for (int i = 0; i < paths.Length; i++) { ReportQueryItemResult path = new ReportQueryItemResult() { Column = paths[i].Nodes[0].Column, FileName = paths[i].Nodes[0].FileName, Line = paths[i].Nodes[0].Line, NodeId = paths[i].Nodes[0].PathNodeId, PathId = paths[i].PathId, Query = treeNode.QueryResult }; path.Paths = ConvertNodesToPathes(paths[i].Nodes, treeNode.QueryResult, path); outputGraph.AddNewPath(Convert(path, i)); } return(outputGraph); }
void UpdateGridShowPath() { Font font = GetColumnFont(); foreach (DataGridViewRow row in dgvProjects.Rows) { try { bool isFalsePositive = false; ReportQueryItemResult reportQueryItemPathResult = row.Cells["ResultEntity"].Value as ReportQueryItemResult; if (reportQueryItemPathResult != null) { if (!reportQueryItemPathResult.FalsePositive) { row.DefaultCellStyle.Font = new Font(font, FontStyle.Regular); row.DefaultCellStyle.ForeColor = Color.Black; isFalsePositive = true; } else { row.DefaultCellStyle.Font = new Font(font, FontStyle.Strikeout); row.DefaultCellStyle.ForeColor = Color.LightGray; } } if (row.Cells["State"].Value != null && Convert.ToInt32(row.Cells["State"].Value) == 1) { row.DefaultCellStyle.Font = new Font(font, FontStyle.Strikeout); isFalsePositive = true; } if (row.Cells[Constants.COL_NAME_STATUS].Value != null) { string rowStatus = row.Cells[Constants.COL_NAME_STATUS].Value.ToString(); if (rowStatus == SavedResultsManager.RESULT_STATUS_NEW_TEXT) { row.Cells[Constants.COL_NAME_STATUS].Style.Font = new Font(font, FontStyle.Bold); row.Cells[Constants.COL_NAME_STATUS].Style.ForeColor = Color.Red; } else if (rowStatus == SavedResultsManager.RESULT_STATUS_RECURRENT_TEXT) { row.Cells[Constants.COL_NAME_STATUS].Style.Font = new Font(font, FontStyle.Bold); row.Cells[Constants.COL_NAME_STATUS].Style.ForeColor = ColorTranslator.FromHtml("#FBB917");//an orange flavour } if (isFalsePositive) { row.Cells[Constants.COL_NAME_STATUS].Style.Font = new Font(font, FontStyle.Bold | FontStyle.Strikeout); } } } catch (Exception ex) { Logger.Create().Error(ex.ToString()); } } }
public static IGraph Convert(ReportQueryResult query) { IGraph outputGraph = new Graph(); outputGraph.Severity = query.Severity; outputGraph.Paths = new List <GraphPath>(); for (int i = 0; i < query.Paths.Count; i++) { ReportQueryItemResult path = query.Paths[i]; outputGraph.AddNewPath(Convert(path, i)); } return(outputGraph); }
/// <summary> /// Convert XML string into ReportQueryItemPathResult list /// </summary> /// <param name="xmlNode"></param> /// <returns></returns> private static List <ReportQueryItemResult> ParseQueryResult(XmlNode xmlNode) { List <ReportQueryItemResult> outputItems = new List <ReportQueryItemResult>(); if (xmlNode.FirstChild == null) { return(outputItems); } foreach (XmlNode resultNode in xmlNode.ChildNodes) { string lineValue = resultNode.Attributes["Line"].Value ?? resultNode.Attributes["line"].Value; string columnValue = resultNode.Attributes["Column"].Value ?? resultNode.Attributes["column"].Value; string nodeIdValue = resultNode.Attributes["NodeId"].Value ?? resultNode.Attributes["nodeId"].Value; string falsePositiveValue = resultNode.Attributes["FalsePositive"].Value ?? resultNode.Attributes["falsePositive"].Value; string pathIdValue = resultNode.FirstChild.Attributes["PathId"].Value ?? resultNode.FirstChild.Attributes["pathId"].Value; string resultIdValue = resultNode.FirstChild.Attributes["ResultId"].Value ?? resultNode.FirstChild.Attributes["resultId"].Value; ReportQueryItemResult reportQueryItemResult = new ReportQueryItemResult { FileName = resultNode.Attributes["FileName"].Value ?? resultNode.Attributes["fileName"].Value, Line = lineValue != null?Convert.ToInt32(lineValue) : 0, Column = columnValue != null?Convert.ToInt32(columnValue) : 0, NodeId = nodeIdValue != null?Convert.ToInt32(nodeIdValue) : 0, FalsePositive = falsePositiveValue != null?Convert.ToBoolean(falsePositiveValue) : false, Remark = resultNode.Attributes["Remark"].Value ?? resultNode.Attributes["remark"].Value, PathId = pathIdValue != null?Convert.ToInt32(pathIdValue) : 0, ResultId = resultIdValue != null?Convert.ToInt32(resultIdValue) : 0 }; reportQueryItemResult.Paths = ParseQueryItemPathResult(resultNode.FirstChild, reportQueryItemResult); if (outputItems.Find(r => r.CompareTo(reportQueryItemResult) == 0) == null) { outputItems.Add(reportQueryItemResult); } } return(outputItems); }
public static List <ReportQueryItemPathResult> ConvertNodesToPathes(CxViewerAction.CxVSWebService.CxWSPathNode[] cxWSPathNode, ReportQueryResult queryResult, ReportQueryItemResult queryItemResult) { List <ReportQueryItemPathResult> list = new List <ReportQueryItemPathResult>(); foreach (CxViewerAction.CxVSWebService.CxWSPathNode node in cxWSPathNode) { list.Add(new ReportQueryItemPathResult() { Name = node.Name, FileName = node.FileName, Line = node.Line, NodeId = node.PathNodeId, Length = node.Length, Column = node.Column, Query = queryResult, QueryItem = queryItemResult }); } return(list); }
public Graph(ReportQueryItemResult queryItem) { _paths = new List <GraphPath>(); _paths.Add((GraphPath)GraphHelper.Convert(queryItem, 0)); _severity = queryItem.Query.Severity; }
internal static List <ReportQueryItemPathResult> ParseQueryItemPathResult(XmlNode xmlNode, ReportQueryItemResult parent) { List <ReportQueryItemPathResult> outputItems = new List <ReportQueryItemPathResult>(); foreach (XmlNode pathNode in xmlNode.ChildNodes) { ReportQueryItemPathResult reportQueryItemPathResult = new ReportQueryItemPathResult(); reportQueryItemPathResult.QueryItem = parent; foreach (XmlNode pathSubNode in pathNode.ChildNodes) { switch (pathSubNode.Name.ToLower()) { case "filename": reportQueryItemPathResult.FileName = pathSubNode.InnerText; break; case "line": reportQueryItemPathResult.Line = int.Parse(pathSubNode.InnerText); break; case "column": reportQueryItemPathResult.Column = int.Parse(pathSubNode.InnerText); break; case "name": reportQueryItemPathResult.Name = pathSubNode.InnerText; break; case "length": reportQueryItemPathResult.Length = int.Parse(pathSubNode.InnerText); break; case "nodeid": reportQueryItemPathResult.NodeId = int.Parse(pathSubNode.InnerText); break; } } outputItems.Add(reportQueryItemPathResult); } return(outputItems); }