From fb05f309c142d2e520925757e5031786caa8550f Mon Sep 17 00:00:00 2001
From: Violette Roche-Montane <violette.roche-montane@forgerock.com>
Date: Mon, 03 Jun 2013 07:42:27 +0000
Subject: [PATCH] CR-1777-OPENDJ - Upgrade code cleanup - The upgrade context is now set in the CLI. - The upgrade context contains now the callback handler which simplify all the function (removed all calls to callbackhandler, functions just need the context at this point). - The context contains the CLI user selected options which simplify the code, removed the CheckCLIUserOption, the task have just to check the context for those parameters. - Removed the useless VerificationCallback.java - Added a TaskType in UpgradeTask.java. - Added function verifyTaskType in UpgradeTasks.java which verify user selected options are correct. - Modified tools.properties message numbers

---
 opendj-sdk/opends/src/server/org/opends/server/tools/upgrade/UpgradeContext.java |  181 ++++++++++++++++++++++++++++++--------------
 1 files changed, 122 insertions(+), 59 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/upgrade/UpgradeContext.java b/opendj-sdk/opends/src/server/org/opends/server/tools/upgrade/UpgradeContext.java
index 8f8e384..679d008 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/upgrade/UpgradeContext.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/upgrade/UpgradeContext.java
@@ -28,10 +28,9 @@
 package org.opends.server.tools.upgrade;
 
 import static org.opends.messages.ToolMessages.
-  ERR_UPGRADE_DISPLAY_NOTIFICATION_ERROR;
+ERR_UPGRADE_DISPLAY_NOTIFICATION_ERROR;
 import static org.opends.messages.ToolMessages.
-  ERR_UPGRADE_DISPLAY_CONFIRM_ERROR;
-import static org.opends.messages.ToolMessages.ERR_UPGRADE_DISPLAY_CHECK_ERROR;
+ERR_UPGRADE_DISPLAY_CONFIRM_ERROR;
 import static org.opends.messages.ToolMessages.INFO_PROMPT_NO_COMPLETE_ANSWER;
 import static org.opends.messages.ToolMessages.INFO_PROMPT_YES_COMPLETE_ANSWER;
 import static org.opends.messages.ToolMessages.INFO_TASKINFO_CMD_CANCEL_CHAR;
@@ -64,23 +63,48 @@
   private final BuildVersion toVersion;
 
   /**
+   * The call-back handler for interacting with the upgrade application.
+   */
+  private CallbackHandler handler;
+
+  /**
    * If ignore errors is enabled.
    */
   private boolean isIgnoreErrorsMode;
 
   /**
+   * If accept license is enabled.
+   */
+  private boolean isAcceptLicenseMode;
+
+  /**
+   * If interactive mode is enabled.
+   */
+  private boolean isInteractiveMode;
+
+  /**
+   * If force upgrade is enabled.
+   */
+  private boolean isForceUpgradeMode;
+
+
+  /**
    * Constructor for the upgrade context.
    *
    * @param fromVersion
    *          The version number from we upgrade from.
    * @param toVersion
    *          The version number we want to upgrade to.
+   * @param handler
+   *          The call-back handler for interacting with the upgrade
+   *          application.
    */
