public AsyncDatabaseInitializeRequest(
            DatabaseManagerConfig config,
            Logger logger)
        {
            m_dbManager = new DatabaseManager(config);
            m_logger = logger;

            m_thread = null;
            m_exitedSignal = null;
            m_succeeded = false;
        }
Exemple #2
0
        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;
        }
Exemple #3
0
        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);
        }