From ae171bffab3d4c19c00de9a0c78e42a8f4bb9627 Mon Sep 17 00:00:00 2001
From: kenneth_suter <kenneth_suter@localhost>
Date: Mon, 02 Apr 2007 22:25:59 +0000
Subject: [PATCH] - Succeeded in removing the Utils.isUninstall() method.  All the logic that was being controlled by if statements using this method has been moved to the applications themselves (except for a few hacks that I've documented in the code)

---
 opends/src/quicksetup/org/opends/quicksetup/QuickSetup.java |  786 ++++---------------------------------------------------
 1 files changed, 65 insertions(+), 721 deletions(-)

diff --git a/opends/src/quicksetup/org/opends/quicksetup/QuickSetup.java b/opends/src/quicksetup/org/opends/quicksetup/QuickSetup.java
index a5dd54e..8533d80 100644
--- a/opends/src/quicksetup/org/opends/quicksetup/QuickSetup.java
+++ b/opends/src/quicksetup/org/opends/quicksetup/QuickSetup.java
@@ -35,7 +35,6 @@
 import org.opends.quicksetup.installer.FieldName;
 import org.opends.quicksetup.ui.QuickSetupDialog;
 import org.opends.quicksetup.ui.UIFactory;
-import org.opends.quicksetup.uninstaller.UninstallUserData;
 import org.opends.quicksetup.util.BackgroundTask;
 import org.opends.quicksetup.util.ProgressMessageFormatter;
 import org.opends.quicksetup.util.Utils;
@@ -77,7 +76,7 @@
 
   private CurrentInstallStatus installStatus;
 
-  private Step currentStep = Step.WELCOME;
+  private WizardStep currentStep;
 
   private QuickSetupDialog dialog;
 
@@ -89,17 +88,6 @@
 
   private ProgressDescriptor descriptorToDisplay;
 
-  // Constants used to do checks
-  private static final int MIN_DIRECTORY_MANAGER_PWD = 1;
-
-  private static final int MIN_PORT_VALUE = 1;
-
-  private static final int MAX_PORT_VALUE = 65535;
-
-  private static final int MIN_NUMBER_ENTRIES = 1;
-
-  private static final int MAX_NUMBER_ENTRIES = 10000;
-
   // Update period of the dialogs.
   private static final int UPDATE_PERIOD = 500;
 
@@ -246,47 +234,19 @@
       } catch (Exception ex)
       {
       }
