protected void OnSingleFileCrawlFinished(ReportProgressEventArgs e) { EventHandler<ReportProgressEventArgs> handler = SingleFileCrawlFinished; if (handler != null) { handler(this, e); } }
void regExCrawler_SingleFileCrawlFinished(object sender, ReportProgressEventArgs e) { // report progress if (SingleFileCrawlFinished != null) { SingleFileCrawlFinished(this, e); } }
private void RegExTractorSimpleWorkflow_SingleFileCrawlFinished(object sender, ReportProgressEventArgs e) { OnSingleFileCrawlFinished(e); }
void fileIterator_SingleFileProcessed(object sender, ReportProgressEventArgs e) { OnSingleFileCrawlFinished(e); }
void workflow_SingleFileCrawlFinished(object sender, ReportProgressEventArgs e) { if (this.InvokeRequired) { BeginInvoke(new MethodInvoker(delegate() { workflow_SingleFileCrawlFinished(sender, e); })); } else labelProgress.Text = e.Message; }
/// <summary> /// Parse the given content with the given search terms. /// </summary> /// <param name="SearchTerms"></param> /// <param name="Content"></param> /// <param name="FileName"></param> /// <param name="FileFolder"></param> /// <returns></returns> public List<Finding> Crawl(List<RegExSearchTerm> SearchTerms, string Content, string FileName, string FileFolder) { var findingResultList = new List<Finding>(); // iterate through search terms // each search term may result in a finding // this finding will be added to finding result list foreach (var searchTerm in SearchTerms) { var finding = new Finding() { Expression = searchTerm.Expression, ExpressionFriendlyName = searchTerm.ExpressionFriendlyName, FileName = FileName, FileFolder = FileFolder, Match = new List<RegExTractorMatchCollection>() }; var regEx = new Regex(searchTerm.Expression); var regExMatchCollection = regEx.Matches(Content); // the System.Text.RegularExpression.Regex.Matches has not index // so we have to count the iterations by ourself int matchCount = 0; // iterate through match collection foreach (Match regExMatch in regExMatchCollection) { // increase matchCount matchCount++; // create a new RegExtractorMatchCollection var resultMatchCollection = new RegExTractorMatchCollection() { // set the id of the collection Id = matchCount, MatchCollection = new List<RegExTractorMatch>() }; // count match groups var groupsCount = regExMatch.Groups.Count; // loop throug groups for (int g = 0; g < groupsCount; g++) { // create a single RegExTractorMatch var resultMatch = new RegExTractorMatch() { Id = g + 1, Match = regExMatch.Groups[g].Value }; // add this match to result collection resultMatchCollection.MatchCollection.Add(resultMatch); } // add the result match collection to finding result finding.Match.Add(resultMatchCollection); } // add finding to findig list findingResultList.Add(finding); // report progress var eventArgs = new ReportProgressEventArgs(); eventArgs.Message = String.Format(@"Finished search for expression {0} in file {1}\{2}", searchTerm.ExpressionFriendlyName, FileFolder, FileName); OnSingleFileCrawlFinished(eventArgs); } if (findingResultList == null) throw new ArgumentNullException(); return findingResultList; }