summaryrefslogtreecommitdiffstats
path: root/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java
diff options
context:
space:
mode:
authormd_5 <md_5@bigpond.com>2012-09-16 23:02:56 +1000
committermd_5 <md_5@bigpond.com>2012-09-16 23:02:56 +1000
commitfd61cd17502eae4097df692063f9e76ea647226c (patch)
tree4c850d22c45f180d670bca0663c35dbf00bc2f2d /EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java
parente7ae8bcc4756fd8306814565ded2ec4a06897bf9 (diff)
parent75f7b06a23e8bed40d30068542b97959663c75e8 (diff)
downloadEssentials-fd61cd17502eae4097df692063f9e76ea647226c.tar
Essentials-fd61cd17502eae4097df692063f9e76ea647226c.tar.gz
Essentials-fd61cd17502eae4097df692063f9e76ea647226c.tar.lz
Essentials-fd61cd17502eae4097df692063f9e76ea647226c.tar.xz
Essentials-fd61cd17502eae4097df692063f9e76ea647226c.zip
Merge remote-tracking branch 'origin/groupmanager' into 2.9
Diffstat (limited to 'EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java')
-rw-r--r--EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java11
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..a7e5cdc8b 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 final 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);
+ }
}
/**