mirror of
https://github.com/EssentialsX/Essentials.git
synced 2025-02-22 15:22:47 +01:00
Minor optimization for Group loading/clone
This commit is contained in:
parent
ab2e8f94f0
commit
f40260acef
@ -83,7 +83,6 @@ public class GlobalGroups {
|
||||
public void load() {
|
||||
|
||||
GGroups = new YamlConfiguration();
|
||||
groups = new HashMap<String, Group>();
|
||||
|
||||
GroupManager.setLoaded(false);
|
||||
|
||||
@ -110,7 +109,9 @@ public class GlobalGroups {
|
||||
Map<String, Object> allGroups = (Map<String, Object>) GGroups.getConfigurationSection("groups").getValues(false);
|
||||
|
||||
// Load each groups permissions list.
|
||||
if (allGroups != null)
|
||||
if (allGroups != null) {
|
||||
// Clear out old groups
|
||||
resetGlobalGroups();
|
||||
for (String groupName : allGroups.keySet()) {
|
||||
Group newGroup = new Group(groupName.toLowerCase());
|
||||
Object element;
|
||||
@ -144,12 +145,12 @@ public class GlobalGroups {
|
||||
// Push a new group
|
||||
addGroup(newGroup);
|
||||
}
|
||||
}
|
||||
|
||||
removeGroupsChangedFlag();
|
||||
setTimeStampGroups(GlobalGroupsFile.lastModified());
|
||||
GroupManager.setLoaded(true);
|
||||
//GlobalGroupsFile = null;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -351,6 +352,13 @@ public class GlobalGroups {
|
||||
return groups.keySet();
|
||||
}
|
||||
|
||||
/**
|
||||
* Resets GlobalGroups.
|
||||
*/
|
||||
public void resetGlobalGroups() {
|
||||
this.groups = new HashMap<String, Group>();
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return a collection of the groups
|
||||
|
@ -334,11 +334,13 @@ public class WorldDataHolder {
|
||||
// transfer new data
|
||||
resetGroups();
|
||||
for (Group tempGroup : ph.getGroupList()) {
|
||||
if (tempGroup.getDataSource() != null) tempGroup.clone(this);
|
||||
tempGroup.clone(this);
|
||||
}
|
||||
this.setDefaultGroup(this.getGroup(ph.getDefaultGroup().getName()));
|
||||
this.removeGroupsChangedFlag();
|
||||
this.timeStampGroups = ph.getTimeStampGroups();
|
||||
|
||||
ph = null;
|
||||
} catch (Exception ex) {
|
||||
Logger.getLogger(WorldDataHolder.class.getName()).log(Level.WARNING, null, ex);
|
||||
}
|
||||
@ -355,7 +357,7 @@ public class WorldDataHolder {
|
||||
WorldDataHolder ph = new WorldDataHolder(this.getName());
|
||||
// copy groups for reference
|
||||
for (Group tempGroup : this.getGroupList()) {
|
||||
if (tempGroup.getDataSource() != null) tempGroup.clone(ph);
|
||||
tempGroup.clone(ph);
|
||||
}
|
||||
// setup the default group before loading user data.
|
||||
ph.setDefaultGroup(ph.getGroup(this.getDefaultGroup().getName()));
|
||||
@ -367,6 +369,8 @@ public class WorldDataHolder {
|
||||
}
|
||||
this.removeUsersChangedFlag();
|
||||
this.timeStampUsers = ph.getTimeStampUsers();
|
||||
|
||||
ph = null;
|
||||
} catch (Exception ex) {
|
||||
Logger.getLogger(WorldDataHolder.class.getName()).log(Level.WARNING, null, ex);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user