public void ForEach(EntryIterator iterator) { foreach (var f in fileTable) { iterator(f.name, f.size, () => GetStream(f)); } }
public void ShouldReturnNullAsCurrentForEmptyList() { var iterator = new EntryIterator <LogEntry>(); iterator.SetList(new List <LogEntry>().ToArray()); Assert.That(iterator.Current, Is.Null); }
public override string ToString() { var sb = new StringBuilder("["); IEnumerator <KeyValuePair <object, V> > iter1 = new EntryIterator(this.outerInstance, false); while (iter1.MoveNext()) { KeyValuePair <object, V> entry = iter1.Current; if (sb.Length > 1) { sb.Append(", "); } if (entry.Key.GetType().Equals(typeof(char[]))) { sb.Append(new string((char[])entry.Key)); } else { sb.Append(entry.Key); } sb.Append("="); sb.Append(entry.Value); } return(sb.Append(']').ToString()); }
public IEntryIterator <LogEntry> GetLocator() { var locator = new EntryIterator <LogEntry>(); locator.SetList(_entries.ToArray()); return(locator); }
/// <summary> /// Initializes a new instance of the <see cref="AbstractMap"/> class. /// </summary> /// <param name="capacity">The capacity.</param> /// <param name="factor">The factor.</param> public AbstractMap(int capacity, float factor) { loadFactor = factor; threshold = (int)(capacity * loadFactor); entryArray = new IEntry[capacity]; comparator = EqualityEquals.Instance; _entryIterator = new EntryIterator(this); _capacity = capacity; }
/// <summary> /// Keys the iterator. /// </summary> /// <returns></returns> public virtual IEnumerator keyIterator() { if (_entryIterator == null) { _entryIterator = new EntryIterator(this); } _entryIterator.Reset(); return(_entryIterator); }
/// <summary> /// Initializes a new instance of the <see cref="AbstractMap"/> class. /// </summary> /// <param name="capacity">The capacity.</param> /// <param name="factor">The factor.</param> public AbstractMap(int capacity, float factor) { loadFactor = factor; threshold = (int) (capacity*loadFactor); entryArray = new IEntry[capacity]; comparator = EqualityEquals.Instance; _entryIterator = new EntryIterator(this); _capacity = capacity; }
private async void UpdateLocators() { await Task.Run(() => { var iterator = new EntryIterator <LogEntry>(); iterator.SetList(fastObjectListView.Objects.Cast <LogEntry>().ToArray()); var l = new DbInstallStartLocator(); }); }
public void ShouldIterateProperly() { var list = new List <LogEntry>(); list.Add(new LogEntry() { Message = "1" }); list.Add(new LogEntry() { Message = "2" }); list.Add(new LogEntry() { Message = "3" }); list.Add(new LogEntry() { Message = "4" }); var iterator = new EntryIterator <LogEntry>(); iterator.SetList(list.ToArray()); Assert.That(iterator.Current.Message, Is.EqualTo("1")); iterator.Next(); Assert.That(iterator.Current.Message, Is.EqualTo("2")); iterator.Last(); Assert.That(iterator.Current.Message, Is.EqualTo("4")); iterator.Next(); Assert.That(iterator.Current.Message, Is.EqualTo("4")); iterator.Previous(); Assert.That(iterator.Current.Message, Is.EqualTo("3")); iterator.Reset(); Assert.That(iterator.Current.Message, Is.EqualTo("1")); iterator.Previous(); Assert.That(iterator.Current.Message, Is.EqualTo("1")); }
/// <summary> /// Keys the iterator. /// </summary> /// <returns></returns> public virtual IEnumerator keyIterator() { if (_entryIterator == null) { _entryIterator = new EntryIterator(this); } _entryIterator.Reset(); return _entryIterator; }
static void Main(string[] args) { var logConfig = new LogConfiguration <DbInstallLogEntry> { FileLocateConfig = new FileLocateConfig { Directories = new List <string>() { @"C:\Dev\log-examples\dbinstall" }, FileMasks = new List <string>() { @"DBInstall.log(.\d*)?" } }, StartCheckers = new List <IEntryStartChecker>() { new DbInstallEntryStartChecker() }, EntryParsers = new List <IEntryParser <DbInstallLogEntry> >() { new DbInstallEntryParser() }, MessageParsers = new List <IEntryMessageParser <DbInstallLogEntry> > { new DacPacDeployStatusParser() }, Locators = new List <IEntryCollector> { new DacpacSuccessLocator(), new DbInstallStartLocator() } }; var locator = new FileLocator(); var files = locator.Locate(logConfig.FileLocateConfig).ToArray(); files.OrderByDescending(fi => fi.LastWriteTime).ToList().ForEach(f => Console.WriteLine(@"Name: {0}. Created: {1}", f.Name, f.LastWriteTime)); var logFileProcesser = new LogFileProcessor(); foreach (var fileInfo in files) { var entries = logFileProcesser.Process(fileInfo.FullName, logConfig.StartCheckers.ToArray(), logConfig.EntryParsers.ToArray()).Cast <DbInstallLogEntry>().ToArray(); var iterator = new EntryIterator <LogEntry>(); iterator.SetList(entries); foreach (var item in entries) { iterator.SetCurrent(item); logConfig.MessageParsers.ToList().ForEach(p => p.Parse(item)); logConfig.Locators.ToList().ForEach(c => c.Analize(item, iterator)); } Console.WriteLine(@"File {0} has {1} entries. Errors {2}. Dacpack: {3}", fileInfo.Name, entries.Count(), entries.Count(e => e.IsParseError), entries.Count(e => e.IsDacpack)); entries.Where(e => e.DacpackStatus == "SUCCESS").ToList().ForEach(e => Console.WriteLine(e.Message)); } var fileWatcher = new FileSystemWatcher(); fileWatcher.Path = Path.GetDirectoryName(files.First().FullName); fileWatcher.Filter = files.First().Name; fileWatcher.NotifyFilter = NotifyFilters.LastWrite; fileWatcher.EnableRaisingEvents = true; fileWatcher.Changed += (source, e) => { //Console.WriteLine("{0} lines added to the file.", newLines.Count()); }; Console.ReadKey(); }