public bool Process(IDataItemWrapper <TDataItem> wrapper) { if (!_state.NeedToContinue(wrapper)) { return(false); } Exception exception; if (!TrySafeExecute(() => { _driver.Process(wrapper); if (_nodeDefinition.SingleCall) { wrapper.Exclude(); } }, out exception)) { WrapException(wrapper, exception); } _state.IsExcluded = wrapper.GetAndResetExclude(); if (wrapper.IsStopped) { _state.IsStopped = true; if (!TrySafeExecute(() => _driver.Commit(), out exception)) { WrapCommitException(wrapper, exception); } } _state.LastNumber = wrapper.Number; return(true); }
public bool Step(IDataItemWrapper <TDataItem> dataItemWrapper) { SetNumber(dataItemWrapper); var root = _provider.GetRoot(); return(DoStep(dataItemWrapper, root)); }
public void Process(IDataItemWrapper <FileMoverData> item) { if (_streamWriter == null) { _streamWriter = new StreamWriter(new FileStream(_filePath, FileMode.Create, FileAccess.Write)); } _streamWriter.WriteLine(item.Item.Number); }
public void Process(IDataItemWrapper <SourceContext> item) { _sourceReader.Read(item.Item); if (_sourceReader.IsEnd) { item.Stop(); } }
public void Run() { _current = new DataItemWrapper <TDataItem>(); while (Step(_current)) { _current.Reset(); } }
public void Process(IDataItemWrapper <string> item) { _messages.Add($"Data{_counter++}"); Trace.WriteLine(_messages.Last()); if (_counter == 3) { item.Stop(); } }
private static void SetNumber(IDataItemWrapper <TDataItem> dataItemWrapper) { if (dataItemWrapper.Number.HasValue) { dataItemWrapper.Number++; } else { dataItemWrapper.Number = 0; } }
public void Process(IDataItemWrapper <FileMoverData> item) { if (_streamWriter == null) { _streamWriter = new StreamWriter(new FileStream(_filePath, FileMode.Create, FileAccess.Write)); } if (item.Exceptions.Any()) { _streamWriter.WriteLine(item.Item.StringNumber); item.Skip(); } }
public void Process(IDataItemWrapper <FileMoverData> item) { if (_streamReader == null) { _streamReader = new StreamReader(new FileStream(_filePath, FileMode.Open, FileAccess.Read)); } var line = _streamReader.ReadLine(); item.Item = new FileMoverData(); item.Item.StringNumber = line; item.Item.Number = int.Parse(line); if (_streamReader.EndOfStream) { item.Stop(); } }
private bool DoStep(IDataItemWrapper <TDataItem> dataItemWrapper, NodeDefinition nodeDefinition) { if (nodeDefinition.RunOver && !_excludeSubTree) { RunOnSubTree(nodeDefinition.Name); return(true); } var node = _registry.GetNode(nodeDefinition.Name); bool isOver = false; foreach (var dependsOn in nodeDefinition.DependsOn) { var next = _provider.GetByName(dependsOn); isOver |= DoStep(dataItemWrapper, next); } isOver |= node.Process(dataItemWrapper); return(isOver); }
public void Process(IDataItemWrapper <SourceContext> item) { _transformer.Transform(item.Item); }
private void WrapCommitException(IDataItemWrapper <TDataItem> wrapper, Exception exception) { wrapper.SetCommitException(exception, _nodeDefinition.Name); }
public void Process(IDataItemWrapper <string> item) { _messages.Add("LastCall"); Trace.WriteLine(_messages.Last()); }
public bool NeedToContinue(IDataItemWrapper <TDataItem> wrapper) { return(!IsStopped && LastNumber != wrapper.Number && !IsExcluded && !wrapper.IsSkipped); }
public void Process(IDataItemWrapper <SourceContext> item) { _schemator.Schema(item.Item); }
public void Process(IDataItemWrapper <SourceContext> item) { _filterer.Filter(item.Item); }
public void Process(IDataItemWrapper <SourceContext> item) { item.Item = new SourceContext(); }
public void Process(IDataItemWrapper <string> item) { _processAction(item); }
public void Process(IDataItemWrapper <SourceContext> item) { _cleanuper.Cleanup(item.Item); }
public void Process(IDataItemWrapper <SourceContext> item) { _sourceWriter.Write(item.Item); }