public PipelineCreator( IParserDefinition definition, WriterConfiguration config, VariantType variant ) { _definition = definition; _configuration = config; _variant = variant; _singleWriterExecution = new ExecutionDataflowBlockOptions { MaxDegreeOfParallelism = 1 }; _options = new ExecutionDataflowBlockOptions { MaxDegreeOfParallelism = Environment.ProcessorCount, BoundedCapacity = 1000000, MaxMessagesPerTask = 10000 }; _linkOptions = new DataflowLinkOptions { PropagateCompletion = true }; _plDictionary = new Dictionary <string, HierarchyNode>(); _hierarchyRoot = new HPEHierarchyNode(); _csvOutputWriter = new CsvOutputWriter(config); _jsonOutputWriter = new JsonOutputWriter(config); }
protected async Task Import(WriterConfiguration config, IParserDefinition parserDefinition, VariantType variant) { var sw = new Stopwatch(); sw.Start(); const FileTypes fileTypes = FileTypes.Detail | FileTypes.Link | FileTypes.Marketing | FileTypes.Option | FileTypes.Option | FileTypes.Product | FileTypes.Specification | FileTypes.Supplier | FileTypes.Json; FileHelpers.DeleteExistingFiles(fileTypes, config); Console.WriteLine("Deleting files"); var(pipeline, targetTask) = new PipelineCreator(parserDefinition, config, variant).CreatePipeline(); await pipeline.SendAsync(config).ConfigureAwait(false); pipeline.Complete(); await targetTask.ContinueWith(_ => { sw.Stop(); Console.WriteLine($"Done in {sw.Elapsed.ToString()}"); }).ConfigureAwait(false); Console.ReadLine(); }
public XmlParser(IParserDefinition parserDefinition) { _nodeParser = new NodeParser(parserDefinition); }
public NodeParser(IParserDefinition parserDefinition) { _parserDefinition = parserDefinition; }