summaryrefslogtreecommitdiffstats
path: root/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/GroupsDataHolder.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/dataholder/GroupsDataHolder.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/dataholder/GroupsDataHolder.java')
-rw-r--r--EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/GroupsDataHolder.java11
1 files changed, 7 insertions, 4 deletions
diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/GroupsDataHolder.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/GroupsDataHolder.java
index eaaaace74..fdd099c87 100644
--- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/GroupsDataHolder.java
+++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/GroupsDataHolder.java
@@ -1,6 +1,7 @@
package org.anjocaido.groupmanager.dataholder;
import java.io.File;
+import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
@@ -23,7 +24,7 @@ public class GroupsDataHolder {
/**
* The actual groups holder
*/
- private Map<String, Group> groups = new HashMap<String, Group>();
+ private final Map<String, Group> groups = Collections.synchronizedMap(new HashMap<String, Group>());
/**
* Constructor
@@ -36,8 +37,10 @@ public class GroupsDataHolder {
this.dataSource = dataSource;
//push this data source to the users, so they pull the correct groups data.
+ synchronized(groups) {
for (Group group : groups.values())
group.setDataSource(this.dataSource);
+ }
}
/**
@@ -57,6 +60,7 @@ public class GroupsDataHolder {
}
/**
+ * Note: Iteration over this object has to be synchronized!
* @return the groups
*/
public Map<String, Group> getGroups() {
@@ -67,9 +71,8 @@ public class GroupsDataHolder {
/**
* @param groups the groups to set
*/
- public void setGroups(Map<String, Group> groups) {
-
- this.groups = groups;
+ public void resetGroups() {
+ this.groups.clear();
}
/**