From c950fe2ad987d5669df1927ba79d4c4080fc55e9 Mon Sep 17 00:00:00 2001
From: jcambon <jcambon@localhost>
Date: Thu, 22 Nov 2007 14:12:42 +0000
Subject: [PATCH]
---
opends/src/server/org/opends/server/tools/dsconfig/DSConfig.java | 36 +++++++++++++++++++++++-------------
1 files changed, 23 insertions(+), 13 deletions(-)
diff --git a/opends/src/server/org/opends/server/tools/dsconfig/DSConfig.java b/opends/src/server/org/opends/server/tools/dsconfig/DSConfig.java
index 60caf23..b069817 100644
--- a/opends/src/server/org/opends/server/tools/dsconfig/DSConfig.java
+++ b/opends/src/server/org/opends/server/tools/dsconfig/DSConfig.java
@@ -719,26 +719,36 @@
return 1;
}
+ int retCode = 0;
if (parser.getSubCommand() == null) {
hasSubCommand = false;
if (isInteractive()) {
- // Top-level interactive mode.
- return runInteractiveMode();
+ // Top-level interactive mode.
+ retCode = runInteractiveMode();
+ } else {
+ Message message = ERR_ERROR_PARSING_ARGS
+ .get(ERR_DSCFG_ERROR_MISSING_SUBCOMMAND.get());
+ displayMessageAndUsageReference(message);
+ retCode = 1;
+ }
} else {
- Message message = ERR_ERROR_PARSING_ARGS
- .get(ERR_DSCFG_ERROR_MISSING_SUBCOMMAND.get());
- displayMessageAndUsageReference(message);
- return 1;
- }
- } else {
- hasSubCommand = true;
+ hasSubCommand = true;
- // Retrieve the sub-command implementation and run it.
- SubCommandHandler handler = handlers.get(parser.getSubCommand());
- return runSubCommand(handler);
+ // Retrieve the sub-command implementation and run it.
+ SubCommandHandler handler = handlers.get(parser.getSubCommand());
+ retCode = runSubCommand(handler);
+ }
+
+ try {
+ // Close the Management context ==> an LDAP UNBIND is sent
+ factory.getManagementContext(this).close();
+ } catch (Exception e) {
+ // Nothing to report in this case
+ }
+
+ return retCode;
}
- }
--
Gitblit v1.10.0