From 4a7170c5a0fe84d1250af96e764200c827f771a0 Mon Sep 17 00:00:00 2001
From: lutoff <lutoff@localhost>
Date: Tue, 24 Jul 2007 07:53:59 +0000
Subject: [PATCH] Fix for issue #2011 (dsframework register-server doesn't add the server into the default all-servers group)
---
opendj-sdk/opends/src/server/org/opends/server/admin/client/cli/DsFrameworkCliServerGroup.java | 65 ++++++++++++++++++++++----------
1 files changed, 44 insertions(+), 21 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 33bb021..a84add1 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
@@ -716,8 +716,6 @@
else if (subCmd.getName().equals(addToGroupSubCmd.getName()))
{
String groupId = addToGroupGroupNameArg.getValue();
- HashMap<ServerGroupProperty, Object> serverGroupProperties =
- new HashMap<ServerGroupProperty, Object>();
ctx = argParser.getContext(outStream, errStream);
if (ctx == null)
@@ -745,25 +743,8 @@
return ReturnCode.SERVER_NOT_REGISTERED;
}
- // get the current member list
- Set<String> memberList = adsCtx.getServerGroupMemberList(groupId);
- if (memberList == null)
- {
- memberList = new HashSet<String>();
- }
- String newMember = "cn="
- + Rdn.escapeValue(addToGoupMemberNameArg.getValue());
- if (memberList.contains(newMember))
- {
- returnCode = ReturnCode.ALREADY_REGISTERED;
- }
- memberList.add(newMember);
- serverGroupProperties.put(ServerGroupProperty.MEMBERS, memberList);
-
- // Update the server group
- adsCtx.updateServerGroup(groupId, serverGroupProperties);
-
- returnCode = ReturnCode.SUCCESSFUL;
+ returnCode = addServerTogroup(adsCtx, groupId, addToGoupMemberNameArg
+ .getValue());
}
// -----------------------
// remove-from-group subcommand
@@ -930,4 +911,46 @@
return returnCode;
}
+
+ /**
+ * Add a server inside a group.
+ *
+ * @param adsCtx
+ * The ADS context to use.
+ * @param groupId
+ * The group identifier in which a server has to be added.
+ * @param serverId
+ * The server identifier that have to be added to the
+ * group.
+ * @return the return code.
+ * @throws ADSContextException
+ * If there is a problem with any of the parameters used
+ * to create this argument.
+ */
+ static ReturnCode addServerTogroup(ADSContext adsCtx, String groupId,
+ String serverId) throws ADSContextException
+ {
+ ReturnCode returnCode = ReturnCode.SUCCESSFUL;
+ // get the current member list
+ HashMap<ServerGroupProperty, Object> serverGroupProperties =
+ new HashMap<ServerGroupProperty, Object>();
+ Set<String> memberList = adsCtx.getServerGroupMemberList(groupId);
+ if (memberList == null)
+ {
+ memberList = new HashSet<String>();
+ }
+ String newMember = "cn="
+ + Rdn.escapeValue(serverId);
+ if (memberList.contains(newMember))
+ {
+ returnCode = ReturnCode.ALREADY_REGISTERED;
+ }
+ memberList.add(newMember);
+ serverGroupProperties.put(ServerGroupProperty.MEMBERS, memberList);
+
+ // Update the server group
+ adsCtx.updateServerGroup(groupId, serverGroupProperties);
+
+ return returnCode;
+ }
}
--
Gitblit v1.10.0