/// <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); } }
/// <inheritdoc /> public void Reset() { _inputManager = null; _crawlersManager = null; _appraisersManager = null; _outputManager = null; _dataBaseManager = null; }
/// <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)); }