From 1c7e0e5b9fe3045ac5e14884f8fb0a1def5f0f99 Mon Sep 17 00:00:00 2001 From: ElgarL Date: Fri, 4 Nov 2011 23:13:42 +0000 Subject: Fix for file date conflict causing memory data to be wiped. --- .../groupmanager/dataholder/WorldDataHolder.java | 39 +++++++--------------- 1 file changed, 12 insertions(+), 27 deletions(-) (limited to 'EssentialsGroupManager') diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/WorldDataHolder.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/WorldDataHolder.java index 4140cbfea..1d07cdbe2 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/WorldDataHolder.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/WorldDataHolder.java @@ -324,8 +324,12 @@ public class WorldDataHolder { public void reloadGroups() { GroupManager.setLoaded(false); try { - resetGroups(); - loadGroups(this, getGroupsFile()); + // temporary holder in case the load fails. + WorldDataHolder ph = new WorldDataHolder(this.getName()); + loadGroups(ph, getGroupsFile()); + this.groups = ph.getGroups(); + this.removeGroupsChangedFlag(); + this.timeStampGroups = ph.getTimeStampGroups(); } catch (Exception ex) { Logger.getLogger(WorldDataHolder.class.getName()).log(Level.SEVERE, null, ex); } @@ -335,8 +339,12 @@ public class WorldDataHolder { public void reloadUsers() { GroupManager.setLoaded(false); try { - resetUsers(); - loadUsers(this, getUsersFile()); + // temporary holder in case the load fails. + WorldDataHolder ph = new WorldDataHolder(this.getName()); + loadUsers(ph, getUsersFile()); + this.users = ph.getUsers(); + this.removeUsersChangedFlag(); + this.timeStampUsers = ph.getTimeStampUsers(); } catch (Exception ex) { Logger.getLogger(WorldDataHolder.class.getName()).log(Level.SEVERE, null, ex); } @@ -523,29 +531,6 @@ public class WorldDataHolder { return ph; } - /** - * Updates the WorldDataHolder from the files - * - * @param ph - * @param groupsFile - * @param usersFile - * - * @throws FileNotFoundException - * @throws IOException - */ - public static WorldDataHolder Update(WorldDataHolder ph, File groupsFile, File usersFile) throws FileNotFoundException, IOException { - - GroupManager.setLoaded(false); - ph.resetGroups(); - loadGroups(ph, groupsFile); - - ph.resetUsers(); - loadUsers(ph, usersFile); - GroupManager.setLoaded(true); - - return ph; - } - /** * Updates the WorldDataHolder from the Groups file * -- cgit v1.2.3