From 121966436e381b96f3905301a8567b9767b2b36e Mon Sep 17 00:00:00 2001 From: ElgarL Date: Sun, 16 Oct 2011 01:23:25 +0100 Subject: Fixed reading world mirrors from the config. --- EssentialsGroupManager/src/Changelog.txt | 3 ++- .../src/org/anjocaido/groupmanager/GMConfiguration.java | 6 +++--- .../anjocaido/groupmanager/dataholder/worlds/WorldsHolder.java | 8 ++++---- 3 files changed, 9 insertions(+), 8 deletions(-) (limited to 'EssentialsGroupManager') diff --git a/EssentialsGroupManager/src/Changelog.txt b/EssentialsGroupManager/src/Changelog.txt index 272a792e2..c4c8f6f20 100644 --- a/EssentialsGroupManager/src/Changelog.txt +++ b/EssentialsGroupManager/src/Changelog.txt @@ -45,4 +45,5 @@ v 1.4: - Cleared remaining Cast errors cause by object cloning. - Removed extra notification messages for the player issuing the group move command. - Added a config setting - bukkit_perms_override: false - Enable to allow default Bukkit based permissions to remain enabled, unless directly negated within GroupManager. \ No newline at end of file + Enable to allow default Bukkit based permissions to remain enabled, unless directly negated within GroupManager. + - Fixed reading world mirrors from the config. \ No newline at end of file diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GMConfiguration.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GMConfiguration.java index af21b31bb..e57ce139e 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GMConfiguration.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GMConfiguration.java @@ -58,9 +58,9 @@ public class GMConfiguration { return GMconfig.getBoolean("settings.config.opOverrides", true); } - @SuppressWarnings("unchecked") - public Map getMirrorsMap() { - return (Map) GMconfig.getList("settings.permission.world.mirror"); + public Map getMirrorsMap() { + + return (Map) GMconfig.getConfigurationSection("settings.permission.world.mirror").getValues(false); } public Integer getSaveInterval() { diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/worlds/WorldsHolder.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/worlds/WorldsHolder.java index 0bcf9a827..573fcebc3 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/worlds/WorldsHolder.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/worlds/WorldsHolder.java @@ -99,11 +99,11 @@ public class WorldsHolder { * don't load any worlds which are already loaded * or mirrored worlds that don't need data. */ - if (worldsData.containsKey(folder.getName().toLowerCase()) - || mirrors.containsKey(folder.getName().toLowerCase())) { - continue; + if (!worldsData.containsKey(folder.getName().toLowerCase()) + || !mirrors.containsKey(folder.getName().toLowerCase())) { + loadWorld(folder.getName()); } - loadWorld(folder.getName()); + } } } -- cgit v1.2.3 From e04936455780f0649d4ae7975aeadd061fad1d29 Mon Sep 17 00:00:00 2001 From: ElgarL Date: Sun, 16 Oct 2011 03:35:55 +0100 Subject: Simplified config.yml while retaining backwards compatibility. --- EssentialsGroupManager/src/Changelog.txt | 3 ++- EssentialsGroupManager/src/config.yml | 8 +++++--- .../src/org/anjocaido/groupmanager/GMConfiguration.java | 8 ++++++-- 3 files changed, 13 insertions(+), 6 deletions(-) (limited to 'EssentialsGroupManager') diff --git a/EssentialsGroupManager/src/Changelog.txt b/EssentialsGroupManager/src/Changelog.txt index c4c8f6f20..4f4851f0a 100644 --- a/EssentialsGroupManager/src/Changelog.txt +++ b/EssentialsGroupManager/src/Changelog.txt @@ -46,4 +46,5 @@ v 1.4: - Removed extra notification messages for the player issuing the group move command. - Added a config setting - bukkit_perms_override: false Enable to allow default Bukkit based permissions to remain enabled, unless directly negated within GroupManager. - - Fixed reading world mirrors from the config. \ No newline at end of file + - Fixed reading world mirrors from the config. + - Simplified config.yml while retaining backwards compatibility. \ No newline at end of file diff --git a/EssentialsGroupManager/src/config.yml b/EssentialsGroupManager/src/config.yml index 0977362a5..caa675527 100644 --- a/EssentialsGroupManager/src/config.yml +++ b/EssentialsGroupManager/src/config.yml @@ -2,20 +2,22 @@ settings: config: # With this enabled anyone set as op has full permissions when managing GroupManager opOverrides: true + # If enabled any bukkit permissiosn which default to true will be left enabled. # If the player is op any permissions set to Op will follow suit. bukkit_perms_override: false + data: save: # How often GroupManager will save it's data back to groups and users.yml minutes: 10 + logging: # level of detail GroupManager will use when logging. # Acceptable entries are - ALL,CONFIG,FINE,FINER,FINEST,INFO,OFF,SEVERE,WARNING level: INFO - permission: - world: - mirror: + + mirrors: # Worlds listed here have their permissions mirrored in their children. world: - world_nether diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GMConfiguration.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GMConfiguration.java index e57ce139e..302f12b67 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GMConfiguration.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GMConfiguration.java @@ -59,8 +59,12 @@ public class GMConfiguration { } public Map getMirrorsMap() { - - return (Map) GMconfig.getConfigurationSection("settings.permission.world.mirror").getValues(false); + // Try to fetch the old mirror path first + if (GMconfig.isConfigurationSection("settings.permission.world.mirror")) + return (Map) GMconfig.getConfigurationSection("settings.permission.world.mirror").getValues(false); + else + return (Map) GMconfig.getConfigurationSection("settings.mirrors").getValues(false); + } public Integer getSaveInterval() { -- cgit v1.2.3 From 569af0bcf02a057f076aaea168109eb1a7b3faec Mon Sep 17 00:00:00 2001 From: ElgarL Date: Sun, 16 Oct 2011 08:58:45 +0100 Subject: Added data.save.hours setting to config. This allow control over how long backups are retained. --- EssentialsGroupManager/src/Changelog.txt | 3 ++- EssentialsGroupManager/src/config.yml | 2 ++ .../src/org/anjocaido/groupmanager/GMConfiguration.java | 4 ++++ .../src/org/anjocaido/groupmanager/GroupManager.java | 1 + .../org/anjocaido/groupmanager/dataholder/worlds/WorldsHolder.java | 2 +- .../src/org/anjocaido/groupmanager/utils/Tasks.java | 6 ++++-- 6 files changed, 14 insertions(+), 4 deletions(-) (limited to 'EssentialsGroupManager') diff --git a/EssentialsGroupManager/src/Changelog.txt b/EssentialsGroupManager/src/Changelog.txt index 4f4851f0a..6729907b5 100644 --- a/EssentialsGroupManager/src/Changelog.txt +++ b/EssentialsGroupManager/src/Changelog.txt @@ -47,4 +47,5 @@ v 1.4: - Added a config setting - bukkit_perms_override: false Enable to allow default Bukkit based permissions to remain enabled, unless directly negated within GroupManager. - Fixed reading world mirrors from the config. - - Simplified config.yml while retaining backwards compatibility. \ No newline at end of file + - Simplified config.yml while retaining backwards compatibility. + - Added data.save.hours setting to config. This allow control over how long backups are retained. \ No newline at end of file diff --git a/EssentialsGroupManager/src/config.yml b/EssentialsGroupManager/src/config.yml index caa675527..25fb5dcd0 100644 --- a/EssentialsGroupManager/src/config.yml +++ b/EssentialsGroupManager/src/config.yml @@ -11,6 +11,8 @@ settings: save: # How often GroupManager will save it's data back to groups and users.yml minutes: 10 + # Number of hours to retain backups (plugins/GroupManager/backup) + hours: 24 logging: # level of detail GroupManager will use when logging. diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GMConfiguration.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GMConfiguration.java index 302f12b67..ad2945076 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GMConfiguration.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GMConfiguration.java @@ -70,6 +70,10 @@ public class GMConfiguration { public Integer getSaveInterval() { return GMconfig.getInt("settings.data.save.minutes", 10); } + + public Integer getBackupDuration() { + return GMconfig.getInt("settings.data.save.hours", 24); + } public void adjustLoggerLevel() { diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java index 1f55f73ad..5ef4fc537 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java @@ -163,6 +163,7 @@ public class GroupManager extends JavaPlugin { int minutes = getGMConfig().getSaveInterval(); scheduler.scheduleAtFixedRate(commiter, minutes, minutes, TimeUnit.MINUTES); GroupManager.logger.info("Scheduled Data Saving is set for every " + minutes + " minutes!"); + GroupManager.logger.info("Backups will be retained for " + getGMConfig().getBackupDuration() + " hours!"); } } diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/worlds/WorldsHolder.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/worlds/WorldsHolder.java index 573fcebc3..7cbe4f65c 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/worlds/WorldsHolder.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/worlds/WorldsHolder.java @@ -168,7 +168,7 @@ public class WorldsHolder { if (alreadyDone.contains(w)) { continue; } - Tasks.removeOldFiles(plugin.getBackupFolder()); + Tasks.removeOldFiles(plugin, plugin.getBackupFolder()); if (w == null) { GroupManager.logger.severe("WHAT HAPPENED?"); continue; diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/Tasks.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/Tasks.java index 8e4d58dde..f3defd94a 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/Tasks.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/Tasks.java @@ -13,6 +13,8 @@ import java.io.OutputStream; import java.util.Calendar; import java.util.GregorianCalendar; import java.util.List; + +import org.anjocaido.groupmanager.GroupManager; import org.anjocaido.groupmanager.data.Group; /** @@ -43,9 +45,9 @@ public abstract class Tasks { copy(in, dst); } - public static void removeOldFiles(File folder) { + public static void removeOldFiles(GroupManager gm, File folder) { if (folder.isDirectory()) { - long oldTime = System.currentTimeMillis() - 86400000L; + long oldTime = System.currentTimeMillis() - (((long)gm.getGMConfig().getBackupDuration()*60*60)*1000); for (File olds : folder.listFiles()) { if (olds.isFile()) { if (olds.lastModified() < oldTime) { -- cgit v1.2.3