From 8b9017ccd73861fdf0158a6af79ae8b1bec68719 Mon Sep 17 00:00:00 2001
From: lutoff <lutoff@localhost>
Date: Mon, 23 Jul 2007 13:26:31 +0000
Subject: [PATCH] Fix for issue 2008 add-to-group checks if the server in registered in the ADS

---
 opendj-sdk/opends/src/server/org/opends/server/admin/client/cli/DsFrameworkCliServerGroup.java |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/admin/client/cli/DsFrameworkCliServerGroup.java b/opendj-sdk/opends/src/server/org/opends/server/admin/client/cli/DsFrameworkCliServerGroup.java
index fa3873b..33bb021 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/admin/client/cli/DsFrameworkCliServerGroup.java
+++ b/opendj-sdk/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)

--
Gitblit v1.10.0