From 1cc3bd90b688e7bc65d5e7ce79ccadeba3ede628 Mon Sep 17 00:00:00 2001
From: Chris Ridd <chris.ridd@forgerock.com>
Date: Thu, 28 Jan 2016 13:47:41 +0000
Subject: [PATCH] OPENDJ-1906: Protect StaticGroups with a RWLock to allow updating in-place

---
 opendj-server-legacy/src/main/java/org/opends/server/api/Group.java |   18 +++++++++++++++++-
 1 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/api/Group.java b/opendj-server-legacy/src/main/java/org/opends/server/api/Group.java
index 7eb4f60..7633852 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/api/Group.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/api/Group.java
@@ -22,7 +22,7 @@
  *
  *
  *      Copyright 2006-2010 Sun Microsystems, Inc.
- *      Portions Copyright 2011-2015 ForgeRock AS
+ *      Portions Copyright 2011-2016 ForgeRock AS
  */
 package org.opends.server.api;
 
@@ -40,6 +40,7 @@
 import org.opends.server.types.Entry;
 import org.opends.server.types.InitializationException;
 import org.opends.server.types.MemberList;
+import org.opends.server.types.Modification;
 import org.opends.server.types.SearchFilter;
 import org.forgerock.opendj.ldap.SearchScope;
 
@@ -459,6 +460,21 @@
 
 
   /**
+   * Attempt to make multiple changes to the group's member list.
+   *
+   * @param  modifications  The list of modifications being made to the group,
+   *                        which may include changes to non-member attributes.
+   * @throws  UnsupportedOperationException  If this group does not support
+   *                                         altering the member list.
+   * @throws  DirectoryException  If a problem occurs while attempting to
+   *                              update the members.
+   */
+  public abstract void updateMembers(List<Modification> modifications)
+         throws UnsupportedOperationException, DirectoryException;
+
+
+
+  /**
    * Attempts to add the provided user as a member of this group.  The
    * change should be committed to persistent storage through an
    * internal operation.

--
Gitblit v1.10.0