public LogRecordTemplate(StructureConfig configParameters)
 {
     _data.SetProbability(configParameters);
     _ipAddressGenerator = new IpAddressGenerator(_random, _data.UniqueIpCount);
     _hyphenGenerator = new HyphenGenerator();
     _userIdGenerator = new UserIdGenerator(_random);
     _dateGenerator = new DateGenerator(_random);
     _requestLineGenerator = new RequestLineGenerator(_random, _data.RequestLineParameters);
     _codeDefinitionGenerator = new CodeDefinitionGenerator(_random, _data.Codes);
     _fileSizeGenerator = new FileSizeGenerator(_random);
 }
Пример #2
0
        public void SetProbability(StructureConfig config)
        {
            if (config.ContainsKey(Keys.Ip))
                if (config[Keys.Ip].ContainsKey(Keys.UniqueIp))
                {
                    UniqueIpCount.Value = int.Parse(config[Keys.Ip][Keys.UniqueIp]);
                    UniqueIpCount.Probability = 1;
                }

            if (config.ContainsKey(Keys.Codes))
                foreach (var code in _codes)
                    code.Probability = config[Keys.Codes].ContainsKey(code.Value.ToString(CultureInfo.InvariantCulture))
                        ? config[Keys.Codes].CastValueToInt()[code.Value.ToString(CultureInfo.InvariantCulture)]
                        : 0;

            if (config.ContainsKey(Keys.Methods))
                foreach (var method in _requestLineParameters.Methods)
                    method.Probability = config[Keys.Methods].ContainsKey(method.Value)
                        ? config[Keys.Methods].CastValueToInt()[method.Value]
                        : 0;

            if (config.ContainsKey(Keys.Versions))
                foreach (var version in _requestLineParameters.Versions)
                    version.Probability = config[Keys.Versions].ContainsKey(version.Value)
                        ? config[Keys.Versions].CastValueToInt()[version.Value]
                        : 0;

            if (config.ContainsKey(Keys.Protocols))
                foreach (var protocol in _requestLineParameters.Protocols)
                    protocol.Probability = config[Keys.Protocols].ContainsKey(protocol.Value)
                        ? config[Keys.Protocols].CastValueToInt()[protocol.Value]
                        : 0;

            if (config.ContainsKey(Keys.FileExtensions))
                foreach (var extension in _requestLineParameters.FileExtensions)
                    extension.Probability = config[Keys.FileExtensions].ContainsKey(extension.Value)
                        ? config[Keys.FileExtensions].CastValueToInt()[extension.Value]
                        : 0;
        }
 public LogFileGenerator(StructureConfig configParameters)
 {
     _configParameters = configParameters;
     _logRecordTemplate = new LogRecordTemplate(_configParameters);
 }