From 43d448ea9173f0ffc89920a14d874356f51351fc Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Tue, 22 Dec 2009 16:54:18 +0000
Subject: [PATCH] Fix for issue 4414 (It would be nice to have the equivalent command-line displayed in setup) Implement the feature as it is described in the issue.
---
opends/src/server/org/opends/server/tools/InstallDS.java | 56 ++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 46 insertions(+), 10 deletions(-)
diff --git a/opends/src/server/org/opends/server/tools/InstallDS.java b/opends/src/server/org/opends/server/tools/InstallDS.java
index 364f010..e7ae5bd 100644
--- a/opends/src/server/org/opends/server/tools/InstallDS.java
+++ b/opends/src/server/org/opends/server/tools/InstallDS.java
@@ -39,6 +39,7 @@
import java.io.OutputStream;
import java.io.PrintStream;
import java.security.KeyStoreException;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.LinkedList;
import java.util.logging.Level;
@@ -180,6 +181,8 @@
CONTINUE(1),
// Provide information again
PROVIDE_INFORMATION_AGAIN(2),
+ // Display equivalent command-line
+ PRINT_EQUIVALENT_COMMAND_LINE(3),
// Cancel the install
CANCEL(3);
@@ -510,8 +513,18 @@
return ErrorReturnCode.ERROR_USER_DATA.getReturnCode();
}
}
- if (isInteractive())
+ boolean promptAgain = true;
+ if (!isInteractive())
{
+ userApproved = true;
+ }
+ else
+ {
+ printSummary(uData);
+ }
+ while (isInteractive() && promptAgain)
+ {
+ promptAgain = false;
ConfirmCode confirm = askForConfirmation(uData);
switch (confirm)
{
@@ -521,6 +534,10 @@
case CANCEL:
LOG.log(Level.INFO, "User cancelled setup.");
return ErrorReturnCode.ERROR_USER_CANCELLED.getReturnCode();
+ case PRINT_EQUIVALENT_COMMAND_LINE:
+ printEquivalentCommandLine(uData);
+ promptAgain = true;
+ break;
default:
// Reset the arguments
try
@@ -534,7 +551,7 @@
userApproved = false;
}
}
- else
+ if (!isInteractive())
{
userApproved = true;
}
@@ -2509,17 +2526,11 @@
}
/**
- * This method asks the user to confirm to continue the setup. It basically
- * displays the information provided by the user and at the end proposes a
- * menu with the different options to choose from.
+ * It displays the information provided by the user.
* @param uData the UserData that the user provided.
- * @return the answer provided by the user: cancel setup, continue setup or
- * provide information again.
*/
- private ConfirmCode askForConfirmation(UserData uData)
+ private void printSummary(UserData uData)
{
- ConfirmCode returnValue;
-
println();
println();
println(INFO_INSTALLDS_SUMMARY.get());
@@ -2605,6 +2616,30 @@
println(INFO_INSTALLDS_DO_NOT_ENABLE_WINDOWS_SERVICE.get());
}
}
+ }
+
+ private void printEquivalentCommandLine(UserData uData)
+ {
+ println();
+
+ println(INFO_INSTALL_SETUP_EQUIVALENT_COMMAND_LINE.get());
+ println();
+ ArrayList<String> cmd = Utils.getSetupEquivalentCommandLine(uData);
+ println(Message.raw(
+ Utils.getFormattedEquivalentCommandLine(cmd, formatter)));
+ }
+
+ /**
+ * This method asks the user to confirm to continue the setup. It basically
+ * displays the information provided by the user and at the end proposes a
+ * menu with the different options to choose from.
+ * @param uData the UserData that the user provided.
+ * @return the answer provided by the user: cancel setup, continue setup or
+ * provide information again.
+ */
+ private ConfirmCode askForConfirmation(UserData uData)
+ {
+ ConfirmCode returnValue;
println();
println();
@@ -2612,6 +2647,7 @@
Message[] msgs = new Message[] {
INFO_INSTALLDS_CONFIRM_INSTALL.get(),
INFO_INSTALLDS_PROVIDE_DATA_AGAIN.get(),
+ INFO_INSTALLDS_PRINT_EQUIVALENT_COMMAND_LINE.get(),
INFO_INSTALLDS_CANCEL.get()
};
--
Gitblit v1.10.0