@Override()
public MemberList getMembers(DN baseDN, SearchScope scope,
SearchFilter filter)
throws DirectoryException
{
Group targetGroup =
DirectoryServer.getGroupManager().getGroupInstance(targetGroupDN);
if (targetGroup == null)
{
Message message = ERR_VIRTUAL_STATIC_GROUP_NO_TARGET_GROUP.get(
String.valueOf(targetGroupDN), String.valueOf(groupEntryDN));
throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
message);
}
else if (targetGroup instanceof VirtualStaticGroup)
{
Message message = ERR_VIRTUAL_STATIC_GROUP_TARGET_CANNOT_BE_VIRTUAL.get(
String.valueOf(groupEntryDN), String.valueOf(targetGroupDN));
throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message);
}
else
{
return targetGroup.getMembers(baseDN, scope, filter);
}
}