-      synchronized (this)
-      {
-        if (Utils.isUninstall())
-        {
-          final ProgressDescriptor desc = descriptorToDisplay;
-          if (desc != null)
-          {
-            if (desc != lastDisplayedDescriptor)
-            {
-              lastDisplayedDescriptor = desc;
+      synchronized (this) {
+        final ProgressDescriptor desc = descriptorToDisplay;
+        if (desc != null) {
+          if (desc != lastDisplayedDescriptor) {
+            lastDisplayedDescriptor = desc;
 
-              SwingUtilities.invokeLater(new Runnable()
-              {
-                public void run()
-                {
-                  getDialog().displayProgress(desc);
-                }
-              });
-            }
-            doPool = desc != lastDescriptor;
+            SwingUtilities.invokeLater(new Runnable() {
+              public void run() {
+                getDialog().displayProgress(desc);
+              }
+            });
           }
-        }
-        else
-        {
-          final ProgressDescriptor desc = descriptorToDisplay;
-          if (desc != null)
-          {
-            if (desc != lastDisplayedDescriptor)
-            {
-              lastDisplayedDescriptor = desc;
-
-              SwingUtilities.invokeLater(new Runnable()
-              {
-                public void run()
-                {
-                  getDialog().displayProgress(desc);
-                }
-              });
-            }
-            doPool = desc != lastDescriptor;
-          }
+          doPool = desc != lastDescriptor;
         }
       }
     }
@@ -298,55 +258,37 @@
    */
   private void nextClicked()
   {
-    final Step cStep = getCurrentStep();
-    switch (cStep)
-    {
-    case PROGRESS:
-      throw new IllegalStateException(
-          "Cannot click on next from progress step");
-
-    case REVIEW:
-      throw new IllegalStateException("Cannot click on next from review step");
-
-    default:
-      BackgroundTask worker = new BackgroundTask()
-      {
-        public Object processBackgroundTask() throws UserDataException {
-          try
-          {
-            updateUserData(cStep);
-          }
-          catch (UserDataException uide)
-          {
-            throw uide;
-          }
-          catch (Throwable t)
-          {
-            throw new UserDataException(cStep,
-                getThrowableMsg("bug-msg", t));
-          }
-          return null;
+    final WizardStep cStep = getCurrentStep();
+    application.nextClicked(cStep, this);
+    BackgroundTask worker = new BackgroundTask() {
+      public Object processBackgroundTask() throws UserDataException {
+        try {
+          application.updateUserData(cStep, QuickSetup.this);
         }
-
-        public void backgroundTaskCompleted(Object returnValue,
-            Throwable throwable)
-        {
-          getDialog().workerFinished();
-
-          if (throwable != null)
-          {
-            UserDataException ude = (UserDataException)throwable;
-            displayError(ude.getLocalizedMessage(), getMsg("error-title"));
-          }
-          else
-          {
-            setCurrentStep(nextStep(cStep));
-          }
+        catch (UserDataException uide) {
+          throw uide;
         }
-      };
-      getDialog().workerStarted();
-      worker.startBackgroundTask();
-    }
+        catch (Throwable t) {
+          throw new UserDataException(cStep,
+                  getThrowableMsg("bug-msg", t));
+        }
+        return null;
+      }
+
+      public void backgroundTaskCompleted(Object returnValue,
+                                          Throwable throwable) {
+        getDialog().workerFinished();
+
+        if (throwable != null) {
+          UserDataException ude = (UserDataException) throwable;
+          displayError(ude.getLocalizedMessage(), getMsg("error-title"));
+        } else {
+          setCurrentStep(application.getNextWizardStep(cStep));
+        }
+      }
+    };
+    getDialog().workerStarted();
+    worker.startBackgroundTask();
   }
 
   /**
@@ -355,82 +297,8 @@
    */
   private void finishClicked()
   {
-    final Step cStep = getCurrentStep();
-    switch (cStep)
-    {
-    case REVIEW:
-      updateUserDataForReviewPanel();
-      launchInstallation();
-      setCurrentStep(Step.PROGRESS);
-      break;
-
-    case CONFIRM_UNINSTALL:
-      BackgroundTask worker = new BackgroundTask()
-      {
-        public Object processBackgroundTask() throws UserDataException
-        {
-          try
-          {
-            updateUserUninstallDataForConfirmUninstallPanel();
-          }
-          catch (UserDataException uude)
-          {
-            throw uude;
-          } catch (Throwable t)
-          {
-            throw new UserDataException(cStep,
-                getThrowableMsg("bug-msg", t));
-          }
-          return CurrentInstallStatus.isServerRunning();
-        }
-
-        public void backgroundTaskCompleted(Object returnValue,
-            Throwable throwable)
-        {
-          getDialog().workerFinished();
-          if (throwable != null)
-          {
-            displayError(throwable.getLocalizedMessage(),
-                    getMsg("error-title"));
-          } else
-          {
-            boolean serverRunning = (Boolean) returnValue;
-            if (!serverRunning)
-            {
-              application.getUserData().setStopServer(false);
-              if (displayConfirmation(
-                  getMsg("confirm-uninstall-server-not-running-msg"),
-                  getMsg("confirm-uninstall-server-not-running-title")))
-              {
-                launchUninstallation();
-                setCurrentStep(nextStep(cStep));
-              }
-            }
-            else
-            {
-              if (displayConfirmation(
-                      getMsg("confirm-uninstall-server-running-msg"),
-                      getMsg("confirm-uninstall-server-running-title")))
-              {
-                  application.getUserData().setStopServer(true);
-                  launchUninstallation();
-                  setCurrentStep(nextStep(cStep));
-              } else
-              {
-                  application.getUserData().setStopServer(false);
-              }
-            }
-          }
-        }
-      };
-      getDialog().workerStarted();
-      worker.startBackgroundTask();
-      break;
-
-    default:
-      throw new IllegalStateException(
-          "Cannot click on finish when we are not in the Review window");
-    }
+    final WizardStep cStep = getCurrentStep();
+    application.finishClicked(cStep, this);
   }
 
   /**
@@ -439,20 +307,9 @@
    */
   private void previousClicked()
   {
-    Step cStep = getCurrentStep();
-    switch (cStep)
-    {
-    case WELCOME:
-      throw new IllegalStateException(
-          "Cannot click on previous from progress step");
-
-    case PROGRESS:
-      throw new IllegalStateException(
-          "Cannot click on previous from progress step");
-
-    default:
-      setCurrentStep(previousStep(cStep));
-    }
+    WizardStep cStep = getCurrentStep();
+    application.previousClicked(cStep, this);
+    setCurrentStep(application.getPreviousWizardStep(cStep));
   }
 
   /**
@@ -461,28 +318,8 @@
    */
   private void quitClicked()
   {
-    Step cStep = getCurrentStep();
-    switch (cStep)
-    {
-    case PROGRESS:
-      throw new IllegalStateException(
-          "Cannot click on quit from progress step");
-
-    default:
-      if (Utils.isUninstall())
-      {
-        quit();
-      }
-      else if (installStatus.isInstalled())
-      {
-        quit();
-
-      } else if (displayConfirmation(getMsg("confirm-quit-install-msg"),
-          getMsg("confirm-quit-install-title")))
-      {
-        quit();
-      }
-    }
+    WizardStep cStep = getCurrentStep();
+    application.quitClicked(cStep, this);
   }
 
   /**
@@ -491,18 +328,10 @@
    */
   private void continueInstallClicked()
   {
-    Step cStep = getCurrentStep();
-    switch (cStep)
-    {
-    case WELCOME:
-      application.forceToDisplay();
-      getDialog().forceToDisplay();
-      setCurrentStep(Step.WELCOME);
-      break;
-    default:
-      throw new IllegalStateException(
-          "Continue only can be clicked on WELCOME step");
-    }
+    // TODO:  move this stuff to Installer?
+    application.forceToDisplay();
+    getDialog().forceToDisplay();
+    setCurrentStep(Step.WELCOME);
   }
 
   /**
@@ -511,35 +340,8 @@
    */
   private void closeClicked()
   {
-    Step cStep = getCurrentStep();
-    switch (cStep)
-    {
-    case PROGRESS:
-      if (Utils.isUninstall())
-      {
-        boolean finished = application.isFinished();
-        if (finished
-            || displayConfirmation(getMsg("confirm-close-uninstall-msg"),
-                getMsg("confirm-close-uninstall-title")))
-        {
-          quit();
-        }
-      } else
-      {
-        boolean finished = application.isFinished();
-        if (finished
-            || displayConfirmation(getMsg("confirm-close-install-msg"),
-                getMsg("confirm-close-install-title")))
-        {
-          quit();
-        }
-      }
-      break;
-
-    default:
-      throw new IllegalStateException(
-          "Close only can be clicked on PROGRESS step");
-    }
+    WizardStep cStep = getCurrentStep();
+    application.closeClicked(cStep, this);
   }
 
   /**
@@ -548,17 +350,8 @@
    */
   private void cancelClicked()
   {
-    Step cStep = getCurrentStep();
-    switch (cStep)
-    {
-    case CONFIRM_UNINSTALL:
-      quit();
-      break;
-
-    default:
-      throw new IllegalStateException(
-          "Cancel only can be clicked on CONFIRM_UNINSTALL step");
-    }
+    WizardStep cStep = getCurrentStep();
+    application.cancelClicked(cStep, this);
   }
 
   private void launchStatusPanelClicked()
@@ -626,402 +419,17 @@
    * quit the program.
    *
    */
-  private void quit()
+  public void quit()
   {
     System.exit(0);
   }
 
   /**
-   * These methods validate the data provided by the user in the panels and
-   * update the userData object according to that content.
-   *
-   * @param cStep
-   *          the current step of the wizard
-   *
-   * @throws UserDataException if the data provided by the user is not
-   *           valid.
-   *
-   */
-  private void updateUserData(Step cStep) throws UserDataException {
-    switch (cStep)
-    {
-    case SERVER_SETTINGS:
-      updateUserDataForServerSettingsPanel();
-      break;
-
-    case DATA_OPTIONS:
-      updateUserDataForDataOptionsPanel();
-      break;
-
-    case REVIEW:
-      updateUserDataForReviewPanel();
-      break;
-    }
-  }
-
-  /**
-   * Validate the data provided by the user in the server settings panel and
-   * update the userData object according to that content.
-   *
-   * @throws UserDataException if the data provided by the user is not
-   *           valid.
-   *
-   */
-  private void updateUserDataForServerSettingsPanel()
-      throws UserDataException {
-    ArrayList<String> errorMsgs = new ArrayList<String>();
-
-    if (isWebStart())
-    {
-      // Check the server location
-      String serverLocation = getFieldStringValue(FieldName.SERVER_LOCATION);
-
-      if ((serverLocation == null) || ("".equals(serverLocation.trim())))
-      {
-        errorMsgs.add(getMsg("empty-server-location"));
-        displayFieldInvalid(FieldName.SERVER_LOCATION, true);
-      } else if (!Utils.parentDirectoryExists(serverLocation))
-      {
-        String[] arg =
-          { serverLocation };
-        errorMsgs.add(getMsg("parent-directory-does-not-exist", arg));
-        displayFieldInvalid(FieldName.SERVER_LOCATION, true);
-      } else if (Utils.fileExists(serverLocation))
-      {
-        String[] arg =
-          { serverLocation };
-        errorMsgs.add(getMsg("file-exists", arg));
-        displayFieldInvalid(FieldName.SERVER_LOCATION, true);
-      } else if (Utils.directoryExistsAndIsNotEmpty(serverLocation))
-      {
-        String[] arg =
-          { serverLocation };
-        errorMsgs.add(getMsg("directory-exists-not-empty", arg));
-        displayFieldInvalid(FieldName.SERVER_LOCATION, true);
-      } else if (!Utils.canWrite(serverLocation))
-      {
-        String[] arg =
-          { serverLocation };
-        errorMsgs.add(getMsg("directory-not-writable", arg));
-        displayFieldInvalid(FieldName.SERVER_LOCATION, true);
-
-      } else if (!Utils.hasEnoughSpace(serverLocation,
-          getRequiredInstallSpace()))
-      {
-        long requiredInMb = getRequiredInstallSpace() / (1024 * 1024);
-        String[] args =
-          { serverLocation, String.valueOf(requiredInMb) };
-        errorMsgs.add(getMsg("not-enough-disk-space", args));
-        displayFieldInvalid(FieldName.SERVER_LOCATION, true);
-
-      } else
-      {
-        application.getUserData().setServerLocation(serverLocation);
-        displayFieldInvalid(FieldName.SERVER_LOCATION, false);
-      }
-    }
-
-    // Check the port
-    String sPort = getFieldStringValue(FieldName.SERVER_PORT);
-    try
-    {
-      int port = Integer.parseInt(sPort);
-      if ((port < MIN_PORT_VALUE) || (port > MAX_PORT_VALUE))
-      {
-        String[] args =
-          { String.valueOf(MIN_PORT_VALUE), String.valueOf(MAX_PORT_VALUE) };
-        errorMsgs.add(getMsg("invalid-port-value-range", args));
-        displayFieldInvalid(FieldName.SERVER_PORT, true);
-      } else if (!Utils.canUseAsPort(port))
-      {
-        if (Utils.isPriviledgedPort(port))
-        {
-          errorMsgs.add(getMsg("cannot-bind-priviledged-port", new String[]
-            { String.valueOf(port) }));
-        } else
-        {
-          errorMsgs.add(getMsg("cannot-bind-port", new String[]
-            { String.valueOf(port) }));
-        }
-        displayFieldInvalid(FieldName.SERVER_PORT, true);
-
-      } else
-      {
-        application.getUserData().setServerPort(port);
-        displayFieldInvalid(FieldName.SERVER_PORT, false);
-      }
-
-    } catch (NumberFormatException nfe)
-    {
-      String[] args =
-        { String.valueOf(MIN_PORT_VALUE), String.valueOf(MAX_PORT_VALUE) };
-      errorMsgs.add(getMsg("invalid-port-value-range", args));
-      displayFieldInvalid(FieldName.SERVER_PORT, true);
-    }
-
-    // Check the Directory Manager DN
-    String dmDn = getFieldStringValue(FieldName.DIRECTORY_MANAGER_DN);
-
-    if ((dmDn == null) || (dmDn.trim().length() == 0))
-    {
-      errorMsgs.add(getMsg("empty-directory-manager-dn"));
-      displayFieldInvalid(FieldName.DIRECTORY_MANAGER_DN, true);
-    } else if (!Utils.isDn(dmDn))
-    {
-      errorMsgs.add(getMsg("not-a-directory-manager-dn"));
-      displayFieldInvalid(FieldName.DIRECTORY_MANAGER_DN, true);
-    } else if (Utils.isConfigurationDn(dmDn))
-    {
-      errorMsgs.add(getMsg("directory-manager-dn-is-config-dn"));
-      displayFieldInvalid(FieldName.DIRECTORY_MANAGER_DN, true);
-    } else
-    {
-      application.getUserData().setDirectoryManagerDn(dmDn);
-      displayFieldInvalid(FieldName.DIRECTORY_MANAGER_DN, false);
-    }
-
-    // Check the provided passwords
-    String pwd1 = getFieldStringValue(FieldName.DIRECTORY_MANAGER_PWD);
-    String pwd2 = getFieldStringValue(FieldName.DIRECTORY_MANAGER_PWD_CONFIRM);
-    if (pwd1 == null)
-    {
-      pwd1 = "";
-    }
-
-    boolean pwdValid = true;
-    if (!pwd1.equals(pwd2))
-    {
-      errorMsgs.add(getMsg("not-equal-pwd"));
-      displayFieldInvalid(FieldName.DIRECTORY_MANAGER_PWD_CONFIRM, true);
-      pwdValid = false;
-
-    }
-    if (pwd1.length() < MIN_DIRECTORY_MANAGER_PWD)
-    {
-      errorMsgs.add(getMsg(("pwd-too-short"), new String[]
-        { String.valueOf(MIN_DIRECTORY_MANAGER_PWD) }));
-      displayFieldInvalid(FieldName.DIRECTORY_MANAGER_PWD, true);
-      if ((pwd2 == null) || (pwd2.length() < MIN_DIRECTORY_MANAGER_PWD))
-      {
-        displayFieldInvalid(FieldName.DIRECTORY_MANAGER_PWD_CONFIRM, true);
-      }
-      pwdValid = false;
-    }
-
-    if (pwdValid)
-    {
-      application.getUserData().setDirectoryManagerPwd(pwd1);
-      displayFieldInvalid(FieldName.DIRECTORY_MANAGER_PWD, false);
-      displayFieldInvalid(FieldName.DIRECTORY_MANAGER_PWD_CONFIRM, false);
-    }
-
-    int defaultJMXPort = UserData.getDefaultJMXPort();
-    if (defaultJMXPort != -1)
-    {
-      application.getUserData().setServerJMXPort(defaultJMXPort);
-    }
-
-    if (errorMsgs.size() > 0)
-    {
-      throw new UserDataException(Step.SERVER_SETTINGS,
-          Utils.getStringFromCollection(errorMsgs, "\n"));
-    }
-  }
-
-  /**
-   * Validate the data provided by the user in the data options panel and update
-   * the userData object according to that content.
-   *
-   * @throws UserDataException if the data provided by the user is not
-   *           valid.
-   *
-   */
-  private void updateUserDataForDataOptionsPanel()
-      throws UserDataException {
-    ArrayList<String> errorMsgs = new ArrayList<String>();
-
-    DataOptions dataOptions = null;
-
-    // Check the base dn
-    boolean validBaseDn = false;
-    String baseDn = getFieldStringValue(FieldName.DIRECTORY_BASE_DN);
-    if ((baseDn == null) || (baseDn.trim().length() == 0))
-    {
-      errorMsgs.add(getMsg("empty-base-dn"));
-      displayFieldInvalid(FieldName.DIRECTORY_BASE_DN, true);
-    } else if (!Utils.isDn(baseDn))
-    {
-      errorMsgs.add(getMsg("not-a-base-dn"));
-      displayFieldInvalid(FieldName.DIRECTORY_BASE_DN, true);
-    } else if (Utils.isConfigurationDn(baseDn))
-    {
-      errorMsgs.add(getMsg("base-dn-is-configuration-dn"));
-      displayFieldInvalid(FieldName.DIRECTORY_BASE_DN, true);
-    } else
-    {
-      displayFieldInvalid(FieldName.DIRECTORY_BASE_DN, false);
-      validBaseDn = true;
-    }
-
-    // Check the data options
-    DataOptions.Type type =
-        (DataOptions.Type) getFieldValue(FieldName.DATA_OPTIONS);
-
-    switch (type)
-    {
-    case IMPORT_FROM_LDIF_FILE:
-      String ldifPath = getFieldStringValue(FieldName.LDIF_PATH);
-      if ((ldifPath == null) || (ldifPath.trim().equals("")))
-      {
-        errorMsgs.add(getMsg("no-ldif-path"));
-        displayFieldInvalid(FieldName.LDIF_PATH, true);
-      } else if (!Utils.fileExists(ldifPath))
-      {
-        errorMsgs.add(getMsg("ldif-file-does-not-exist"));
-        displayFieldInvalid(FieldName.LDIF_PATH, true);
-      } else if (validBaseDn)
-      {
-        dataOptions = new DataOptions(type, baseDn, ldifPath);
-        displayFieldInvalid(FieldName.LDIF_PATH, false);
-      }
-      break;
-
-    case IMPORT_AUTOMATICALLY_GENERATED_DATA:
-      // variable used to know if everything went ok during these
-      // checks
-      int startErrors = errorMsgs.size();
-
-      // Check the number of entries
-      String nEntries = getFieldStringValue(FieldName.NUMBER_ENTRIES);
-      if ((nEntries == null) || (nEntries.trim().equals("")))
-      {
-        errorMsgs.add(getMsg("no-number-entries"));
-        displayFieldInvalid(FieldName.NUMBER_ENTRIES, true);
-      } else
-      {
-        boolean nEntriesValid = false;
-        try
-        {
-          int n = Integer.parseInt(nEntries);
-
-          nEntriesValid = n >= MIN_NUMBER_ENTRIES && n <= MAX_NUMBER_ENTRIES;
-        } catch (NumberFormatException nfe)
-        {
-        }
-
-        if (!nEntriesValid)
-        {
-          String[] args =
-                { String.valueOf(MIN_NUMBER_ENTRIES),
-                    String.valueOf(MAX_NUMBER_ENTRIES) };
-          errorMsgs.add(getMsg("invalid-number-entries-range", args));
-          displayFieldInvalid(FieldName.NUMBER_ENTRIES, true);
-        } else
-        {
-          displayFieldInvalid(FieldName.NUMBER_ENTRIES, false);
-        }
-      }
-      if (startErrors == errorMsgs.size() && validBaseDn)
-      {
-        // No validation errors
-        dataOptions = new DataOptions(type, baseDn, new Integer(nEntries));
-      }
-      break;
-
-    default:
-      displayFieldInvalid(FieldName.LDIF_PATH, false);
-      displayFieldInvalid(FieldName.NUMBER_ENTRIES, false);
-      if (validBaseDn)
-      {
-        dataOptions = new DataOptions(type, baseDn);
-      }
-    }
-
-    if (dataOptions != null)
-    {
-      application.getUserData().setDataOptions(dataOptions);
-    }
-
-    if (errorMsgs.size() > 0)
-    {
-      throw new UserDataException(Step.DATA_OPTIONS,
-          Utils.getStringFromCollection(errorMsgs, "\n"));
-    }
-  }
-
-  /**
-   * Update the userData object according to the content of the review
-   * panel.
-   *
-   */
-  private void updateUserDataForReviewPanel()
-  {
-    Boolean b = (Boolean) getFieldValue(FieldName.SERVER_START);
-    application.getUserData().setStartServer(b.booleanValue());
-  }
-
-  /**
-   * Update the UserData object according to the content of the review
-   * panel.
-   *
-   */
-  private void updateUserUninstallDataForConfirmUninstallPanel()
-  throws UserDataException
-  {
-
-    // TODO:  move this to the Uninstall application
-
-    UninstallUserData uud = (UninstallUserData)application.getUserData();
-    uud.setRemoveLibrariesAndTools(
-        (Boolean)getFieldValue(FieldName.REMOVE_LIBRARIES_AND_TOOLS));
-    uud.setRemoveDatabases(
-        (Boolean)getFieldValue(FieldName.REMOVE_DATABASES));
-    uud.setRemoveConfigurationAndSchema(
-        (Boolean)getFieldValue(FieldName.REMOVE_CONFIGURATION_AND_SCHEMA));
-    uud.setRemoveBackups(
-        (Boolean)getFieldValue(FieldName.REMOVE_BACKUPS));
-    uud.setRemoveLDIFs(
-        (Boolean)getFieldValue(FieldName.REMOVE_LDIFS));
-    uud.setRemoveLogs(
-        (Boolean)getFieldValue(FieldName.REMOVE_LOGS));
-
-    Set<String> dbs = new HashSet<String>();
-    Set s = (Set)getFieldValue(FieldName.EXTERNAL_DB_DIRECTORIES);
-    for (Object v: s)
-    {
-      dbs.add((String)v);
-    }
-
-    Set<String> logs = new HashSet<String>();
-    s = (Set)getFieldValue(FieldName.EXTERNAL_LOG_FILES);
-    for (Object v: s)
-    {
-      logs.add((String)v);
-    }
-
-    uud.setExternalDbsToRemove(dbs);
-    uud.setExternalLogsToRemove(logs);
-
-    if ((dbs.size() == 0) &&
-        (logs.size() == 0) &&
-        !uud.getRemoveLibrariesAndTools() &&
-        !uud.getRemoveDatabases() &&
-        !uud.getRemoveConfigurationAndSchema() &&
-        !uud.getRemoveBackups() &&
-        !uud.getRemoveLDIFs() &&
-        !uud.getRemoveLogs())
-    {
-      throw new UserDataException(Step.CONFIRM_UNINSTALL,
-          getMsg("nothing-selected-to-uninstall"));
-    }
-  }
-
-  /**
    * Launch the installation of Open DS. Depending on whether we are running a
    * web start or not it will use on Installer object or other.
    *
    */
-  private void launchInstallation()
+  public void launchInstallation()
   {
     ProgressMessageFormatter formatter = getDialog().getFormatter();
 
@@ -1041,7 +449,7 @@
    * Launch the uninstallation of Open DS.
    *
    */
-  private void launchUninstallation()
+  public void launchUninstallation()
   {
     application.addProgressUpdateListener(this);
     new Thread(application).start();
@@ -1100,7 +508,7 @@
    *
    * @return the currently displayed Step of the wizard.
    */
-  private Step getCurrentStep()
+  private WizardStep getCurrentStep()
   {
     return currentStep;
   }
@@ -1112,7 +520,7 @@
    *
    * @param step The step to be displayed.
    */
-  public void setCurrentStep(Step step)
+  public void setCurrentStep(WizardStep step)
   {
     if (step == null)
     {
@@ -1123,60 +531,11 @@
   }
 
   /**
-   * Gets the next step corresponding to the step passed as parameter.
-   *
-   * @param step the step of which we want to get the new step.
-   * @return the next step for the current step.
-   */
-  public Step nextStep(Step step)
-  {
-    Step nextStep;
-    if (step == Step.CONFIRM_UNINSTALL)
-    {
-      nextStep = Step.PROGRESS;
-    }
-    else
-    {
-      Iterator<Step> it = EnumSet.range(step, Step.PROGRESS).iterator();
-      it.next();
-      if (!it.hasNext())
-      {
-        throw new IllegalArgumentException("No next for step: " + step);
-      }
-      nextStep = it.next();
-    }
-    return nextStep;
-  }
-
-  /**
-   * Gets the previous step corresponding to the step passed as parameter.
-   *
-   * @param step,
-   *          the step of which we want to get the previous step.
-   * @return the next step for the current step.
-   * @throws IllegalArgumentException
-   *           if the current step has not a previous step.
-   */
-  private Step previousStep(Step step)
-  {
-    Step previous = null;
-    for (Step s : Step.values())
-    {
-      if (s == step)
-      {
-        return previous;
-      }
-      previous = s;
-    }
-    throw new IllegalArgumentException("No previous for step: " + step);
-  }
-
-  /**
    * Get the dialog that is displayed.
    *
    * @return the dialog.
    */
-  private QuickSetupDialog getDialog()
+  public QuickSetupDialog getDialog()
   {
     if (dialog == null)
     {
@@ -1222,7 +581,7 @@
    *          the field name object.
    * @return the string value for the field name.
    */
-  private String getFieldStringValue(FieldName fieldName)
+  public String getFieldStringValue(FieldName fieldName)
   {
     String sValue = null;
 
@@ -1247,7 +606,7 @@
    *          the field name object.
    * @return the value for the field name.
    */
-  private Object getFieldValue(FieldName fieldName)
+  public Object getFieldValue(FieldName fieldName)
   {
     return getDialog().getFieldValue(fieldName);
   }
@@ -1263,7 +622,7 @@
    * @param invalid
    *          whether to mark the field valid or invalid.
    */
-  private void displayFieldInvalid(FieldName fieldName, boolean invalid)
+  public void displayFieldInvalid(FieldName fieldName, boolean invalid)
   {
     getDialog().displayFieldInvalid(fieldName, invalid);
   }
@@ -1313,22 +672,7 @@
   {
     return Utils.isWebStart();
   }
-
-  /**
-   * Returns the number of free disk space in bytes required to install Open DS
-   *
-   * For the moment we just return 15 Megabytes. TODO we might want to have
-   * something dynamic to calculate the required free disk space for the
-   * installation.
-   *
-   * @return the number of free disk space required to install Open DS.
-   */
-  private long getRequiredInstallSpace()
-  {
-    return 15 * 1024 * 1024;
-  }
 }
-
 /**
  * This class is just used to specify which are the default values that will be
  * proposed to the user in the Data Options panel of the Installation wizard.

--
Gitblit v1.10.0