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

lutoff
23.26.2007 6f07644ddf1bfa21ae41b8896dfb2709561ff066
Fix for issue 2008
add-to-group checks if the server in registered in the ADS
3 files modified
38 ■■■■■ changed files
opends/src/server/org/opends/server/admin/client/cli/DsFrameworkCliReturnCode.java 7 ●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/admin/client/cli/DsFrameworkCliServerGroup.java 20 ●●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/messages/AdminMessages.java 11 ●●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/admin/client/cli/DsFrameworkCliReturnCode.java
@@ -142,7 +142,12 @@
    /**
     * Unexpected error (potential bug).
     */
    CONFLICTING_ARGS(18, MSGID_ADMIN_NO_MESSAGE);
    CONFLICTING_ARGS(18, MSGID_ADMIN_NO_MESSAGE),
    /**
     * The server entity is not yet registered.
     */
    SERVER_NOT_REGISTERED(19, MSGID_ADMIN_SERVER_NOT_REGISTERED);
    // The retunCodevalue of the value.
    private final int returnCode;
opends/src/server/org/opends/server/admin/client/cli/DsFrameworkCliServerGroup.java
@@ -46,6 +46,7 @@
import org.opends.admin.ads.ADSContext;
import org.opends.admin.ads.ADSContextException;
import org.opends.admin.ads.ADSContext.ServerGroupProperty;
import org.opends.admin.ads.ADSContext.ServerProperty;
import org.opends.server.admin.client.cli.DsFrameworkCliReturnCode.ReturnCode;
import org.opends.server.util.args.ArgumentException;
import org.opends.server.util.args.BooleanArgument;
@@ -725,6 +726,25 @@
        }
        adsCtx = new ADSContext(ctx) ;
        // Check if the server is registered inside to ADS
        Set<Map<ServerProperty, Object>> serverList = adsCtx
            .readServerRegistry();
        boolean found = false ;
        for (Map<ServerProperty, Object> serverProperties : serverList)
        {
          String serverId = ADSContext
              .getServerIdFromServerProperties(serverProperties);
          if (addToGoupMemberNameArg.getValue().equals(serverId))
          {
            found = true;
            break;
          }
        }
        if ( !found )
        {
          return ReturnCode.SERVER_NOT_REGISTERED;
        }
        // get the current member list
        Set<String> memberList = adsCtx.getServerGroupMemberList(groupId);
        if (memberList == null)
opends/src/server/org/opends/server/messages/AdminMessages.java
@@ -556,6 +556,15 @@
  public static final int MSGID_ADMIN_ARG_SERVERID_DESCRIPTION =
    CATEGORY_MASK_ADMIN | SEVERITY_MASK_INFORMATIONAL | 65;
  /**
   * The message ID for the message that will be used server that the user
   * wants to add in a group is not yet register in the ADS.
   * This does not take any arguments.
   */
  public static final int MSGID_ADMIN_SERVER_NOT_REGISTERED=
    CATEGORY_MASK_ADMIN | SEVERITY_MASK_FATAL_ERROR | 66;
  // Prevent instantiation.
  private AdminMessages() {
    // Do nothing.
@@ -763,5 +772,7 @@
    registerMessage(MSGID_ADMIN_ARG_SERVERID_DESCRIPTION,
        "The registered server's unique identifier. " +
        "This is a required argument");
    registerMessage(MSGID_ADMIN_SERVER_NOT_REGISTERED,
        "The provided serverId is not registered");
  }
}