-  UpgradeContext(final BuildVersion fromVersion, final BuildVersion toVersion)
+  UpgradeContext(final BuildVersion fromVersion, final BuildVersion toVersion,
+      CallbackHandler handler)
   {
     this.fromVersion = fromVersion;
     this.toVersion = toVersion;
-    this.isIgnoreErrorsMode = false;
+    this.handler = handler;
   }
 
   /**
@@ -106,7 +130,7 @@
   /**
    * Returns the ignore error mode.
    *
-   * @return {@true} if ignore error mode is activated.
+   * @return {code true} if ignore error mode is activated.
    */
   public boolean isIgnoreErrorsMode()
   {
@@ -116,7 +140,8 @@
   /**
    * Sets the ignore errors mode.
    *
-   * @param isIgnoreErrorsMode {@true} if ignore error mode is activated.
+   * @param isIgnoreErrorsMode
+   *          {@code true} if ignore error mode is activated.
    */
   public void setIgnoreErrorsMode(boolean isIgnoreErrorsMode)
   {
@@ -124,18 +149,99 @@
   }
 
   /**
-   * Sends notification message to the application via the call-back handler.
+   * Returns the accept license mode.
+   *
+   * @return {@code true} if accept license mode is activated.
+   */
+  public boolean isAcceptLicenseMode()
+  {
+    return isAcceptLicenseMode;
+  }
+
+  /**
+   * Sets the accept license mode.
+   *
+   * @param isAcceptLicenseMode
+   *          {@code true} if the accept license mode is activated.
+   */
+  public void setAcceptLicenseMode(boolean isAcceptLicenseMode)
+  {
+    this.isAcceptLicenseMode = isAcceptLicenseMode;
+  }
+
+  /**
+   * Returns the callback handler.
+   *
+   * @return The actual callback handler.
+   */
+  public CallbackHandler getHandler()
+  {
+    return handler;
+  }
+
+  /**
+   * Sets the upgrade callback handler.
    *
    * @param handler
    *          The call-back handler for interacting with the upgrade
    *          application.
+   */
+  public void setHandler(CallbackHandler handler)
+  {
+    this.handler = handler;
+  }
+
+  /**
+   * Returns the status of the interactive mode.
+   *
+   * @return {@code true} if interactive mode is activated.
+   */
+  public boolean isInteractiveMode()
+  {
+    return isInteractiveMode;
+  }
+
+  /**
+   * Sets the interactive mode.
+   *
+   * @param isInteractiveMode
+   *          {@code true} if the interactive mode is activated.
+   */
+  public void setInteractiveMode(boolean isInteractiveMode)
+  {
+    this.isInteractiveMode = isInteractiveMode;
+  }
+
+  /**
+   * Returns the status of the force upgrade mode.
+   *
+   * @return {@code true} if the force upgrade mode is activated.
+   */
+  public boolean isForceUpgradeMode()
+  {
+    return isForceUpgradeMode;
+  }
+
+  /**
+   * Sets the force upgrade mode.
+   *
+   * @param isForceUpgradeMode
+   *          {@code true} if the force upgrade mode is activated.
+   */
+  public void setForceUpgradeMode(boolean isForceUpgradeMode)
+  {
+    this.isForceUpgradeMode = isForceUpgradeMode;
+  }
+
+  /**
+   * Sends notification message to the application via the call-back handler.
+   *
    * @param message
    *          The message to be reported.
    * @throws ClientException
    *           If an error occurred while reporting the message.
    */
-  public void notify(final CallbackHandler handler, final Message message)
-      throws ClientException
+  public void notify(final Message message) throws ClientException
   {
     try
     {
@@ -153,9 +259,6 @@
    * Sends notification message to the application via the call-back handler
    * containing specific sub type message.
    *
-   * @param handler
-   *          The call-back handler for interacting with the upgrade
-   *          application.
    * @param message
    *          The message to be reported.
    * @param msgType
@@ -163,8 +266,8 @@
    * @throws ClientException
    *           If an error occurred while reporting the message.
    */
-  public void notify(final CallbackHandler handler, final Message message,
-      final int msgType) throws ClientException
+  public void notify(final Message message, final int msgType)
+      throws ClientException
   {
     try
     {
@@ -181,16 +284,13 @@
   /**
    * Displays a progress callback.
    *
-   * @param handler
-   *          The call-back handler for interacting with the upgrade
-   *          application.
    * @param callback
    *          The callback to display.
    * @throws ClientException
    *           If an error occurred while reporting the message.
    */
-  public void notifyProgress(final CallbackHandler handler,
-      final ProgressNotificationCallback callback) throws ClientException
+  public void notifyProgress(final ProgressNotificationCallback callback)
+      throws ClientException
   {
     try
     {
@@ -206,9 +306,6 @@
   /**
    * Asks a confirmation to the user. Answer is yes or no.
    *
-   * @param handler
-   *          The call-back handler for interacting with the upgrade
-   *          application.
    * @param message
    *          The message to be reported.
    * @param defaultOption
@@ -217,8 +314,8 @@
    *           If an error occurred while reporting the message.
    * @return an integer corresponding to the user's answer.
    */
-  public int confirmYN(final CallbackHandler handler, final Message message,
-      final int defaultOption) throws ClientException
+  public int confirmYN(final Message message, final int defaultOption)
+      throws ClientException
   {
     final ConfirmationCallback confirmYNCallback =
         new ConfirmationCallback(message.toString(),
@@ -237,40 +334,6 @@
   }
 
   /**
-   * Checks the user's options. If a required option is not present in the
-   * user's options list, stops the process.
-   *
-   * @param handler
-   *          The call-back handler for interacting with the upgrade
-   *          application.
-   * @param options
-   *          The options which should be present in the user's upgrade options.
-   * @throws ClientException
-   *           If an error occurred while reporting the message.
-   * @return An integer which represents the user selected index.
-   */
-  public int checkCLIUserOption(final CallbackHandler handler,
-      final int... options) throws ClientException
-  {
-    final VerificationCallback checkCLICallback =
-        new VerificationCallback(VerificationCallback.WARNING,
-            ConfirmationCallback.OK_CANCEL_OPTION, ConfirmationCallback.OK,
-            options);
-
-    try
-    {
-      handler.handle(new Callback[] { checkCLICallback });
-    }
-    catch (final Exception e)
-    {
-      throw new ClientException(EXIT_CODE_ERROR,
-          ERR_UPGRADE_DISPLAY_CHECK_ERROR.get(e.getMessage()));
-    }
-    return checkCLICallback.getSelectedIndex();
-
-  }
-
-  /**
    * Returns the default option string.
    *
    * @param defaultOption

--
Gitblit v1.10.0