Ejemplo n.º 1
0
        private void initializePatterns()
        {
            if (_patterns == null)
            {
                _patterns = new List <PatternBase>();

                foreach (ConfigurableElement patternConfiguration in AcroniManagerConfigurationSection.Instance.Patterns)
                {
                    Type patternType = ConfigurableBase.GetType(patternConfiguration.Class, typeof(PatternBase), "pattern");

                    Data.Matcher matcher = MatcherFactory.GetMatcher(patternConfiguration);

                    if (patternConfiguration.Configurations == null ||
                        patternConfiguration.Configurations.Count == 0)
                    {
                        CreatePattern(patternType, null, matcher);
                    }
                    else
                    {
                        foreach (ParameterizableConfigurationElement executionConfiguration in patternConfiguration.Configurations)
                        {
                            CreatePattern(patternType, executionConfiguration, matcher);
                        }
                    }
                }
            }
        }
Ejemplo n.º 2
0
        private void initializeCheckers()
        {
            if (_checkers == null)
            {
                _checkers = new List <CheckerBase>();
                foreach (ConfigurableElement checkerConfiguration in AcroniManagerConfigurationSection.Instance.Checkers)
                {
                    Type      checkerType = ConfigurableBase.GetType(checkerConfiguration.Class, typeof(CheckerBase), "checker");
                    Validator validator   = ValidatorFactory.GetValidator(checkerConfiguration);

                    if (checkerConfiguration.Configurations == null ||
                        checkerConfiguration.Configurations.Count == 0)
                    {
                        CreateChecker(checkerType, null, validator);
                    }
                    else
                    {
                        foreach (ParameterizableConfigurationElement executionConfiguration in checkerConfiguration.Configurations)
                        {
                            CreateChecker(checkerType, executionConfiguration, validator);
                        }
                    }
                }
            }
        }
Ejemplo n.º 3
0
        private void CreateChecker(Type checkerType, ParameterizableConfigurationElement checkerConfiguration, Validator validator)
        {
            CheckerBase checker = ConfigurableBase.CreateConfigurableItem <CheckerBase>(checkerType, checkerConfiguration != null ? checkerConfiguration.Parameters : null);

            checker.Arrangement = ArrangementFactory.GetArrangement(checkerConfiguration, validator);

            _checkers.Add(checker);
        }
Ejemplo n.º 4
0
        private void CreatePattern(Type patternType, ParameterizableConfigurationElement patternConfiguration, Data.Matcher matcher)
        {
            PatternBase pattern = ConfigurableBase.CreateConfigurableItem <PatternBase>(patternType, patternConfiguration != null ? patternConfiguration.Parameters : null);

            pattern.Configuration = ConfigurationFactory.GetConfiguration(patternConfiguration, matcher);

            _patterns.Add(pattern);
        }
Ejemplo n.º 5
0
        private void initializeLeechers()
        {
            if (_leechers == null)
            {
                _leechers = new List <LeecherBase>();

                foreach (LeecherElement leecherConfiguration in AcroniManagerConfigurationSection.Instance.Leechers)
                {
                    Type leecherType = ConfigurableBase.GetType(leecherConfiguration.Class, typeof(LeecherBase), "leecher");

                    Crawler crawler = CrawlerFactory.GetCrawler(leecherConfiguration);

                    foreach (ExecutionElement executionConfiguration in leecherConfiguration.Executions)
                    {
                        ValidateConfiguration(executionConfiguration);
                        LeecherBase leecher = ConfigurableBase.CreateConfigurableItem <LeecherBase>(leecherType, executionConfiguration.Parameters);
                        leecher.Execution = ExecutionFactory.GetExecution(executionConfiguration, crawler);
                        _leechers.Add(leecher);
                    }
                }
            }
        }