private void step1() { var o2AssessmentDataItemsToProcess = new List <O2AssessmentData_OunceV6>(); foreach (O2AssessmentData_OunceV6 o2AssessmentData in lbTargetSavedAssessmentFiles.Items) { o2AssessmentDataItemsToProcess.Add(o2AssessmentData); } btCreateTraces.Enabled = false; JoinTracesUtils.proccessLoadedFiles(o2AssessmentDataItemsToProcess, cbMakeLostSinksIntoSinks.Checked, (_dO2TraceBlock, _tvRawData) => { dO2TraceBlock = _dO2TraceBlock; tvRawData = _tvRawData; this.invokeOnThread( () => { step2(); step3(); //btProcessLoadedFiles.Enabled = true; }); return(true); }); }
public void LoadFile(String sFileToLoad) { if (Path.GetExtension(sFileToLoad).ToLower() == ".cirdata") { cdCirData = CirLoad.loadSerializedO2CirDataObject(sFileToLoad); lbCirFileLoaded.Text = Path.GetFileName(sFileToLoad); } else { if (Path.GetExtension(sFileToLoad).ToLower() == ".xml" || Path.GetExtension(sFileToLoad).ToLower() == ".ozasmt") { var oadO2AssessmentDataOunceV6 = JoinTracesUtils.loadAssessmentRunFileAndAddItToList(sFileToLoad); if (oadO2AssessmentDataOunceV6 != null) { foreach (object oItem in lbTargetSavedAssessmentFiles.Items) { if (oItem.ToString() == oadO2AssessmentDataOunceV6.ToString()) { DI.log.error( "in loadAssessmentRunFileAndAddItToList, file is already in the list of F1AssessmentRun objects"); return; } } lbTargetSavedAssessmentFiles.Items.Add(oadO2AssessmentDataOunceV6); } } else { DI.log.debug("Skipping loading file (since it is one of type: .cirdata, .xml or .ozasmt: {0}", sFileToLoad); } } }
private void step3() { btCreateTraces.Enabled = false; DI.log.debug("Creating Traces"); O2Timer tTimer = new O2Timer("Creating Traces").start(); string textFilter = ""; //TreeView _tvRawData = tvRawData; ICirData _cdCirData = cdCirData; Dictionary <String, O2TraceBlock_OunceV6> _dO2TraceBlock = dO2TraceBlock; Dictionary <string, O2TraceBlock_OunceV6> dRawData = JoinTracesUtils.calculateDictionaryWithRawData(tvRawData); const bool bOnlyProcessTracesWithNoCallers = false; string targetFolder = DI.config.O2TempDir; string fileNamePrefix = Path.GetFileNameWithoutExtension(lbCirFileLoaded.Text); const bool bCreateFileWithAllTraces = true; const bool bCreateFileWithUniqueTraces = false; const bool bDropDuplicateSmartTraces = false; const bool bIgnoreRootCallInvocation = false; JoinTracesUtils.createAssessessmentFileWithJoinnedTraces( textFilter, dRawData, _cdCirData, _dO2TraceBlock, bOnlyProcessTracesWithNoCallers, targetFolder, fileNamePrefix, bCreateFileWithAllTraces, bCreateFileWithUniqueTraces, bDropDuplicateSmartTraces, bIgnoreRootCallInvocation, null, sAssessmentFile => { this.invokeOnThread( () => { lbCreatedAssessmentFile.Text = sAssessmentFile; lbCreatedAssessmentFile.Visible = true; btCreateTraces.Enabled = true; }); tTimer.stop(); if (sAssessmentFile != "") { findingsViewerfor_JoinnedTraces.loadO2Assessment(sAssessmentFile); } return(sAssessmentFile); }); }
private void btCreateTraces_Click(object sender, EventArgs e) { btCreateTraces.Enabled = false; DI.log.debug("Creating Traces"); O2Timer tTimer = new O2Timer("Creating Traces").start(); string textFilter = tbCreateTracesForKeyword.Text; //TreeView _tvRawData = tvRawData; ICirData _cdCirData = cdCirData; Dictionary <String, O2TraceBlock_OunceV6> _dO2TraceBlock = dO2TraceBlock; Dictionary <string, O2TraceBlock_OunceV6> dRawData = JoinTracesUtils.calculateDictionaryWithRawData(tvRawData); bool bOnlyProcessTracesWithNoCallers = cbOnlyProcessTracesWithNoCallers.Checked; string targetFolder = tbFolderToSaveAssessment.Text; string fileNamePrefix = Path.GetFileNameWithoutExtension(lbCirFileLoaded.Text); bool bCreateFileWithAllTraces = cbCreateFileWithAllTraces.Checked; bool bCreateFileWithUniqueTraces = cbCreateFileWithUniqueTraces.Checked; bool bDropDuplicateSmartTraces = cbDropDuplicateSmartTraces.Checked; bool bIgnoreRootCallInvocation = cbIgnoreRootCallInvocation.Checked; JoinTracesUtils.createAssessessmentFileWithJoinnedTraces( textFilter, dRawData, _cdCirData, _dO2TraceBlock, bOnlyProcessTracesWithNoCallers, targetFolder, fileNamePrefix, bCreateFileWithAllTraces, bCreateFileWithUniqueTraces, bDropDuplicateSmartTraces, bIgnoreRootCallInvocation, previewCreatedTraces, sAssessmentFile => { this.invokeOnThread( () => { lbCreatedAssessmentFile.Text = sAssessmentFile; lbCreatedAssessmentFile.Visible = true; btCreateTraces.Enabled = true; }); tTimer.stop(); if (sAssessmentFile != "") { findingsViewerfor_JoinnedTraces.loadO2Assessment(sAssessmentFile); } return(sAssessmentFile); }); }
private void btProcessLoadedFiles_Click(object sender, EventArgs e) { var o2AssessmentDataItemsToProcess = new List <O2AssessmentData_OunceV6>(); foreach (O2AssessmentData_OunceV6 o2AssessmentData in lbTargetSavedAssessmentFiles.Items) { o2AssessmentDataItemsToProcess.Add(o2AssessmentData); } btProcessLoadedFiles.Enabled = false; JoinTracesUtils.proccessLoadedFiles(o2AssessmentDataItemsToProcess, cbMakeLostSinksIntoSinks.Checked, (_dO2TraceBlock, _tvRawData) => { dO2TraceBlock = _dO2TraceBlock; tvRawData = _tvRawData; this.invokeOnThread( () => { btProcessLoadedFiles.Enabled = true; laNumberOfTracesProcessed.Text = dO2TraceBlock.Count + " TraceBlock : " + tvRawData.Nodes.Count + " Nodes"; }); return(true); }); }
private void tvSinksView_BeforeExpand(object sender, TreeViewCancelEventArgs e) { if (e.Node.Parent == null && e.Node.Tag == null) // means we have not processed this node { foreach (TreeNode tnChildNode in e.Node.Nodes) { if (tnChildNode.Text != "") { var fviFindingViewItem = (FindingViewItem)tnChildNode.Tag; var otbO2TraceBlockOfChildNode = (O2TraceBlock_OunceV6)tvRawData.Nodes[tnChildNode.Text].Tag; analyzer.addCompatibleTracesToNode_recursive(tnChildNode, fviFindingViewItem, otbO2TraceBlockOfChildNode, "Sinks", JoinTracesUtils.calculateDictionaryWithRawData(tvRawData)); } // fviFindingViewItem } } }
private void btShowNormalizedTracesFor_Click(object sender, EventArgs e) { var nomalizedTraces = analyzer.ResolveNormalizeTraceFor(tbNormalizedTracesFor.Text, JoinTracesUtils.calculateDictionaryWithRawData(tvRawData), cdCirData, dO2TraceBlock, cbOnlyProcessTracesWithNoCallers.Checked); tvNormalizedTracesView.Nodes.Clear(); foreach (var normalizedTrace in nomalizedTraces) { tvNormalizedTracesView.Nodes.Add(normalizedTrace); } viewing.ProcessNormalizedTracesAndDisplayResults(tvProcessedNormalizedTraces, tvNormalizedTracesView); }