public void Initialize() { _fileDataSource = TestHelpers.CreateFileDataSource <ParserContext10>("test-file-data.10.csv", false); _textDecoder = new TextDecoder { Pattern = @"*.", FailValidationResult = ValidationResultType.Critical }; _fileProcessorDefinition = new FileProcessorDefinition10 { HeaderRowProcessorDefinition = new RowProcessorDefinition { FieldProcessorDefinitions = new FieldProcessorDefinition[] { }, }, DataRowProcessorDefinition = new RowProcessorDefinition { FieldProcessorDefinitions = new FieldProcessorDefinition[] { new FieldProcessorDefinition { Decoder = _textDecoder, FieldName = "FieldA", Description = "Field A" }, new FieldProcessorDefinition { Decoder = _textDecoder, FieldName = "FieldB", Description = "Field B" }, new FieldProcessorDefinition { Decoder = _textDecoder, FieldName = "FieldC", Description = "Field C" } } }, TrailerRowProcessorDefinition = new RowProcessorDefinition { FieldProcessorDefinitions = new FieldProcessorDefinition[] { } } }; }
private static void ValidateProcessorDefinition(FileProcessorDefinition10 processorDefinition) { if (processorDefinition is null) { throw new ArgumentNullException(nameof(processorDefinition)); } ParsedDataProcessorHelper.ValidateRowProcessorDefinition("Header", processorDefinition.HeaderRowProcessorDefinition); ParsedDataProcessorHelper.ValidateRowProcessorDefinition("Data", processorDefinition.DataRowProcessorDefinition); ParsedDataProcessorHelper.ValidateRowProcessorDefinition("Trailer", processorDefinition.TrailerRowProcessorDefinition); }
public ParsedDataProcessor10(IDataSource <ParserContext10> source, FileProcessorDefinition10 fileProcessorDefinition) : base(source, fileProcessorDefinition.HeaderRowProcessorDefinition.FieldProcessorDefinitions.Length > 0, fileProcessorDefinition.TrailerRowProcessorDefinition.FieldProcessorDefinitions.Length > 0) { ValidateProcessorDefinition(fileProcessorDefinition); _fileProcessorDefinition = fileProcessorDefinition; _source.BeforeProcessRow += SourceBeforeProcessRow; _source.AfterProcessRow += SourceAfterProcessRow; _source.ProcessField += SourceProcessField; }
public static FileProcessorDefinition10 CreateFileProcessorDefinition(InputDefinitionFile10 inputDefinitionFile_10) { var aggregateManager = new AggregateManager(); var processorDefinition = new FileProcessorDefinition10(); InitializeFileProcessorDefinition(processorDefinition, inputDefinitionFile_10, aggregateManager); processorDefinition.DataRowProcessorDefinition = LoadRowProcessorDefinition(inputDefinitionFile_10.Data, aggregateManager); InitializeRules(processorDefinition.DataRowProcessorDefinition.FieldProcessorDefinitions.SelectMany(a => a.Rules), aggregateManager.GetAggregates()); InitializeRules(processorDefinition.TrailerRowProcessorDefinition.FieldProcessorDefinitions.SelectMany(a => a.Rules), aggregateManager.GetAggregates()); return(processorDefinition); }