From 4d4931af3f74daf86d23c1a935f56e85ae940aea Mon Sep 17 00:00:00 2001 From: DNx5 Date: Tue, 6 Oct 2015 08:08:32 +0700 Subject: [PATCH] added reload function into module manager --- src/main/java/fr/xephi/authme/AuthMe.java | 6 +++++- src/main/java/fr/xephi/authme/commands/AdminCommand.java | 3 ++- src/main/java/fr/xephi/authme/modules/ModuleManager.java | 5 +++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/fr/xephi/authme/AuthMe.java b/src/main/java/fr/xephi/authme/AuthMe.java index b252d5ba..94c7b494 100644 --- a/src/main/java/fr/xephi/authme/AuthMe.java +++ b/src/main/java/fr/xephi/authme/AuthMe.java @@ -348,6 +348,7 @@ public class AuthMe extends JavaPlugin { // Initialize and setup the database public void setupDatabase() throws Exception { + if (database != null) database.close(); // Backend MYSQL - FILE - SQLITE - SQLITEHIKARI boolean isSQLite = false; switch (Settings.getDataSource) { @@ -704,6 +705,10 @@ public class AuthMe extends JavaPlugin { return count >= Settings.getMaxJoinPerIp; } + public ModuleManager getModuleManager() { + return moduleManager; + } + /** * Get Player real IP through VeryGames method * @@ -736,5 +741,4 @@ public class AuthMe extends JavaPlugin { public String getCountryName(String ip) { return Utils.getCountryName(ip); } - } diff --git a/src/main/java/fr/xephi/authme/commands/AdminCommand.java b/src/main/java/fr/xephi/authme/commands/AdminCommand.java index 573d956f..49042a43 100644 --- a/src/main/java/fr/xephi/authme/commands/AdminCommand.java +++ b/src/main/java/fr/xephi/authme/commands/AdminCommand.java @@ -110,11 +110,12 @@ public class AdminCommand implements CommandExecutor { } else if (args[0].equalsIgnoreCase("reload")) { try { Settings.reload(); + plugin.getModuleManager().reloadModules(); m.reloadMessages(); - plugin.database.close(); plugin.setupDatabase(); } catch (Exception e) { ConsoleLogger.showError("Fatal error occurred! Authme instance ABORTED!"); + ConsoleLogger.writeStackTrace(e); plugin.stopOrUnload(); return false; } diff --git a/src/main/java/fr/xephi/authme/modules/ModuleManager.java b/src/main/java/fr/xephi/authme/modules/ModuleManager.java index 32d4d1fa..0d598fc4 100644 --- a/src/main/java/fr/xephi/authme/modules/ModuleManager.java +++ b/src/main/java/fr/xephi/authme/modules/ModuleManager.java @@ -112,6 +112,11 @@ public class ModuleManager { return count; } + public void reloadModules(){ + unloadModules(); + loadModules(); + } + public void unloadModule(String name) { Iterator it = modules.iterator(); while (it.hasNext()) {