summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKHobbits <rob@khobbits.co.uk>2012-09-22 20:44:45 +0100
committerKHobbits <rob@khobbits.co.uk>2012-09-22 20:44:45 +0100
commit5cc24827fce5161ffb94b89578970d1f933520ba (patch)
tree0fea0059d6d5d6c0eced3290bf1aca8c296df1ec
parentda01bdc2b0c0b8c39a436f3fbca45ef9501fbfb7 (diff)
parentdfb81dd50f15e8c7a62a4bc9e54b1da9da157774 (diff)
downloadEssentials-5cc24827fce5161ffb94b89578970d1f933520ba.tar
Essentials-5cc24827fce5161ffb94b89578970d1f933520ba.tar.gz
Essentials-5cc24827fce5161ffb94b89578970d1f933520ba.tar.lz
Essentials-5cc24827fce5161ffb94b89578970d1f933520ba.tar.xz
Essentials-5cc24827fce5161ffb94b89578970d1f933520ba.zip
Merge branch 'groupmanager' of github.com:essentials/Essentials into 2.9
Resolved Conflicts: EssentialsGroupManager/src/org/anjocaido/groupmanager/GlobalGroups.java
-rw-r--r--EssentialsGroupManager/src/Changelog.txt4
-rw-r--r--EssentialsGroupManager/src/globalgroups.yml2
-rw-r--r--EssentialsGroupManager/src/org/anjocaido/groupmanager/GlobalGroups.java41
-rw-r--r--EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java2
4 files changed, 30 insertions, 19 deletions
diff --git a/EssentialsGroupManager/src/Changelog.txt b/EssentialsGroupManager/src/Changelog.txt
index 5b409d773..c170b725a 100644
--- a/EssentialsGroupManager/src/Changelog.txt
+++ b/EssentialsGroupManager/src/Changelog.txt
@@ -196,4 +196,6 @@ v 2.0:
- Fix an error with Logging set to 'OFF' triggering a cast exception.
- No more null errors from corrupt config.yml's.
- Give a better error when a subgroup is null.
- - Include the GM version when logging errors. \ No newline at end of file
+ - Include the GM version when logging errors.
+ - Fix Synchronization on adding subgroups (thanks snowleo).
+ - Remove info node support from GlobalGroups. It should not have them as GlobalGroups are only permission collections. \ No newline at end of file
diff --git a/EssentialsGroupManager/src/globalgroups.yml b/EssentialsGroupManager/src/globalgroups.yml
index bfed8fef5..2419d4273 100644
--- a/EssentialsGroupManager/src/globalgroups.yml
+++ b/EssentialsGroupManager/src/globalgroups.yml
@@ -1,6 +1,8 @@
# These groups only contain permission nodes.
#
# **** You can NOT add anything other than permission nodes ****
+# **** This is NOT where you set up the groups which you give to users! ****
+# **** goto groupmanager/worlds/worldname/groups.yml if you want to set the actual groups! ****
#
# These collections are to be inherited in your different worlds groups.yml's
# They can also be added as one of a users subgroups, but NOT as a primary group.
diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GlobalGroups.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GlobalGroups.java
index d266360cb..cf63dd8d7 100644
--- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GlobalGroups.java
+++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GlobalGroups.java
@@ -19,7 +19,6 @@ import org.anjocaido.groupmanager.events.GMGroupEvent;
import org.anjocaido.groupmanager.events.GroupManagerEventHandler;
import org.anjocaido.groupmanager.utils.PermissionCheckResult;
import org.anjocaido.groupmanager.utils.Tasks;
-import org.bukkit.configuration.MemorySection;
import org.yaml.snakeyaml.DumperOptions;
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.constructor.SafeConstructor;
@@ -184,22 +183,22 @@ public class GlobalGroups {
} else
throw new IllegalArgumentException("Unknown type of permission node for global group: " + groupName);
- // Info nodes
- try {
- element = ((Map<String, Object>)allGroups.get(groupName)).get("info");
- } catch ( Exception ex) {
- throw new IllegalArgumentException("The GlobalGroup ' " + groupName + "' is formatted incorrectly: ", ex);
- }
-
- if (element != null)
- if (element instanceof MemorySection) {
- Map<String, Object> vars = new HashMap<String, Object>();
- for (String key : ((MemorySection) element).getKeys(false)) {
- vars.put(key, ((MemorySection) element).get(key));
- }
- newGroup.setVariables(vars);
- } else
- throw new IllegalArgumentException("Unknown type of info node for global group: " + groupName);
+// // Info nodes
+// try {
+// element = ((Map<String, Object>)allGroups.get(groupName)).get("info");
+// } catch ( Exception ex) {
+// throw new IllegalArgumentException("The GlobalGroup ' " + groupName + "' is formatted incorrectly: ", ex);
+// }
+//
+// if (element != null)
+// if (element instanceof MemorySection) {
+// Map<String, Object> vars = new HashMap<String, Object>();
+// for (String key : ((MemorySection) element).getKeys(false)) {
+// vars.put(key, ((MemorySection) element).get(key));
+// }
+// newGroup.setVariables(vars);
+// } else
+// throw new IllegalArgumentException("Unknown type of info node for global group: " + groupName);
// Push a new group
addGroup(newGroup);
@@ -236,6 +235,14 @@ public class GlobalGroups {
Map<String, Object> aGroupMap = new HashMap<String, Object>();
groupsMap.put(group.getName(), aGroupMap);
+// // Info nodes
+// Map<String, Object> infoMap = new HashMap<String, Object>();
+// aGroupMap.put("info", infoMap);
+//
+// for (String infoKey : group.getVariables().getVarKeyList()) {
+// infoMap.put(infoKey, group.getVariables().getVarObject(infoKey));
+// }
+
// Permission nodes
aGroupMap.put("permissions", group.getPermissionList());
}
diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java
index a7e5cdc8b..a829bfa14 100644
--- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java
+++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java
@@ -28,7 +28,7 @@ public class User extends DataUnit implements Cloneable {
*
*/
private String group = null;
- private final List<String> subGroups = Collections.synchronizedList(Collections.<String>emptyList());
+ private final List<String> subGroups = Collections.synchronizedList(new ArrayList<String>());
/**
* This one holds the fields in INFO node. like prefix = 'c' or build =
* false