Esempio n. 1
0
        /// <inheritdoc />
        /// <exception cref="InvalidOperationException">
        /// XML configuration doesn't contain element for appraisers manager with specified name.
        /// </exception>
        public void BuildAppraisersManager()
        {
            XElement appraiserManagerElement = _documentParser.FindElement(
                _appraisersManagerParameterName
                );

            if (appraiserManagerElement is null)
            {
                var ex = new InvalidOperationException(
                    $"XML document hasn't value for {_appraisersManagerParameterName}."
                    );
                _logger.Error(ex, "Cannot build AppraisersManager.");
                throw ex;
            }

            var appraisersOutput = XDocumentParser.GetAttributeValue <Boolean>(
                appraiserManagerElement, _appraisersOutputParameterName
                );

            _appraisersManager = new Appraisers.AppraisersManager(appraisersOutput);

            foreach (var element in appraiserManagerElement.Elements())
            {
                Appraisers.Appraiser crawler = _serviceBuilder.CreateAppraiser(element);
                _appraisersManager.Add(crawler);
            }
        }
Esempio n. 2
0
 /// <inheritdoc />
 public void Reset()
 {
     _inputManager      = null;
     _crawlersManager   = null;
     _appraisersManager = null;
     _outputManager     = null;
     _dataBaseManager   = null;
 }
Esempio n. 3
0
 /// <summary>
 /// Default constructor which initialize all managers.
 /// </summary>
 /// <exception cref="ArgumentNullException">
 /// <paramref name="inputManager" /> or <paramref name="crawlersManager" /> or
 /// <paramref name="appraisersManager" /> or <paramref name="outputManager" /> is
 /// <c>null</c>.
 /// </exception>
 public Shell(
     IO.Input.InputManager inputManager,
     Crawlers.CrawlersManager crawlersManager,
     Appraisers.AppraisersManager appraisersManager,
     IO.Output.OutputManager outputManager,
     DAL.DataBaseManager dataBaseManager)
 {
     InputManager      = inputManager.ThrowIfNull(nameof(inputManager));
     CrawlersManager   = crawlersManager.ThrowIfNull(nameof(crawlersManager));
     AppraisersManager = appraisersManager.ThrowIfNull(nameof(appraisersManager));
     OutputManager     = outputManager.ThrowIfNull(nameof(outputManager));
     DataBaseManager   = dataBaseManager.ThrowIfNull(nameof(dataBaseManager));
 }