Add alphabetically sorted user lists.

This commit is contained in:
ElgarL 2012-09-25 13:23:19 +01:00
parent d4e2ed782e
commit 1438230b70
2 changed files with 12 additions and 5 deletions

View File

@ -200,3 +200,4 @@ v 2.0:
- Fix Synchronization on adding subgroups (thanks snowleo). - Fix Synchronization on adding subgroups (thanks snowleo).
- Remove info node support from GlobalGroups. It should not have them as GlobalGroups are only permission collections. - Remove info node support from GlobalGroups. It should not have them as GlobalGroups are only permission collections.
- Change order of data in Users.yml to [name, Group, SubGroup, Permissions, Info nodes]. - Change order of data in Users.yml to [name, Group, SubGroup, Permissions, Info nodes].
- Add alphabetically sorted user lists.

View File

@ -15,8 +15,10 @@ import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator; import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.TreeSet;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.anjocaido.groupmanager.GroupManager; import org.anjocaido.groupmanager.GroupManager;
@ -1018,17 +1020,21 @@ public class WorldDataHolder {
public static void writeUsers(WorldDataHolder ph, File usersFile) { public static void writeUsers(WorldDataHolder ph, File usersFile) {
Map<String, Object> root = new HashMap<String, Object>(); Map<String, Object> root = new HashMap<String, Object>();
LinkedHashMap<String, Object> usersMap = new LinkedHashMap<String, Object>();
Map<String, Object> usersMap = new HashMap<String, Object>();
root.put("users", usersMap); root.put("users", usersMap);
synchronized (ph.getUsers()) { synchronized (ph.getUsers()) {
for (String userKey : ph.getUsers().keySet()) {
// A sorted list of users.
ArrayList<String> names = new ArrayList<String>(new TreeSet<String>(ph.getUsers().keySet()));
for (String userKey : names) {
User user = ph.getUsers().get(userKey); User user = ph.getUsers().get(userKey);
if ((user.getGroup() == null || user.getGroup().equals(ph.getDefaultGroup())) && user.getPermissionList().isEmpty() && user.getVariables().isEmpty() && user.isSubGroupsEmpty()) { if ((user.getGroup() == null || user.getGroup().equals(ph.getDefaultGroup())) && user.getPermissionList().isEmpty() && user.getVariables().isEmpty() && user.isSubGroupsEmpty()) {
continue; continue;
} }
Map<String, Object> aUserMap = new HashMap<String, Object>(); LinkedHashMap<String, Object> aUserMap = new LinkedHashMap<String, Object>();
usersMap.put(user.getName(), aUserMap); usersMap.put(user.getName(), aUserMap);
// GROUP NODE // GROUP NODE