Exemplo n.º 1
0
 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);
 }
Exemplo n.º 2
0
Arquivo: Runner.cs Projeto: fhelje/HPE
        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();
        }
Exemplo n.º 3
0
 public XmlParser(IParserDefinition parserDefinition)
 {
     _nodeParser = new NodeParser(parserDefinition);
 }
Exemplo n.º 4
0
 public NodeParser(IParserDefinition parserDefinition)
 {
     _parserDefinition = parserDefinition;
 }