From cf9ef461822f9480d5d7c3de26489a061bc05b1e Mon Sep 17 00:00:00 2001 From: ElgarL Date: Sat, 5 Nov 2011 15:41:40 +0000 Subject: Fixed Group/User reloading Fixed Group.clone(dataholder) --- .../src/org/anjocaido/groupmanager/data/Group.java | 9 +++++++-- .../src/org/anjocaido/groupmanager/data/User.java | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'EssentialsGroupManager/src/org/anjocaido/groupmanager/data') diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/Group.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/Group.java index e580918e7..c05065f5e 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/Group.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/Group.java @@ -76,8 +76,13 @@ public class Group extends DataUnit implements Cloneable { if (dataSource.groupExists(this.getName())) { return null; } - Group clone = getDataSource().createGroup(this.getName()); - clone.inherits = new ArrayList(this.getInherits()); + + Group clone = dataSource.createGroup(this.getName()); + + // Don't add inheritance for GlobalGroups + if (getDataSource() != null) { + clone.inherits = new ArrayList(this.getInherits()); + } for (String perm : this.getPermissionList()) { clone.addPermission(perm); } diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java index 8cfb3d14a..6c4cdbcf2 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java @@ -67,7 +67,7 @@ public class User extends DataUnit implements Cloneable { if (dataSource.getGroup(group) == null) { clone.setGroup(dataSource.getDefaultGroup()); } else { - clone.setGroup(this.getGroupName()); + clone.setGroup(dataSource.getGroup(this.getGroupName())); } for (String perm : this.getPermissionList()) { clone.addPermission(perm); -- cgit v1.2.3