public AsyncDatabaseInitializeRequest( DatabaseManagerConfig config, Logger logger) { m_dbManager = new DatabaseManager(config); m_logger = logger; m_thread = null; m_exitedSignal = null; m_succeeded = false; }
private static bool InitializeDatabase( Logger logger) { DatabaseManagerConfig dbConfig = new DatabaseManagerConfig( ApplicationConstants.CONNECTION_STRING, ApplicationConstants.MOBS_DIRECTORY, ApplicationConstants.MAPS_DIRECTORY); DatabaseManager dbManager = new DatabaseManager(dbConfig); bool databaseValid = false; if (!dbManager.IsDatabaseValid()) { string constructionResult = ""; logger.LogInfo("Database invalid. Re-initializing..."); if (dbManager.ReCreateDatabase(logger, out constructionResult)) { databaseValid = true; } else { logger.LogError(constructionResult); } } else { databaseValid = true; } return databaseValid; }
public string RecreateDatabase() { BasicResponse response = new BasicResponse(); if (RestUtilities.ValidateJSONRequestHasAuthenticatedSession(Session, out response.result) && RestUtilities.ValidateJSONRequestSessionHasAdminOpsLevel(Session, out response.result)) { StringBuilder result = new StringBuilder(); Logger logger = new Logger((string message) => { result.AppendLine(message); }); try { string constructionResult = ""; DatabaseManagerConfig dbConfig = new DatabaseManagerConfig( ApplicationConstants.CONNECTION_STRING, ApplicationConstants.MOBS_DIRECTORY, ApplicationConstants.MAPS_DIRECTORY); DatabaseManager dbManager = new DatabaseManager(dbConfig); if (!dbManager.ReCreateDatabase(logger, out constructionResult)) { logger.LogError(constructionResult); } } catch (System.Exception ex) { logger.LogError(string.Format("Failed to recreate database: {0}", ex.Message)); } response.result = result.ToString(); } return JSONUtilities.SerializeJSONResponse<BasicResponse>(response); }