mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Chris Ridd
06.39.2013 04f1cc0b5351b6d39dc43cd574d92359573c9ea2
opends/src/guitools/org/opends/guitools/controlpanel/task/AddToGroupTask.java
@@ -23,6 +23,7 @@
 *
 *
 *      Copyright 2008-2010 Sun Microsystems, Inc.
 *      Portions Copyright 2013 ForgeRock AS.
 */
package org.opends.guitools.controlpanel.task;
@@ -251,6 +252,8 @@
    ctls.setSearchScope(SearchControls.OBJECT_SCOPE);
    ctls.setReturningAttributes(
        new String[] {
            ServerConstants.OBJECTCLASS_ATTRIBUTE_TYPE_NAME,
            ServerConstants.ATTR_MEMBER,
            ServerConstants.ATTR_UNIQUE_MEMBER
        });
    String filter = BrowserController.ALL_OBJECTS_FILTER;
@@ -261,11 +264,19 @@
    try
    {
      String memberAttr = ServerConstants.ATTR_MEMBER;
      while (result.hasMore())
      {
        SearchResult sr = result.next();
        Set<String> objectClasses =
          ConnectionUtils.getValues(sr, ServerConstants
            .OBJECTCLASS_ATTRIBUTE_TYPE_NAME);
        if (objectClasses.contains(ServerConstants.OC_GROUP_OF_UNIQUE_NAMES))
        {
          memberAttr = ServerConstants.ATTR_UNIQUE_MEMBER;
        }
        Set<String> values =
          ConnectionUtils.getValues(sr, ServerConstants.ATTR_UNIQUE_MEMBER);
          ConnectionUtils.getValues(sr, memberAttr);
        Set<String> dnsToAdd = new LinkedHashSet<String>();
        if (values != null)
        {
@@ -296,7 +307,7 @@
        if (dnsToAdd.size() > 0)
        {
          Attribute attribute =
            new BasicAttribute(ServerConstants.ATTR_UNIQUE_MEMBER);
            new BasicAttribute(memberAttr);
          for (String dn : dnsToAdd)
          {
            attribute.add(dn);