diff options
author | snowleo <schneeleo@gmail.com> | 2012-09-10 20:49:07 +0200 |
---|---|---|
committer | snowleo <schneeleo@gmail.com> | 2012-09-10 20:49:07 +0200 |
commit | f07c89803f9ae9b2c1780037e458dbb526c11ee3 (patch) | |
tree | cd9d8aacfb94232aeb5d6e04e47d53eb3f4f3d3c /EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java | |
parent | ff18374456ffeaa6d60ec974fb2645c733d3e1ba (diff) | |
download | Essentials-f07c89803f9ae9b2c1780037e458dbb526c11ee3.tar Essentials-f07c89803f9ae9b2c1780037e458dbb526c11ee3.tar.gz Essentials-f07c89803f9ae9b2c1780037e458dbb526c11ee3.tar.lz Essentials-f07c89803f9ae9b2c1780037e458dbb526c11ee3.tar.xz Essentials-f07c89803f9ae9b2c1780037e458dbb526c11ee3.zip |
Thread safety for GM
Diffstat (limited to 'EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java')
-rw-r--r-- | EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java index 6c74c2e50..b1b2c6985 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java @@ -6,6 +6,8 @@ package org.anjocaido.groupmanager.data; //import com.sun.org.apache.bcel.internal.generic.AALOAD; import java.util.ArrayList; +import java.util.Collections; +import java.util.List; import org.anjocaido.groupmanager.GroupManager; import org.anjocaido.groupmanager.dataholder.WorldDataHolder; @@ -26,7 +28,7 @@ public class User extends DataUnit implements Cloneable { * */ private String group = null; - private ArrayList<String> subGroups = new ArrayList<String>(); + private List<String> subGroups = Collections.synchronizedList(Collections.<String>emptyList()); /** * This one holds the fields in INFO node. like prefix = 'c' or build = * false @@ -213,6 +215,7 @@ public class User extends DataUnit implements Cloneable { public ArrayList<Group> subGroupListCopy() { ArrayList<Group> val = new ArrayList<Group>(); + synchronized(subGroups) { for (String gstr : subGroups) { Group g = getDataSource().getGroup(gstr); if (g == null) { @@ -221,12 +224,14 @@ public class User extends DataUnit implements Cloneable { } val.add(g); } + } return val; } public ArrayList<String> subGroupListStringCopy() { - - return new ArrayList<String>(subGroups); + synchronized(subGroups) { + return new ArrayList<String>(subGroups); + } } /** |