Beispiel #1
0
        public void should_parse_generic_parameters()
        {
            var constructorString =
                "CSharpConstructor:CurrencyChoiceHasSignificantSpreadRequirement(Func<CurrencyChoiceCorpAction,IValueWithSource>,ICurrencyAmountConverter,ICorporateActionRepository)";
            var expected = new[] { "Func<CurrencyChoiceCorpAction,IValueWithSource>", "ICurrencyAmountConverter", "ICorporateActionRepository" };

            var parameters = _provider.GetParameters(constructorString).ToArray();

            Assert.That(parameters, Is.EquivalentTo(expected));
        }
Beispiel #2
0
        /// <summary>
        /// Выполнение задачи
        /// </summary>
        /// <param name="parameters">Провайдер параметров</param>
        public void Run(ParameterProvider parameters)
        {
            var enc = String.IsNullOrEmpty(_fileEncoding) ? System.Text.Encoding.UTF8 : System.Text.Encoding.GetEncoding(_fileEncoding);

            _filePath = parameters.Parse(_filePath).First();
            File.WriteAllText(_filePath, parameters.GetParameters()[_key], enc);
        }
Beispiel #3
0
        /// <summary>
        /// Создание задачи из XML-определения
        /// </summary>
        /// <param name="declaration">XML-определение</param>
        /// <returns></returns>
        public void Run(ParameterProvider paramProvider)
        {
            var    param       = CreateLogParserParams(paramProvider.GetParameters());
            var    queryFile   = paramProvider.Parse(_queryFile).First();
            string headerParam = null;

            if ("TSV".Equals(_inputFormat, StringComparison.InvariantCultureIgnoreCase))
            {
                headerParam = string.Format("-headerRow:{0}", _headerRow ? "on" : "off");
            }
            var args = String.Format("-i:{3} file:{0}?{1} {2} -o:\"{4}\" {5}", queryFile, param, headerParam, _inputFormat, _outputFormat, _otherParams);

            Application.Log(LogLevel.Informational, args);
            var cmd = new ProcessStartInfo(@"Binaries\LogParser\LogParser.exe", args);

            cmd.UseShellExecute = false;
            Process.Start(cmd).WaitForExit();
        }
Beispiel #4
0
        /// <summary>
        /// Запуск задачи
        /// </summary>
        /// <param name="parameters">Провайдер параметров</param>
        public void Run(ParameterProvider parameters)
        {
            System.Threading.Thread.Sleep(5000);
            FormatCompiler compiler = new FormatCompiler();

            if (string.IsNullOrWhiteSpace(_template) && !string.IsNullOrWhiteSpace(_templateFile))
            {
                _template = File.ReadAllText(parameters.Parse(_templateFile).First());
            }

            //Компилция шаблона
            Generator generator = compiler.Compile(_template);

            //В шаблоне можно использовать все параметры, заданные в конфигурации.
            var _templateParams = new Dictionary <string, object>();

            foreach (var param in parameters.GetParameters())
            {
                _templateParams.Add(param.Key, param.Value);
            }


            foreach (var param in _paramsDescription)
            {
                object value    = null;
                var    filePath = parameters.Parse(param.FilePath).First();
                var    enc      = String.IsNullOrEmpty(param.Encoding) ? System.Text.Encoding.UTF8 : System.Text.Encoding.GetEncoding(param.Encoding);

                if (File.Exists(filePath))
                {
                    switch (param.Mode)
                    {
                    case "text":
                        if (param.HasHeaders)
                        {
                            value = string.Join("\n", File.ReadAllLines(filePath).Skip(1));
                        }
                        else
                        {
                            value = File.ReadAllText(filePath, enc);
                        }
                        break;

                    case "csv":
                        value = File.ReadAllLines(filePath, enc).Skip(param.HasHeaders ? 1 : 0).Select(x => x.Split(';')).ToList();
                        break;

                    case "tsv":
                        value = File.ReadAllLines(filePath, enc).Skip(param.HasHeaders ? 1 : 0).Select(x => x.Split('\t')).ToList();
                        break;

                    default:
                        value = File.ReadAllText(filePath, enc);
                        break;
                    }
                }



                _templateParams.Add(param.Name, value);
            }

            parameters.AddParameter(_outputParam, generator.Render(_templateParams));
        }