From 51d61e7a915aa86d4291516dede211ec454c630f Mon Sep 17 00:00:00 2001 From: ElgarL Date: Sun, 24 Jun 2012 13:10:22 +0100 Subject: Fix loading users with only numerals in their names to be seen as strings. --- EssentialsGroupManager/src/Changelog.txt | 3 ++- .../org/anjocaido/groupmanager/dataholder/WorldDataHolder.java | 10 ++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) (limited to 'EssentialsGroupManager') diff --git a/EssentialsGroupManager/src/Changelog.txt b/EssentialsGroupManager/src/Changelog.txt index 134d40250..3b44270c6 100644 --- a/EssentialsGroupManager/src/Changelog.txt +++ b/EssentialsGroupManager/src/Changelog.txt @@ -184,4 +184,5 @@ v 2.0: - Prevent null perms getting past the GlobalGroups loader. - Fix forgetting sub groups on a manload. - Allow 'manucheckp' to notify when superperms reports false but it is really negated. - - Only output a Data update message if something has changed. \ No newline at end of file + - Only output a Data update message if something has changed. + - Fix loading users with only numerals in their names to be seen as strings. \ No newline at end of file diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/WorldDataHolder.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/WorldDataHolder.java index fefc698f9..1ccd48772 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/WorldDataHolder.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/WorldDataHolder.java @@ -775,20 +775,26 @@ public class WorldDataHolder { Iterator usersItr = allUsersNode.keySet().iterator(); String usersKey; + Object node; Integer userCount = 0; while (usersItr.hasNext()) { try { userCount++; // Attempt to fetch the next user name. - usersKey = usersItr.next(); + node = usersItr.next(); + if (node instanceof Integer) + usersKey = Integer.toString((Integer)node); + else + usersKey = node.toString(); + } catch (Exception ex) { throw new IllegalArgumentException("Invalid node type for user entry (" + userCount + ") in file: " + usersFile.getPath(), ex); } Map thisUserNode = null; try { - thisUserNode = (Map) allUsersNode.get(usersKey); + thisUserNode = (Map) allUsersNode.get(node); } catch (Exception ex) { throw new IllegalArgumentException("Bad format found for user: " + usersKey + " in file: " + usersFile.getPath()); } -- cgit v1.2.3