public void SetAvailableFilters(AvailableFilters filters) { mnuFilter.DropDownItems.Clear(); m_filterSettings = new FilterOptions(); foreach (string key in filters.AllFilters) { System.Windows.Forms.ToolStripMenuItem newMenu = new System.Windows.Forms.ToolStripMenuItem(); newMenu.Text = filters.Get(key); newMenu.Tag = key; newMenu.Click += FilterClicked; mnuFilter.DropDownItems.Add(newMenu); } }
private void DatabaseSourceInitialize() { InitializeTrackModel(); current_filters_schema = CreateSchema <string[]> ("current_filters"); DatabaseSource filter_src = Parent as DatabaseSource ?? this; foreach (IFilterListModel filter in filter_src.CreateFiltersFor(this)) { AvailableFilters.Add(filter); DefaultFilters.Add(filter); } reload_limiter = new RateLimiter(RateLimitedReload); }
public Thread executeFilter(AvailableFilters filterToApply, bool addFindingsWithNoMatches, O2Thread.FuncVoidT1 <List <IO2Finding> > onCompletion) { var o2TargetO2Findings = findingsViewerSourceFindings.currentO2Findings; var o2RulesToUse = rulePackViewer.currentO2RulePack.o2Rules; return(O2Thread.mtaThread( () => { List <IO2Finding> mappedFidings = null; List <IO2Rule> o2Rules = o2RulesToUse.Cast <IO2Rule>().ToList(); switch (filterToApply) { case AvailableFilters.BasicSinksMapping: DI.log.info("Executing filter: BasicSinksMapping"); mappedFidings = Filter_BasicSinksMapping.applyFilter(o2TargetO2Findings, o2Rules); break; case AvailableFilters.CreateAllPartialTraces: DI.log.info("Executing filter: CreateAllPartialTraces"); mappedFidings = Filter_CreateAllPartialTraces.applyFilter(o2TargetO2Findings, o2Rules); break; case AvailableFilters.MapSinksToAllTraces: DI.log.info("Executing filter: MapSinksToAllTraces"); mappedFidings = Filter_MapSinksToAllTraces.applyFilter(o2TargetO2Findings, o2Rules, addFindingsWithNoMatches); break; case AvailableFilters.MapSourcesToAllTraces: DI.log.info("Executing filter: MapSourcesToAllTraces"); mappedFidings = Filter_MapSourcesToAllTraces.applyFilter(o2TargetO2Findings, o2Rules); break; case AvailableFilters.MapFirstSourcesThenSinksToAllTraces: DI.log.info("Executing filter: MapFirstSourcesThenSinksToAllTraces which has two steps"); DI.log.info("Step 1): MapFirstSourcesThenSinksToAllTraces->MapSourcesToAllTraces"); var sourceMappings = Filter_MapSourcesToAllTraces.applyFilter(o2TargetO2Findings, o2Rules); DI.log.info("Step 2): MapFirstSourcesThenSinksToAllTraces->MapSinksToAllTraces"); mappedFidings = Filter_MapSinksToAllTraces.applyFilter(sourceMappings, o2Rules, addFindingsWithNoMatches); break; } if (onCompletion != null) { onCompletion(mappedFidings); } })); }
public Thread executeFilter(AvailableFilters filterToApply, bool addFindingsWithNoMatches, O2Thread.FuncVoidT1<List<IO2Finding>> onCompletion) { var o2TargetO2Findings = findingsViewerSourceFindings.currentO2Findings; var o2RulesToUse = rulePackViewer.currentO2RulePack.o2Rules; return O2Thread.mtaThread( () => { List<IO2Finding> mappedFidings = null ; List<IO2Rule> o2Rules = o2RulesToUse.Cast<IO2Rule>().ToList(); switch (filterToApply) { case AvailableFilters.BasicSinksMapping: DI.log.info("Executing filter: BasicSinksMapping"); mappedFidings = Filter_BasicSinksMapping.applyFilter(o2TargetO2Findings, o2Rules); break; case AvailableFilters.CreateAllPartialTraces: DI.log.info("Executing filter: CreateAllPartialTraces"); mappedFidings = Filter_CreateAllPartialTraces.applyFilter(o2TargetO2Findings, o2Rules); break; case AvailableFilters.MapSinksToAllTraces: DI.log.info("Executing filter: MapSinksToAllTraces"); mappedFidings = Filter_MapSinksToAllTraces.applyFilter(o2TargetO2Findings, o2Rules, addFindingsWithNoMatches); break; case AvailableFilters.MapSourcesToAllTraces: DI.log.info("Executing filter: MapSourcesToAllTraces"); mappedFidings = Filter_MapSourcesToAllTraces.applyFilter(o2TargetO2Findings, o2Rules); break; case AvailableFilters.MapFirstSourcesThenSinksToAllTraces: DI.log.info("Executing filter: MapFirstSourcesThenSinksToAllTraces which has two steps"); DI.log.info("Step 1): MapFirstSourcesThenSinksToAllTraces->MapSourcesToAllTraces"); var sourceMappings = Filter_MapSourcesToAllTraces.applyFilter(o2TargetO2Findings, o2Rules); DI.log.info("Step 2): MapFirstSourcesThenSinksToAllTraces->MapSinksToAllTraces"); mappedFidings = Filter_MapSinksToAllTraces.applyFilter(sourceMappings, o2Rules, addFindingsWithNoMatches); break; } if (onCompletion != null) onCompletion(mappedFidings); }); }