public void buildSearchCriteriaAndExecuteSearch() { var lscSearchCriteria = new List <AnalysisSearch.SearchCriteria>(); foreach (DataGridViewRow rRow in dgvSearchCriteria.Rows) { if (rRow.Cells[0].Value != null) { String sSearchType = rRow.Cells[0].Value.ToString(); if (rRow.Cells[1].Value == null || rRow.Cells[1].Value.ToString() == "") { rRow.Cells[1].Value = "."; } String sSearchText = rRow.Cells[1].Value.ToString(); bool bNegativeSearch = false; if (rRow.Cells[2].Value != null && ((bool)rRow.Cells[2].Value)) { bNegativeSearch = true; } var scSearchCriteria = new AnalysisSearch.SearchCriteria(sSearchText, (AnalysisSearch.SearchType) Enum.Parse( typeof(AnalysisSearch.SearchType), sSearchType), cbSearchOnFindingsWithNoTraces.Checked, bNegativeSearch); // scSearchCriteria.bSearchOnFindingsWithNoTraces = cbSearchOnFindingsWithNoTraces.Checked; lscSearchCriteria.Add(scSearchCriteria); } } AnalysisSearch.SavedAssessmentSearch sasSavedAssessmentSearch = ExecuteSearch(lscSearchCriteria); loadGuiWithSavedAssessmentSearchData(sasSavedAssessmentSearch); }
public void loadAssessmentFileAndShowData(String sAssessmentFileToLoad, String sDefaultSearchCriteriaText) { sasSavedAssessmentSearch = new AnalysisSearch.SavedAssessmentSearch(sAssessmentFileToLoad); sasSavedAssessmentSearch.searchUsingCriteria(sDefaultSearchCriteriaText); loadTreeViewWithSearchResults(); }
public static AnalysisSearch.SavedAssessmentSearch createSavedAssessmentSearchObjectFromNormalizedTraces(List <TreeNode> ltnNormalizedTraces) { // if (tvTempTreeView.Nodes.Count > 0) // { var sasSavedAssessmentSearch = new AnalysisSearch.SavedAssessmentSearch(); // foreach (TreeNode tnTreeNode in tvTempTreeView.Nodes) DI.log.debug("There are {0} Traces in ltnTraces to process", ltnNormalizedTraces.Count); foreach (TreeNode tnTreeNode in ltnNormalizedTraces) { FindingViewItem fviJoinedFindingViewItem = creator.createJoinedUpFindingViewItemFromTreeNodeWithFindingViewItemAsTags(tnTreeNode); if (fviJoinedFindingViewItem != null && fviJoinedFindingViewItem.fFinding != null) { var frFindingsResult = new AnalysisSearch.FindingsResult(fviJoinedFindingViewItem.oadO2AssessmentDataOunceV6) { fFinding = fviJoinedFindingViewItem.fFinding, fFile = fviJoinedFindingViewItem.oadO2AssessmentDataOunceV6.dFindings[ fviJoinedFindingViewItem.fFinding] }; sasSavedAssessmentSearch.lfrFindingsResults.Add(frFindingsResult); if (sasSavedAssessmentSearch.lfrFindingsResults.Count % 2500 == 0) { DI.log.debug("Create Trace # {0}/{1}", sasSavedAssessmentSearch.lfrFindingsResults.Count, ltnNormalizedTraces.Count); } } } return(sasSavedAssessmentSearch); }
private void btCreateAssessmentRun_WithSelectedFindingsType_Click(object sender, EventArgs e) { // if (lbSearchResults_SearchCriteria.Items.Count > 0) // { var dFilteredFindings = new Dictionary <string, List <FindingViewItem> >(); foreach (TreeNode tnTreeNode in tv_CreateSavedAssessment_PerFindingsType.Nodes) { if (tnTreeNode.Checked) { dFilteredFindings.Add(tnTreeNode.Text, (List <FindingViewItem>)tnTreeNode.Tag); } } var targetDir = tbSavedAssessment_FolderName.Text.Replace(@"\\", @"\"); Files.checkIfDirectoryExistsAndCreateIfNot(targetDir); var targetfileName = tbSavedAssessmentFileName.Text.Replace('|', '_').Replace(':', '_').Replace('\\', '_').Replace('/', '_'); String sTargetPath = Path.Combine(targetDir, targetfileName);//tbSavedAssessment_FolderName.Text, tbSavedAssessmentFileName.Text); AnalysisSearch.SavedAssessmentSearch sasSavedAssessmentSearch = ascx_FindingsSearchViewer1.sasSavedAssessmentSearch; // (AnalysisSearch.SavedAssessmentSearch)lbSearchResults_SearchCriteria.Items[0]; CustomAssessmentFile.create_CustomSavedAssessmentRunFile_From_FindingsResult_Dictionary(dFilteredFindings, sTargetPath); // }*/ }
public static String saveAssessmentSearchResultsAsNewAssessmentRunFile( AnalysisSearch.SavedAssessmentSearch sasSavedAsssessmentSearch, String sPathToNewAssessmentFile, bool bCreateFileWithAllTraces, bool bCreateFileWithUniqueTraces, bool bDropDuplicateSmartTraces, bool bIgnoreRootCallInvocation) { String sTargetFilename = ""; if (bCreateFileWithAllTraces || bCreateFileWithUniqueTraces) // see if we have something to do { sPathToNewAssessmentFile = createAssessmentRunFileWithAllTracesFromSavedAssessmentSearch(sPathToNewAssessmentFile, sasSavedAsssessmentSearch, out sTargetFilename); if (bCreateFileWithUniqueTraces) { sTargetFilename = fromAssessmentRunFileCreateNewFileWithUniqueTraces(sPathToNewAssessmentFile, bDropDuplicateSmartTraces, bIgnoreRootCallInvocation); } if (bCreateFileWithAllTraces == false) { // delete it if we said we were only interested on bCreateFileWithUniqueTraces File.Delete(sPathToNewAssessmentFile); } } return(sTargetFilename); // sPathToNewAssessmentFile; }
public static String saveAssessmentSearchResultsAsNewAssessmentRunFile( AnalysisSearch.SavedAssessmentSearch sasSavedAsssessmentSearch) { bool bCreateFileWithAllTraces = true; bool bCreateFileWithUniqueTraces = false; // the next two are only used if bCreateFileWithUniqueTraces is set to true bool bDropDuplicateSmartTraces = true; bool bIgnoreRootCallInvocation = false; return(saveAssessmentSearchResultsAsNewAssessmentRunFile(sasSavedAsssessmentSearch, "", bCreateFileWithAllTraces, bCreateFileWithUniqueTraces, bDropDuplicateSmartTraces, bIgnoreRootCallInvocation)); }
private void btCreateAssessmentRunWithSearchResults_Click(object sender, EventArgs e) { var sasSavedAssessmentSearch = new AnalysisSearch.SavedAssessmentSearch(); // foreach (o2.analysis.FindingViewItem FindingViewItem in lbSearchResults_Findings.Items) // { // o2.analysis.FindingViewItem fviFindingViewItem = (o2.analysis.FindingViewItem)oFindingViewItem; // sasSavedAssessmentSearch.lfrFindingsResults.Add(fviFindingViewItem.frFindingResult); // } sasSavedAssessmentSearch.lfrFindingsResults = getListOfFindingsResultsFromCurrentListOfViewSearchItems(); CustomAssessmentFile.saveAssessmentSearchResultsAsNewAssessmentRunFile(sasSavedAssessmentSearch, "", cbCreateFileWithAllTraces.Checked, cbCreateFileWithUniqueTraces.Checked, cbDropDuplicateSmartTraces.Checked, cbIgnoreRootCallInvocation.Checked); }
public void setSavedAssessmentSearchAndLoadData(AnalysisSearch.SavedAssessmentSearch sasSavedAssessmentSearch) { this.sasSavedAssessmentSearch = sasSavedAssessmentSearch; if (tvSearchFilters.Nodes.Count == 0) { tvSearchFilters.Nodes.Add("Search Text"); } /* * if (sasSavedAssessmentSearch.lscSearchCriteria.Count > 0) * { * tvSearchFilters.Nodes.Clear(); * //tvSearchFilters.Nodes.Add(sasSavedAssessmentSearch.lscSearchCriteria[sasSavedAssessmentSearch.lscSearchCriteria.Count - 1].stSearchType.ToString()); * tvSearchFilters.Nodes.Add("Search Text"); * }*/ loadTreeViewWithSearchResults(); }
public static string createAssessmentFileFromSavedAssessmentSearchObject( AnalysisSearch.SavedAssessmentSearch sasSavedAssessmentSearch, string targetFolder, string fileNamePrefix, bool bCreateFileWithAllTraces, bool bCreateFileWithUniqueTraces, bool bDropDuplicateSmartTraces, bool bIgnoreRootCallInvocation) { String sTargetFile = ""; if (Directory.Exists(targetFolder)) { sTargetFile = Path.Combine(targetFolder, fileNamePrefix + "_ALLTRACES"); } return(CustomAssessmentFile.saveAssessmentSearchResultsAsNewAssessmentRunFile( sasSavedAssessmentSearch, sTargetFile, bCreateFileWithAllTraces, bCreateFileWithUniqueTraces, bDropDuplicateSmartTraces, bIgnoreRootCallInvocation)); }
public void loadGuiWithSavedAssessmentSearchData(AnalysisSearch.SavedAssessmentSearch sasSavedAssessmentSearch) { if (sasSavedAssessmentSearch != null) { String sNumberOfResults = String.Format("There were {0} results", sasSavedAssessmentSearch.lfrFindingsResults.Count); DI.log.info(sNumberOfResults); lbNumberOfSearchResults.Text = sNumberOfResults; //AnalysisSearch.GUI.populateFindingsResults_TextMatches(sasSavedAssessmentSearch.lfrFindingsResults, lbSearchResults_TextMatches, cbSearchResults_TextMatches_UniqueList.Checked, cbSearchResults_TextMatches_ShowApplicationAndProjectName.Checked); //populateFindingsResults_Findings(sasSavedAssessmentSearch.lfrFindingsResults, cbSearchResults_Findings_Filter.Text, cbSearchResults_Findings_UniqueList.Checked); ascx_FindingsSearchViewer1.setSavedAssessmentSearchAndLoadData(sasSavedAssessmentSearch); //addSearchDataToListBox(sasSavedAssessmentSearch); addSearchToPreviousSearchList(sasSavedAssessmentSearch); //AnalysisSearch.GUI.populateWithDictionaryOfFilteredFindings_TreeView(tv_CreateSavedAssessment_PerFindingsType, dFilteredFindings); } }
public void addSearchToPreviousSearchList( AnalysisSearch.SavedAssessmentSearch sasSavedAssessmentSearch_ToAddToList) { bool bSearchAlreadyOnList = false; tbSavedAssessmentFileName.Text = sasSavedAssessmentSearch_ToAddToList.ToString().Replace('|', '_').Replace(':', '_').Replace('\\', '_'). Replace('/', '_') + ".xml"; foreach (Object oItem in lbPreviousSearches.Items) { var sasSavedAssessmentSearch = (AnalysisSearch.SavedAssessmentSearch)oItem; if (sasSavedAssessmentSearch.ToString() == sasSavedAssessmentSearch_ToAddToList.ToString()) { bSearchAlreadyOnList = true; } } if (false == bSearchAlreadyOnList) { lbPreviousSearches.Items.Add(sasSavedAssessmentSearch_ToAddToList); } }
private void btCreateAssessmentRunWithSearchResults_Click(object sender, EventArgs e) { // if (lbSearchResults_SearchCriteria.Items.Count > 0) { var targetDir = tbSavedAssessment_FolderName.Text.Replace(@"\\", @"\"); Files.checkIfDirectoryExistsAndCreateIfNot(targetDir); var targetfileName = tbSavedAssessmentFileName.Text.Replace('|', '_').Replace(':', '_').Replace('\\', '_').Replace('/', '_'); String sTargetPath = Path.Combine(targetDir, targetfileName); AnalysisSearch.SavedAssessmentSearch sasSavedAssessmentSearch = ascx_FindingsSearchViewer1.sasSavedAssessmentSearch; // (AnalysisSearch.SavedAssessmentSearch)lbSearchResults_SearchCriteria.Items[0]; CustomAssessmentFile.saveAssessmentSearchResultsAsNewAssessmentRunFile(sasSavedAssessmentSearch, sTargetPath, cbCreateFileWithAllTraces.Checked, cbCreateFileWithUniqueTraces. Checked, cbDropDuplicateSmartTraces. Checked, cbIgnoreRootCallInvocation. Checked); } }
public AnalysisSearch.SavedAssessmentSearch ExecuteSearch(List <AnalysisSearch.SearchCriteria> lscSearchCriteria) { if (lbLoadedAssessmentFiles.Items.Count == 0) { DI.log.error("in ExecuteSearch: There is no assessment file loaded"); return(null); } else { var lfadAssessmentData = new List <O2AssessmentData_OunceV6>(); foreach (object oItem in lbLoadedAssessmentFiles.Items) { lfadAssessmentData.Add((O2AssessmentData_OunceV6)oItem); } var sasSavedAssessmentSearch = new AnalysisSearch.SavedAssessmentSearch(); sasSavedAssessmentSearch.setTargetO2AssessmentDataList(lfadAssessmentData); sasSavedAssessmentSearch.searchUsingCriteria(lscSearchCriteria); vars.set_("PreviousSearch", sasSavedAssessmentSearch); return(sasSavedAssessmentSearch); } }
private static string createAssessmentRunFileWithAllTracesFromSavedAssessmentSearch(string sPathToNewAssessmentFile, AnalysisSearch.SavedAssessmentSearch sasSavedAsssessmentSearch, out string sTargetFilename) { DI.log.debug("Creating SavedAssessmentFile from traces calculated"); if (sPathToNewAssessmentFile == "") { sPathToNewAssessmentFile = DI.config.TempFileNameInTempDirectory; } //if (sPathToNewAssessmentFile.IndexOf(".xml") == -1) sPathToNewAssessmentFile += ".ozasmt"; var maxFindingsToSave = 25000; if (sasSavedAsssessmentSearch.lfrFindingsResults.Count > maxFindingsToSave) { DI.log.debug("NOTE: due to the large number of findings ({0}) multiple assessment files will be created (each with a maximum of {1} findings", sasSavedAsssessmentSearch.lfrFindingsResults.Count, maxFindingsToSave); var index = 1; var itemsProcessed = 1; var lfrFindingsResults = new List <AnalysisSearch.FindingsResult>(); foreach (AnalysisSearch.FindingsResult frFindingsResult in sasSavedAsssessmentSearch.lfrFindingsResults) { //lfrFindingsResults.GetRange(0, 0); lfrFindingsResults.Add(frFindingsResult); if ((itemsProcessed++) % maxFindingsToSave == 0) { sTargetFilename = sPathToNewAssessmentFile.Replace(".ozasmt", string.Format("_part_{0}.ozasmt", index++)); DI.log.debug("Saving {0} findings to {1}", lfrFindingsResults.Count, sTargetFilename); create_CustomSavedAssessmentRunFile_From_FindingsResult_List(lfrFindingsResults, sTargetFilename); lfrFindingsResults = new List <AnalysisSearch.FindingsResult>(); } } // do the remaining ones sTargetFilename = sPathToNewAssessmentFile.Replace(".ozasmt", string.Format("_part_{0}.ozasmt", index)); DI.log.debug("Saving {0} findings to {1}", lfrFindingsResults.Count, sTargetFilename); create_CustomSavedAssessmentRunFile_From_FindingsResult_List(lfrFindingsResults, sTargetFilename); sPathToNewAssessmentFile = sTargetFilename; // assigned the last one to this } else { DI.log.debug("There are {0} findings to save", sasSavedAsssessmentSearch.lfrFindingsResults.Count); // we always need to create this one //DI.log.debug("Create file with all traces"); //create_CustomSavedAssessmentRunFile_From_FindingsResult_List(lfrFindingsResults_UniqueFindings, create_CustomSavedAssessmentRunFile_From_FindingsResult_List(sasSavedAsssessmentSearch.lfrFindingsResults, sPathToNewAssessmentFile); } sTargetFilename = sPathToNewAssessmentFile; return(sPathToNewAssessmentFile); /* * DI.log.debug("Calculate List of Findings to save"); * * var lfUniqueFindings = new List<AssessmentAssessmentFileFinding>(); * var lfrFindingsResults_UniqueFindings = new List<AnalysisSearch.FindingsResult>(); * var itemsProcessed = 0; * var itemsToProcess = sasSavedAsssessmentSearch.lfrFindingsResults.Count; * foreach (AnalysisSearch.FindingsResult frFindingsResult in sasSavedAsssessmentSearch.lfrFindingsResults) * { * if (false == lfUniqueFindings.Contains(frFindingsResult.fFinding)) * { * lfUniqueFindings.Add(frFindingsResult.fFinding); * lfrFindingsResults_UniqueFindings.Add(frFindingsResult); * } * if ((itemsProcessed++) % 1000 == 0) * DI.log.info("Processed [{0}/{1}] - {2}", itemsProcessed, itemsToProcess, lfUniqueFindings.Count); * } * DI.log.debug("There are {0} findings to save", lfrFindingsResults_UniqueFindings.Count);*/ }