From ee021bead4d9a72f6f2e6b52222ff4013cbc8b71 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Tue, 20 Jan 2015 09:26:46 +0000
Subject: [PATCH] OPENDJ-1734 (CR-5811) V/-version option does not work for some tools
---
opendj3-server-dev/src/server/org/opends/server/tools/upgrade/UpgradeCli.java | 73 ++++++++++++++++--------------------
1 files changed, 33 insertions(+), 40 deletions(-)
diff --git a/opendj3-server-dev/src/server/org/opends/server/tools/upgrade/UpgradeCli.java b/opendj3-server-dev/src/server/org/opends/server/tools/upgrade/UpgradeCli.java
index d65e1cc..2ca43cb 100644
--- a/opendj3-server-dev/src/server/org/opends/server/tools/upgrade/UpgradeCli.java
+++ b/opendj3-server-dev/src/server/org/opends/server/tools/upgrade/UpgradeCli.java
@@ -21,17 +21,17 @@
* CDDL HEADER END
*
*
- * Portions Copyright 2013-2014 ForgeRock AS
+ * Portions Copyright 2013-2015 ForgeRock AS
*/
package org.opends.server.tools.upgrade;
-import static org.opends.messages.ToolMessages.*;
-import static com.forgerock.opendj.cli.Utils.filterExitCode;
-import static org.opends.server.tools.upgrade.FormattedNotificationCallback.*;
-import static org.opends.server.tools.upgrade.Upgrade.EXIT_CODE_ERROR;
-import static org.opends.server.tools.upgrade.Upgrade.EXIT_CODE_SUCCESS;
import static com.forgerock.opendj.cli.ArgumentConstants.*;
-import static com.forgerock.opendj.cli.Utils.wrapText;
+import static com.forgerock.opendj.cli.Utils.*;
+import static javax.security.auth.callback.TextOutputCallback.*;
+
+import static org.opends.messages.ToolMessages.*;
+import static org.opends.server.tools.upgrade.FormattedNotificationCallback.*;
+import static org.opends.server.tools.upgrade.Upgrade.*;
import java.io.IOException;
import java.io.InputStream;
@@ -40,26 +40,26 @@
import java.util.ArrayList;
import java.util.List;
-import org.forgerock.i18n.LocalizableMessage;
-import org.forgerock.i18n.slf4j.LocalizedLogger;
-
import javax.security.auth.callback.Callback;
import javax.security.auth.callback.CallbackHandler;
import javax.security.auth.callback.ConfirmationCallback;
import javax.security.auth.callback.TextOutputCallback;
import javax.security.auth.callback.UnsupportedCallbackException;
+import org.forgerock.i18n.LocalizableMessage;
+import org.forgerock.i18n.slf4j.LocalizedLogger;
+import org.opends.server.core.DirectoryServer.DirectoryServerVersionHandler;
import org.opends.server.extensions.ConfigFileHandler;
import org.opends.server.util.ServerConstants;
import org.opends.server.util.StaticUtils;
import com.forgerock.opendj.cli.ArgumentException;
import com.forgerock.opendj.cli.BooleanArgument;
+import com.forgerock.opendj.cli.ClientException;
import com.forgerock.opendj.cli.CommonArguments;
+import com.forgerock.opendj.cli.ConsoleApplication;
import com.forgerock.opendj.cli.StringArgument;
import com.forgerock.opendj.cli.SubCommandArgumentParser;
-import com.forgerock.opendj.cli.ClientException;
-import com.forgerock.opendj.cli.ConsoleApplication;
/**
* This class provides the CLI used for upgrading the OpenDJ product.
@@ -67,21 +67,18 @@
public final class UpgradeCli extends ConsoleApplication implements
CallbackHandler
{
- /**
- * Upgrade's logger.
- */
+ /** Upgrade's logger. */
private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
- // The command-line argument parser.
+ /** The command-line argument parser. */
private final SubCommandArgumentParser parser;
- // The argument which should be used to specify the config class.
+ /** The argument which should be used to specify the config class. */
private StringArgument configClass;
-
- // The argument which should be used to specify the config file.
+ /** The argument which should be used to specify the config file. */
private StringArgument configFile;
- //The argument which should be used to specify non interactive mode.
+ /** The argument which should be used to specify non interactive mode. */
private BooleanArgument noPrompt;
private BooleanArgument ignoreErrors;
private BooleanArgument force;
@@ -90,20 +87,22 @@
private BooleanArgument acceptLicense;
- // The argument which should be used to request usage information.
+ /** The argument which should be used to request usage information. */
private BooleanArgument showUsageArgument;
- // Flag indicating whether or not the global arguments have
- // already been initialized.
- private boolean globalArgumentsInitialized = false;
+ /**
+ * Flag indicating whether or not the global arguments have
+ * already been initialized.
+ */
+ private boolean globalArgumentsInitialized;
private UpgradeCli(InputStream in, OutputStream out, OutputStream err)
{
super(new PrintStream(out), new PrintStream(err));
this.parser =
- new SubCommandArgumentParser(this.getClass().getName(),
+ new SubCommandArgumentParser(getClass().getName(),
INFO_UPGRADE_DESCRIPTION_CLI.get(), false);
-
+ this.parser.setVersionHandler(new DirectoryServerVersionHandler());
}
/**
@@ -219,7 +218,7 @@
return acceptLicense.isPresent();
}
- // Displays the provided message followed by a help usage reference.
+ /** Displays the provided message followed by a help usage reference. */
private void displayMessageAndUsageReference(final LocalizableMessage message)
{
println(message);
@@ -227,20 +226,15 @@
println(parser.getHelpUsageReference());
}
- // Initialize arguments provided by the command line.
+ /** Initialize arguments provided by the command line. */
private void initializeGlobalArguments() throws ArgumentException
{
if (!globalArgumentsInitialized)
{
- configClass =
- CommonArguments.getConfigClass(ConfigFileHandler.class.getName());
-
+ configClass = CommonArguments.getConfigClass(ConfigFileHandler.class.getName());
configFile = CommonArguments.getConfigFile();
-
noPrompt = CommonArguments.getNoPrompt();
-
verbose = CommonArguments.getVerbose();
-
quietMode = CommonArguments.getQuiet();
ignoreErrors =
@@ -253,13 +247,12 @@
INFO_UPGRADE_OPTION_FORCE.get(OPTION_LONG_NO_PROMPT));
acceptLicense = CommonArguments.getAcceptLicense();
-
showUsageArgument = CommonArguments.getShowUsage();
// Register the global arguments.
parser.addGlobalArgument(showUsageArgument);
- parser.setUsageArgument(showUsageArgument, this.getOutputStream());
+ parser.setUsageArgument(showUsageArgument, getOutputStream());
parser.addGlobalArgument(configClass);
parser.addGlobalArgument(configFile);
parser.addGlobalArgument(noPrompt);
@@ -283,7 +276,7 @@
catch (ArgumentException e)
{
final LocalizableMessage message = ERR_CANNOT_INITIALIZE_ARGS.get(e.getMessage());
- this.getOutputStream().print(message);
+ getOutputStream().print(message);
return EXIT_CODE_ERROR;
}
@@ -296,7 +289,7 @@
final LocalizableMessage message =
ERR_UPGRADE_INCOMPATIBLE_ARGS.get(OPTION_LONG_QUIET,
"interactive mode");
- this.getOutputStream().println(message);
+ getOutputStream().println(message);
return EXIT_CODE_ERROR;
}
if (isInteractive() && isForceUpgrade())
@@ -304,7 +297,7 @@
final LocalizableMessage message =
ERR_UPGRADE_INCOMPATIBLE_ARGS.get(OPTION_LONG_FORCE_UPGRADE,
"interactive mode");
- this.getOutputStream().println(message);
+ getOutputStream().println(message);
return EXIT_CODE_ERROR;
}
if (isQuiet() && isVerbose())
@@ -312,7 +305,7 @@
final LocalizableMessage message =
ERR_UPGRADE_INCOMPATIBLE_ARGS.get(OPTION_LONG_QUIET,
OPTION_LONG_VERBOSE);
- this.getOutputStream().println(message);
+ getOutputStream().println(message);
return EXIT_CODE_ERROR;
}
}
--
Gitblit v1.10.0