Fix add member to LDIF group
authorMathieu Baudier <mbaudier@argeo.org>
Tue, 15 Sep 2015 08:16:01 +0000 (08:16 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Tue, 15 Sep 2015 08:16:01 +0000 (08:16 +0000)
git-svn-id: https://svn.argeo.org/commons/trunk@8395 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifGroup.java
org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifUser.java

index 8fb49b64c98d9409980ad6352fb184f3311b4313..cf65784e09b5ef0ce822ab3776b9ef85f9aad607 100644 (file)
@@ -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()))
index 304dda9b1002a926664df181a50b51e0f93f3185..712ccdfde9eb4848b1ea5477b41542b938b75f0a 100644 (file)
@@ -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;
        }