Example #1
0
        public HelixAnalyzerService(XmlNode configNode, IDataSourceLocation dataSourceLocation,
                                    ICerberusVariablesReplacer variablesReplacer) : base(
                variablesReplacer)
        {
            _dataSourceLocation = dataSourceLocation;
            if (configNode == null)
            {
                return;
            }

            var analyzers = GetAnalyzers(configNode, out var provider);

            _logProvider = GetLogContainer(configNode);

            foreach (var node in analyzers)
            {
                var ruleProvider = RegisterRules(node);
                var type         = XmlActivator.GetType(node);
                if (type != null)
                {
                    provider.Register(type,
                                      () => XmlActivator.CreateInstance(type, node, new[] { provider, ruleProvider, _logProvider }),
                                      true);

                    if (provider.Resolve(type) is IHelixAnalyzer resolve)
                    {
                        Analyzers.Add(resolve);
                    }
                }
            }
        }
 public RainbowConfigurationService(string configPath, IHelixModuleProvider helixModuleProvider,
                                    IDataSourceLocation dataSourceLocation,
                                    ICerberusVariablesReplacer variablesReplacer) :
     base(configPath, helixModuleProvider, variablesReplacer)
 {
     _helixModuleProvider = helixModuleProvider;
     _dataSourceLocation  = dataSourceLocation;
 }
 public HelixConfigurationService(string configPath, IHelixModuleProvider moduleProvider,
                                  ICerberusVariablesReplacer variablesReplacer) :
     base(
         variablesReplacer)
 {
     ConfigPath      = configPath;
     _moduleProvider = moduleProvider;
 }