From f712b56671cd3197e645d4cf59838d26b61f11c7 Mon Sep 17 00:00:00 2001 From: ElgarL Date: Sat, 1 Oct 2011 13:44:06 +0100 Subject: Rewrote Config loading to use Bukkits Configuration features Added an opOverride setting in config. If present and set to false, op's will not get overriding permissions in GroupManager. (one op will not be able to alter another op's settings) GM will now create all relevant world data files for non mirrored worlds. (for all worlds named in config.yml) --- .../anjocaido/groupmanager/GMConfiguration.java | 88 ++++++---------------- 1 file changed, 22 insertions(+), 66 deletions(-) mode change 100755 => 100644 EssentialsGroupManager/src/org/anjocaido/groupmanager/GMConfiguration.java (limited to 'EssentialsGroupManager/src/org/anjocaido/groupmanager/GMConfiguration.java') diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GMConfiguration.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GMConfiguration.java old mode 100755 new mode 100644 index 153221ed9..3a83491db --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GMConfiguration.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GMConfiguration.java @@ -5,15 +5,11 @@ package org.anjocaido.groupmanager; import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; import java.io.IOException; import java.util.Map; import java.util.logging.Level; import org.anjocaido.groupmanager.utils.Tasks; -import org.yaml.snakeyaml.Yaml; -import org.yaml.snakeyaml.constructor.SafeConstructor; -import org.yaml.snakeyaml.reader.UnicodeReader; +import org.bukkit.util.config.Configuration; /** * @@ -22,9 +18,9 @@ import org.yaml.snakeyaml.reader.UnicodeReader; public class GMConfiguration { private GroupManager plugin; - private Map rootDataNode; private File configFile; - + private Configuration GMconfig; + public GMConfiguration(GroupManager plugin) { this.plugin = plugin; load(); @@ -44,77 +40,37 @@ public class GMConfiguration { } } - Yaml yaml = new Yaml(new SafeConstructor()); - FileInputStream rx = null; - try { - rx = new FileInputStream(configFile); - } catch (FileNotFoundException ex) { - GroupManager.logger.log(Level.SEVERE, null, ex); - } + GMconfig = new Configuration(configFile); + try { - rootDataNode = (Map) yaml.load(new UnicodeReader(rx)); - if (rootDataNode == null) { - throw new NullPointerException(); - } + GMconfig.load(); } catch (Exception ex) { throw new IllegalArgumentException("The following file couldn't pass on Parser.\n" + configFile.getPath(), ex); - } finally { - try { - rx.close(); - } catch (IOException ex) { - } } adjustLoggerLevel(); } + + public boolean isOpOverride() { + return GMconfig.getBoolean("settings.config.opOverrides", true); + } - public Map getMirrorsMap() { - if (rootDataNode.get("settings") instanceof Map) { - Map settingsNode = (Map) rootDataNode.get("settings"); - if (settingsNode.get("permission") instanceof Map) { - Map permissionNode = (Map) settingsNode.get("permission"); - if (permissionNode.get("world") instanceof Map) { - Map worldsNode = (Map) permissionNode.get("world"); - if (worldsNode.get("mirror") instanceof Map) { - Map mirrorsNode = (Map) worldsNode.get("mirror"); - return mirrorsNode; - } - } - } - } - return null; + @SuppressWarnings("unchecked") + public Map getMirrorsMap() { + return (Map) GMconfig.getProperty("settings.permission.world.mirror"); } - public Integer getSaveInterval() { - if (rootDataNode.get("settings") instanceof Map) { - Map settingsNode = (Map) rootDataNode.get("settings"); - if (settingsNode.get("data") instanceof Map) { - Map dataNode = (Map) settingsNode.get("data"); - if (dataNode.get("save") instanceof Map) { - Map saveNode = (Map) dataNode.get("save"); - if (saveNode.get("minutes") instanceof Integer) { - return (Integer) saveNode.get("minutes"); - } - } - } - } - return 10; + public Integer getSaveInterval() { + return GMconfig.getInt("settings.data.save.minutes", 10); } public void adjustLoggerLevel() { - if (rootDataNode.get("settings") instanceof Map) { - Map settingsNode = (Map) rootDataNode.get("settings"); - if (settingsNode.get("logging") instanceof Map) { - Map loggingNode = (Map) settingsNode.get("logging"); - if (loggingNode.get("level") instanceof String) { - String level = (String) loggingNode.get("level"); - try { - GroupManager.logger.setLevel(Level.parse(level)); - return; - } catch (Exception e) { - } - } - } + + try { + GroupManager.logger.setLevel(Level.parse(GMconfig.getString("settings.logging.level", "INFO"))); + return; + } catch (Exception e) { } - GroupManager.logger.setLevel(Level.INFO); + + GroupManager.logger.setLevel(Level.INFO); } } \ No newline at end of file -- cgit v1.2.3 From 0e867df1950ae9e056dc9a95ffd73c97bb56e2e5 Mon Sep 17 00:00:00 2001 From: ElgarL Date: Sat, 1 Oct 2011 17:58:44 +0100 Subject: Moved events into GMWorldListener Better error output --- .../src/org/anjocaido/groupmanager/GMConfiguration.java | 1 + 1 file changed, 1 insertion(+) (limited to 'EssentialsGroupManager/src/org/anjocaido/groupmanager/GMConfiguration.java') diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GMConfiguration.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GMConfiguration.java index 3a83491db..aa838d9e8 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GMConfiguration.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GMConfiguration.java @@ -8,6 +8,7 @@ import java.io.File; import java.io.IOException; import java.util.Map; import java.util.logging.Level; + import org.anjocaido.groupmanager.utils.Tasks; import org.bukkit.util.config.Configuration; -- cgit v1.2.3