From be4b01bf285935c0e460c203c9c9aee37b30f075 Mon Sep 17 00:00:00 2001 From: Dinnerbone Date: Fri, 1 Apr 2011 00:32:51 +0100 Subject: [PATCH] Configuration tweaks - enforce default + parent file nullcheck --- src/main/java/org/bukkit/util/config/Configuration.java | 5 ++++- src/main/java/org/bukkit/util/config/ConfigurationNode.java | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/bukkit/util/config/Configuration.java b/src/main/java/org/bukkit/util/config/Configuration.java index ce1f8f67..a1cb2878 100644 --- a/src/main/java/org/bukkit/util/config/Configuration.java +++ b/src/main/java/org/bukkit/util/config/Configuration.java @@ -93,7 +93,10 @@ public class Configuration extends ConfigurationNode { public boolean save() { FileOutputStream stream = null; - file.getParentFile().mkdirs(); + File parent = file.getParentFile(); + if (parent != null) { + parent.mkdirs(); + } try { stream = new FileOutputStream(file); diff --git a/src/main/java/org/bukkit/util/config/ConfigurationNode.java b/src/main/java/org/bukkit/util/config/ConfigurationNode.java index 8fbefe7a..c9b7942d 100644 --- a/src/main/java/org/bukkit/util/config/ConfigurationNode.java +++ b/src/main/java/org/bukkit/util/config/ConfigurationNode.java @@ -126,6 +126,7 @@ public class ConfigurationNode { public String getString(String path, String def) { String o = getString(path); if (o == null) { + setProperty(path, def); return def; } return o; @@ -144,6 +145,7 @@ public class ConfigurationNode { public int getInt(String path, int def) { Integer o = castInt(getProperty(path)); if (o == null) { + setProperty(path, def); return def; } else { return o; @@ -163,6 +165,7 @@ public class ConfigurationNode { public double getDouble(String path, double def) { Double o = castDouble(getProperty(path)); if (o == null) { + setProperty(path, def); return def; } else { return o; @@ -181,6 +184,7 @@ public class ConfigurationNode { public boolean getBoolean(String path, boolean def) { Boolean o = castBoolean(getProperty(path)); if (o == null) { + setProperty(path, def); return def; } else { return o;