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 WurmServers( IWurmLogsHistory wurmLogsHistory, IWurmLogsMonitorInternal wurmLogsMonitor, IWurmServerList wurmServerList, IHttpWebRequests httpWebRequests, string dataDirectory, IWurmCharacterDirectories wurmCharacterDirectories, IWurmServerHistory wurmServerHistory, ILogger logger) { if (wurmLogsHistory == null) throw new ArgumentNullException("wurmLogsHistory"); if (wurmLogsMonitor == null) throw new ArgumentNullException("wurmLogsMonitor"); if (wurmServerList == null) throw new ArgumentNullException("wurmServerList"); if (httpWebRequests == null) throw new ArgumentNullException("httpWebRequests"); if (dataDirectory == null) throw new ArgumentNullException("dataDirectory"); if (wurmCharacterDirectories == null) throw new ArgumentNullException("wurmCharacterDirectories"); if (wurmServerHistory == null) throw new ArgumentNullException("wurmServerHistory"); if (logger == null) throw new ArgumentNullException("logger"); liveLogsDataQueue = new LiveLogsDataQueue(wurmLogsMonitor); LiveLogs liveLogs = new LiveLogs(liveLogsDataQueue, wurmServerHistory); persistentCollectionsLibrary = new PersistentCollectionsLibrary(new FlatFilesPersistenceStrategy(dataDirectory), new PersObjErrorHandlingStrategy(logger)); var persistent = persistentCollectionsLibrary.DefaultCollection.GetObject<ServersData>("WurmServers"); LogHistorySaved logHistorySaved = new LogHistorySaved(persistent); LogHistory logHistory = new LogHistory(wurmLogsHistory, wurmCharacterDirectories, wurmServerHistory, logHistorySaved, new LogEntriesParser()); WebFeeds webFeeds = new WebFeeds(httpWebRequests, wurmServerList, logger); runner = new QueuedJobsSyncRunner<Job, JobResult>(new JobRunner(liveLogs, logHistory, webFeeds, persistentCollectionsLibrary), logger); wurmServerFactory = new WurmServerFactory(runner); var descriptions = wurmServerList.All; foreach (var serverDescription in descriptions) { RegisterServer(serverDescription); } }
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); }
public void Setup() { DataDir = TempDirectoriesFactory.CreateEmpty(); var lib = new PersistentCollectionsLibrary(new FlatFilesPersistenceStrategy(DataDir.AbsolutePath)); System = new SortedServerHistory(lib.DefaultCollection.GetObject<WurmApi.Modules.Wurm.ServerHistory.PersistentModel.ServerHistory>("default")); }