From 0863db8cf0262421952625e083dcad67072d1ace Mon Sep 17 00:00:00 2001 From: sk89q Date: Mon, 27 Jun 2011 12:09:03 -0700 Subject: [PATCH] Changed configuration saving so empty lists will be added to the configuration files. --- CHANGELOG.txt | 4 +++ .../worldguard/bukkit/WorldConfiguration.java | 25 ++++++++++++++++--- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 84fe23c8..7e06a636 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,3 +1,7 @@ +5.2.2: +- Changed configuration saving so empty lists will be added to + the configuration files. + 5.2.1: - Add region bounds to /region info - Added the ability to add owners/members to the global region for diff --git a/src/main/java/com/sk89q/worldguard/bukkit/WorldConfiguration.java b/src/main/java/com/sk89q/worldguard/bukkit/WorldConfiguration.java index 240f903e..b08728bf 100644 --- a/src/main/java/com/sk89q/worldguard/bukkit/WorldConfiguration.java +++ b/src/main/java/com/sk89q/worldguard/bukkit/WorldConfiguration.java @@ -29,6 +29,7 @@ import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; +import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -201,19 +202,35 @@ private double getDouble(String node, double def) { } private List getIntList(String node, List def) { + List res; + if (config.getProperty(node) != null) { - return config.getIntList(node, def); + res = config.getIntList(node, def); } else { - return parentConfig.getIntList(node, def); + res = parentConfig.getIntList(node, def); } + + if (res == null || res.size() == 0) { + parentConfig.setProperty(node, new ArrayList()); + } + + return res; } private List getStringList(String node, List def) { + List res; + if (config.getProperty(node) != null) { - return config.getStringList(node, def); + res = config.getStringList(node, def); } else { - return parentConfig.getStringList(node, def); + res = parentConfig.getStringList(node, def); } + + if (res == null || res.size() == 0) { + parentConfig.setProperty(node, new ArrayList()); + } + + return res; } /**