summaryrefslogtreecommitdiffstats
path: root/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java
diff options
context:
space:
mode:
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..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);
+ }
}
/**