mirror of
https://github.com/TotalFreedomMC/TF-EssentialsX.git
synced 2025-02-12 04:20:41 +00:00
Change to Hashtables to reduce the chance of a
ConcurrentModificationException pulling group/user data in an Async thread.
This commit is contained in:
parent
79c70b1f65
commit
96ab1b4533
4 changed files with 11 additions and 9 deletions
|
@ -197,3 +197,4 @@ v 2.0:
|
||||||
- No more null errors from corrupt config.yml's.
|
- No more null errors from corrupt config.yml's.
|
||||||
- Give a better error when a subgroup is null.
|
- Give a better error when a subgroup is null.
|
||||||
- Include the GM version when logging errors.
|
- Include the GM version when logging errors.
|
||||||
|
- Change to Hashtables to reduce the chance of a ConcurrentModificationException pulling group/user data in an Async thread.
|
|
@ -1,7 +1,7 @@
|
||||||
package org.anjocaido.groupmanager.dataholder;
|
package org.anjocaido.groupmanager.dataholder;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.HashMap;
|
import java.util.Hashtable;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import org.anjocaido.groupmanager.data.Group;
|
import org.anjocaido.groupmanager.data.Group;
|
||||||
|
@ -23,7 +23,7 @@ public class GroupsDataHolder {
|
||||||
/**
|
/**
|
||||||
* The actual groups holder
|
* The actual groups holder
|
||||||
*/
|
*/
|
||||||
private Map<String, Group> groups = new HashMap<String, Group>();
|
private Hashtable<String, Group> groups = new Hashtable<String, Group>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
|
@ -69,7 +69,7 @@ public class GroupsDataHolder {
|
||||||
*/
|
*/
|
||||||
public void setGroups(Map<String, Group> groups) {
|
public void setGroups(Map<String, Group> groups) {
|
||||||
|
|
||||||
this.groups = groups;
|
this.groups = (Hashtable<String, Group>) groups;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package org.anjocaido.groupmanager.dataholder;
|
package org.anjocaido.groupmanager.dataholder;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.HashMap;
|
import java.util.Hashtable;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import org.anjocaido.groupmanager.data.User;
|
import org.anjocaido.groupmanager.data.User;
|
||||||
|
@ -22,7 +22,7 @@ public class UsersDataHolder {
|
||||||
/**
|
/**
|
||||||
* The actual groups holder
|
* The actual groups holder
|
||||||
*/
|
*/
|
||||||
private Map<String, User> users = new HashMap<String, User>();
|
private Hashtable<String, User> users = new Hashtable<String, User>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
|
@ -53,7 +53,7 @@ public class UsersDataHolder {
|
||||||
*/
|
*/
|
||||||
public void setUsers(Map<String, User> users) {
|
public void setUsers(Map<String, User> users) {
|
||||||
|
|
||||||
this.users = users;
|
this.users = (Hashtable<String, User>) users;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -11,6 +11,7 @@ import java.io.InputStream;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
import java.util.Hashtable;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
@ -33,7 +34,7 @@ public class WorldsHolder {
|
||||||
/**
|
/**
|
||||||
* Map with instances of loaded worlds.
|
* Map with instances of loaded worlds.
|
||||||
*/
|
*/
|
||||||
private Map<String, OverloadedWorldHolder> worldsData = new HashMap<String, OverloadedWorldHolder>();
|
private Hashtable<String, OverloadedWorldHolder> worldsData = new Hashtable<String, OverloadedWorldHolder>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Map of mirrors: <nonExistingWorldName, existingAndLoadedWorldName>
|
* Map of mirrors: <nonExistingWorldName, existingAndLoadedWorldName>
|
||||||
|
@ -61,7 +62,7 @@ public class WorldsHolder {
|
||||||
|
|
||||||
public void resetWorldsHolder() {
|
public void resetWorldsHolder() {
|
||||||
|
|
||||||
worldsData = new HashMap<String, OverloadedWorldHolder>();
|
worldsData = new Hashtable<String, OverloadedWorldHolder>();
|
||||||
mirrorsGroup = new HashMap<String, String>();
|
mirrorsGroup = new HashMap<String, String>();
|
||||||
mirrorsUser = new HashMap<String, String>();
|
mirrorsUser = new HashMap<String, String>();
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue