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); }
public static void Main(string[] args) { var options = new Options(); var parser = new CommandLine.Parser(); if (parser.ParseArguments(args, options)) { var configManager = new CliConfigManager(); Config = configManager.GetConfig(); var configEntry = Config.Areas.FirstOrDefault(x => x.Id.Equals(options.ServiceEndpoint)); if (configEntry == null) { Console.WriteLine("Invalid endpoint!"); return; } var service = new Bus13RouteDataService(configEntry.Endpoint, configEntry.Id); if (options.List) { ListVehicles(service); } if (options.Trace) { if (string.IsNullOrEmpty(options.VehicleId)) { Console.WriteLine("Vehicle id must be supplied!"); return; } if (!string.IsNullOrEmpty(options.OutputDir) && !Directory.Exists(options.OutputDir)) { Console.WriteLine("Directory {0} doesn't exist!", options.OutputDir); return; } IVehicleTraceOutputWriter outputWriter = null; if (string.IsNullOrEmpty(options.OutputType) || string.Equals("kml", options.OutputType, StringComparison.InvariantCultureIgnoreCase)) { outputWriter = new KmlOutputWriter(GetOutputDir(options)); } if (string.Equals("json", options.OutputType, StringComparison.InvariantCultureIgnoreCase)) { outputWriter = new JsonOutputWriter(GetOutputDir(options)); } if (outputWriter == null) { outputWriter = new KmlOutputWriter(GetOutputDir(options)); } Trace(service, options.VehicleId, outputWriter); Console.ReadKey(); } } }