public WurmLogsHistory([NotNull] IWurmLogFiles wurmLogFiles, [NotNull] ILogger logger, [NotNull] string heuristicsDataDirectory, [NotNull] LogFileStreamReaderFactory logFileStreamReaderFactory, [NotNull] IWurmApiConfig wurmApiConfig) { if (wurmLogFiles == null) throw new ArgumentNullException("wurmLogFiles"); if (logger == null) throw new ArgumentNullException("logger"); if (heuristicsDataDirectory == null) throw new ArgumentNullException("heuristicsDataDirectory"); if (logFileStreamReaderFactory == null) throw new ArgumentNullException("logFileStreamReaderFactory"); if (wurmApiConfig == null) throw new ArgumentNullException("wurmApiConfig"); var persistentLibrary = new PersistentCollectionsLibrary(new FlatFilesPersistenceStrategy(heuristicsDataDirectory), new PersObjErrorHandlingStrategy(logger)); var heuristicsCollection = persistentLibrary.GetCollection("heuristics"); var logsScannerFactory = new LogsScannerFactory( new LogFileParserFactory(logger), logFileStreamReaderFactory, new MonthlyLogFilesHeuristics( heuristicsCollection, wurmLogFiles, new MonthlyHeuristicsExtractorFactory(logFileStreamReaderFactory, logger, wurmApiConfig)), wurmLogFiles, logger, wurmApiConfig); runner = new QueuedJobsSyncRunner<LogSearchParameters, ScanResult>( new ScanJobExecutor(logsScannerFactory, persistentLibrary, logger), logger); }
public WurmServerHistory( string dataDirectoryFullPath, IWurmLogsHistory wurmLogsHistory, IWurmServerList wurmServerList, ILogger logger, IWurmLogsMonitorInternal wurmLogsMonitor, IWurmLogFiles wurmLogFiles) { var persistentLibrary = new PersistentCollectionsLibrary(new FlatFilesPersistenceStrategy(dataDirectoryFullPath), new PersObjErrorHandlingStrategy(logger)); var collection = persistentLibrary.GetCollection("serverhistory"); var providerFactory = new ServerHistoryProviderFactory( collection, wurmLogsHistory, wurmServerList, logger, wurmLogsMonitor, wurmLogFiles); runner = new QueuedJobsSyncRunner<object, ServerName>(new JobExecutor(providerFactory, persistentLibrary), logger); }