Revert bad synchronization

This reverts commit 96ab1b4533.
This commit is contained in:
snowleo 2012-09-10 19:06:17 +02:00
parent 71179e3dfd
commit 736a6d273a
4 changed files with 11 additions and 15 deletions

View File

@ -196,5 +196,4 @@ v 2.0:
- Fix an error with Logging set to 'OFF' triggering a cast exception. - Fix an error with Logging set to 'OFF' triggering a cast exception.
- 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.

View File

@ -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.Hashtable; import java.util.HashMap;
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 Hashtable<String, Group> groups = new Hashtable<String, Group>(); private Map<String, Group> groups = new HashMap<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 = (Hashtable<String, Group>) groups; this.groups = groups;
} }
/** /**

View File

@ -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.Hashtable; import java.util.HashMap;
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 Hashtable<String, User> users = new Hashtable<String, User>(); private Map<String, User> users = new HashMap<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 = (Hashtable<String, User>) users; this.users = users;
} }
/** /**

View File

@ -11,7 +11,6 @@ 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;
@ -34,7 +33,7 @@ public class WorldsHolder {
/** /**
* Map with instances of loaded worlds. * Map with instances of loaded worlds.
*/ */
private Hashtable<String, OverloadedWorldHolder> worldsData = new Hashtable<String, OverloadedWorldHolder>(); private Map<String, OverloadedWorldHolder> worldsData = new HashMap<String, OverloadedWorldHolder>();
/** /**
* Map of mirrors: <nonExistingWorldName, existingAndLoadedWorldName> * Map of mirrors: <nonExistingWorldName, existingAndLoadedWorldName>
@ -62,7 +61,7 @@ public class WorldsHolder {
public void resetWorldsHolder() { public void resetWorldsHolder() {
worldsData = new Hashtable<String, OverloadedWorldHolder>(); worldsData = new HashMap<String, OverloadedWorldHolder>();
mirrorsGroup = new HashMap<String, String>(); mirrorsGroup = new HashMap<String, String>();
mirrorsUser = new HashMap<String, String>(); mirrorsUser = new HashMap<String, String>();
@ -403,10 +402,8 @@ public class WorldsHolder {
if (worldsData.containsKey(worldNameLowered)) { if (worldsData.containsKey(worldNameLowered)) {
OverloadedWorldHolder data = worldsData.get(worldNameLowered); OverloadedWorldHolder data = worldsData.get(worldNameLowered);
synchronized (data) { data.updateDataSource();
data.updateDataSource(); return data;
return data;
}
} }
return null; return null;