From 80523e58ccb629f3e4bde4366641e9befba24a36 Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Wed, 11 Apr 2007 22:39:23 +0000
Subject: [PATCH] Implement support for virtual static groups, which are entries which appear to be static groups but get their membership information from another group and present it through a virtual attribute. This can make it possible to use a dynamic group to actually define the set of membership, but still support applications which can only interact with static groups.
---
opends/src/server/org/opends/server/extensions/StaticGroup.java | 13 +++++++++----
1 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/opends/src/server/org/opends/server/extensions/StaticGroup.java b/opends/src/server/org/opends/server/extensions/StaticGroup.java
index 64871ad..ee7fda9 100644
--- a/opends/src/server/org/opends/server/extensions/StaticGroup.java
+++ b/opends/src/server/org/opends/server/extensions/StaticGroup.java
@@ -79,9 +79,6 @@
public class StaticGroup
extends Group
{
-
-
-
// The attribute type used to hold the membership list for this group.
private AttributeType memberAttributeType;
@@ -241,7 +238,8 @@
// FIXME -- This needs to exclude enhanced groups once we have support for
// them.
String filterString =
- "(|(objectClass=groupOfNames)(objectClass=groupOfUniqueNames))";
+ "(&(|(objectClass=groupOfNames)(objectClass=groupOfUniqueNames))" +
+ "(!(objectClass=ds-virtual-static-group))";
return SearchFilter.createFilterFromString(filterString);
}
@@ -257,6 +255,13 @@
// FIXME -- This needs to exclude enhanced groups once we have support for
//them.
+ ObjectClass virtualStaticGroupClass =
+ DirectoryConfig.getObjectClass(OC_VIRTUAL_STATIC_GROUP, true);
+ if (entry.hasObjectClass(virtualStaticGroupClass))
+ {
+ return false;
+ }
+
ObjectClass groupOfNamesClass =
DirectoryConfig.getObjectClass(OC_GROUP_OF_NAMES_LC, true);
ObjectClass groupOfUniqueNamesClass =
--
Gitblit v1.10.0