From: Mathieu Baudier Date: Tue, 15 Sep 2015 08:16:01 +0000 (+0000) Subject: Fix add member to LDIF group X-Git-Tag: argeo-commons-2.1.30~157 X-Git-Url: http://git.argeo.org/?a=commitdiff_plain;h=2968380c9c58aa858aa8f5dcb02b61a85c8ae149;p=lgpl%2Fargeo-commons.git Fix add member to LDIF group git-svn-id: https://svn.argeo.org/commons/trunk@8395 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- diff --git a/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifGroup.java b/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifGroup.java index 8fb49b64c..cf65784e0 100644 --- a/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifGroup.java +++ b/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifGroup.java @@ -21,6 +21,10 @@ public class LdifGroup extends LdifUser implements DirectoryGroup { @Override public boolean addMember(Role role) { + getUserAdmin().checkEdit(); + if (!isEditing()) + startEditing(); + Attribute member = getAttributes().get(memberAttributeId); if (member != null) { if (member.contains(role.getName())) @@ -39,6 +43,10 @@ public class LdifGroup extends LdifUser implements DirectoryGroup { @Override public boolean removeMember(Role role) { + getUserAdmin().checkEdit(); + if (!isEditing()) + startEditing(); + Attribute member = getAttributes().get(memberAttributeId); if (member != null) { if (!member.contains(role.getName())) diff --git a/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifUser.java b/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifUser.java index 304dda9b1..712ccdfde 100644 --- a/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifUser.java +++ b/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifUser.java @@ -92,7 +92,7 @@ class LdifUser implements DirectoryUser { return getWc().getAttributes(getDn()); } - private synchronized boolean isEditing() { + protected synchronized boolean isEditing() { return getWc() != null && getModifiedAttributes() != null; }