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)); }
public static PgDatabaseManager Initialize(DatabaseManagerConfig config, params string[] fileNames) { var result = new PgDatabaseManager(config); foreach (var fileName in fileNames) { result.Load(fileName); } result.BeginTest(); return(result); }
public void StartServer() { if (m_state == eState.stopped) { DatabaseManagerConfig dbConfig = new DatabaseManagerConfig(DBConnectionString, MobDataDirectory, MapDataDirectory); // Start initializing the database m_state = eState.starting; m_dbInitRequest = new AsyncDatabaseInitializeRequest(dbConfig, m_logger); m_dbInitRequest.Execute(); } }
private PgDatabaseManager(DatabaseManagerConfig config) : base(config, new PgDatabaseClient(config.ReuseConnection)) { }
private static bool RebuildDatabase(Command command) { bool success = true; string connection_string = ""; string maps_directory = ""; string mobs_directory = ""; Logger logger = new Logger(Console.Out.WriteLine); if (command.HasArgumentWithName("C")) { connection_string = command.GetTypedArgumentByName <CommandArgument_String>("C").ArgumentValue; } else { logger.LogError("RebuildDatabase: Missing expected connection string parameter"); success = false; } if (command.HasArgumentWithName("M")) { mobs_directory = command.GetTypedArgumentByName <CommandArgument_String>("M").ArgumentValue; } else { logger.LogError("RebuildDatabase: No mob data directory given"); } if (command.HasArgumentWithName("T")) { maps_directory = command.GetTypedArgumentByName <CommandArgument_String>("T").ArgumentValue; } else { logger.LogError("RoomTemplateParser: No template directory given"); success = false; } // Set the optional e-mail account constants if (success) { if (command.HasArgumentWithName("EA")) { MailConstants.WEB_SERVICE_EMAIL_ADDRESS = command.GetTypedArgumentByName <CommandArgument_String>("EA").ArgumentValue; } if (command.HasArgumentWithName("EH")) { MailConstants.WEB_SERVICE_EMAIL_HOST = command.GetTypedArgumentByName <CommandArgument_String>("EH").ArgumentValue; } if (command.HasArgumentWithName("EP")) { MailConstants.WEB_SERVICE_EMAIL_PORT = command.GetTypedArgumentByName <CommandArgument_Int32>("EP").ArgumentValue; } if (command.HasArgumentWithName("EU")) { MailConstants.WEB_SERVICE_EMAIL_USERNAME = command.GetTypedArgumentByName <CommandArgument_String>("EU").ArgumentValue; } if (command.HasArgumentWithName("ED")) { MailConstants.WEB_SERVICE_EMAIL_USERNAME = command.GetTypedArgumentByName <CommandArgument_String>("ED").ArgumentValue; } } if (success) { try { string constructionResult = ""; DatabaseManagerConfig dbConfig = new DatabaseManagerConfig(connection_string, mobs_directory, 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)); } } return(success); }