From 88703a92c7b721903ebf6490c681c208d8ecef89 Mon Sep 17 00:00:00 2001 From: ElgarL Date: Sat, 3 Sep 2011 16:13:43 +0100 Subject: - Fix for Users.yml containing only 'users:' causing a crash. - GroupManager will now generate a fresh Users and Groups yml if either file is empty. --- .../src/org/anjocaido/groupmanager/dataholder/WorldDataHolder.java | 5 +++++ .../org/anjocaido/groupmanager/dataholder/worlds/WorldsHolder.java | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) mode change 100755 => 100644 EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/worlds/WorldsHolder.java (limited to 'EssentialsGroupManager/src/org/anjocaido/groupmanager') diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/WorldDataHolder.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/WorldDataHolder.java index ae68e03cc..77d933fa0 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/WorldDataHolder.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/WorldDataHolder.java @@ -578,6 +578,11 @@ public class WorldDataHolder { // PROCESS USERS FILE Map allUsersNode = (Map) usersRootDataNode.get("users"); + + // Stop loading if the file is empty + if (allUsersNode == null) + return ph; + for (String usersKey : allUsersNode.keySet()) { Map thisUserNode = (Map) allUsersNode.get(usersKey); User thisUser = ph.createUser(usersKey); diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/worlds/WorldsHolder.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/worlds/WorldsHolder.java old mode 100755 new mode 100644 index b4d50b431..a2c34be16 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/worlds/WorldsHolder.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/worlds/WorldsHolder.java @@ -265,7 +265,7 @@ public class WorldsHolder { File groupsFile = new File(defaultWorldFolder, "groups.yml"); File usersFile = new File(defaultWorldFolder, "users.yml"); File oldDataFile = new File(plugin.getDataFolder(), "data.yml"); - if (!groupsFile.exists()) { + if (!groupsFile.exists() || groupsFile.length() == 0) { if (oldDataFile.exists()) { try { Tasks.copy(oldDataFile, groupsFile); @@ -281,7 +281,7 @@ public class WorldsHolder { } } } - if (!usersFile.exists()) { + if (!usersFile.exists() || usersFile.length() == 0) { if (oldDataFile.exists()) { try { Tasks.copy(oldDataFile, usersFile); -- cgit v1.2.3