From 5f3921551465d21d2703e114eaa841c397e1da4c Mon Sep 17 00:00:00 2001 From: SimSonic Date: Mon, 20 Apr 2015 09:56:48 +0600 Subject: [PATCH] Disable database automatic fetching when delay <= 0. However /rscp fetch will work as it should. --- .../Bukkit/BukkitPluginConfiguration.java | 4 +++- .../rscPermissions/BukkitPluginMain.java | 21 +++++++++++-------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPluginConfiguration.java b/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPluginConfiguration.java index 66f49e7..23ba9b9 100644 --- a/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPluginConfiguration.java +++ b/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPluginConfiguration.java @@ -75,6 +75,8 @@ public class BukkitPluginConfiguration implements Settings bUseResidence = config.getBoolean("settings.integration.residence", true); nAutoReloadDelayTicks = config.getInt("settings.auto-reload-delay-sec", 900) * 20; nRegionFinderGranularity = config.getInt("settings.region-finder-thread-granularity-msec", 1000); + if(nAutoReloadDelayTicks <= 0) + nAutoReloadDelayTicks = -1; } @Override public String getDefaultGroup() @@ -94,7 +96,7 @@ public class BukkitPluginConfiguration implements Settings @Override public void setMaintenanceMode(String mode) { - strMaintenanceMode = (mode == null) ? "" : mode; + strMaintenanceMode = (mode != null) ? mode : ""; plugin.getConfig().set("settings.maintenance-mode", strMaintenanceMode); plugin.saveConfig(); } diff --git a/src/main/java/ru/simsonic/rscPermissions/BukkitPluginMain.java b/src/main/java/ru/simsonic/rscPermissions/BukkitPluginMain.java index 1d8db00..1a3f9cb 100644 --- a/src/main/java/ru/simsonic/rscPermissions/BukkitPluginMain.java +++ b/src/main/java/ru/simsonic/rscPermissions/BukkitPluginMain.java @@ -89,7 +89,8 @@ public final class BukkitPluginMain extends JavaPlugin regionUpdateObserver.startDeamon(); // Connect to database and initiate data fetching connection.initialize(settings.getConnectionParams()); - commandHelper.threadFetchDatabaseContents.startDeamon(); + if(settings.getAutoReloadDelayTicks() > 0) + commandHelper.threadFetchDatabaseContents.startDeamon(); // Done consoleLog.info(Phrases.PLUGIN_ENABLED.toString()); } @@ -112,14 +113,16 @@ public final class BukkitPluginMain extends JavaPlugin if(nAutoUpdaterTaskId != -1) scheduler.cancelTask(nAutoUpdaterTaskId); final int delay = settings.getAutoReloadDelayTicks(); - nAutoUpdaterTaskId = scheduler.scheduleSyncDelayedTask(this, new Runnable() - { - @Override - public void run() - { - commandHelper.threadFetchDatabaseContents.startDeamon(); - } - }, delay); + nAutoUpdaterTaskId = delay > 0 + ? scheduler.scheduleSyncDelayedTask(this, new Runnable() + { + @Override + public void run() + { + commandHelper.threadFetchDatabaseContents.startDeamon(); + } + }, delay) + : -1; } @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)