From ff4e305d09da6752736d0d5a6f50239bc60454cc Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Fri, 04 Jan 2008 12:34:50 +0000
Subject: [PATCH] Fix for issue 2508: upgrade -a does not work

---
 opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/upgrader/UpgradeLauncher.java         |    9 +++++++++
 opendj-sdk/opends/src/messages/messages/quicksetup.properties                                |   11 +++++++----
 opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/upgrader/BuildExtractorCliHelper.java |    2 +-
 opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/upgrader/Reverter.java                |    2 +-
 4 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/opendj-sdk/opends/src/messages/messages/quicksetup.properties b/opendj-sdk/opends/src/messages/messages/quicksetup.properties
index 71ea775..849ae05 100644
--- a/opendj-sdk/opends/src/messages/messages/quicksetup.properties
+++ b/opendj-sdk/opends/src/messages/messages/quicksetup.properties
@@ -796,10 +796,13 @@
  You must specify one of %s
 INFO_REVERT_ERROR_NO_HISTORY_DIR=There are no existing backup locations from \
  prior upgrades.  The 'history' directory does not exist.
-INFO_REVERT_ERROR_NOT_DIR_FILES_DIR=The reversion archive directory is not a \
- directory.
-INFO_REVERT_ERROR_NULL_FILES_DIR=The reversion archive directory is invalid or \
- could not be determined.
+INFO_REVERT_ERROR_NOT_DIR_FILES_DIR=The specified reversion archive directory \
+ is not a directory.
+INFO_REVERT_ERROR_NULL_FILES_DIR=The specified reversion archive directory is \
+ invalid or could not be determined.
+INFO_REVERT_ERROR_INVALID_FILES_DIR=The contents of the specified reversion \
+ archive directory are invalid.
+INFO_REVERT_ERROR_NOT_REVERSION_FILES_DIR=The 
 INFO_REVERT_LAUNCHER_USAGE_DESCRIPTION=This utility reverts the current \
  installation of the Directory Server to a version prior to running the \
  upgrade utility.
diff --git a/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/upgrader/BuildExtractorCliHelper.java b/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/upgrader/BuildExtractorCliHelper.java
index 96471d9..30445fc 100644
--- a/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/upgrader/BuildExtractorCliHelper.java
+++ b/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/upgrader/BuildExtractorCliHelper.java
@@ -137,7 +137,7 @@
         uud.setInstallPackage(
                 validateInstallPackFile(upgradeFile));
       }
-      if (launcher.isRevertMostRecent())
+      if (launcher.isRevertMostRecent() || launcher.isRevertToArchive())
       {
         uud.setOperation(UpgradeUserData.Operation.REVERSION);
       }
diff --git a/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/upgrader/Reverter.java b/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/upgrader/Reverter.java
index 407252e..92239cf 100644
--- a/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/upgrader/Reverter.java
+++ b/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/upgrader/Reverter.java
@@ -706,7 +706,7 @@
               INFO_REVERT_ERROR_NOT_DIR_FILES_DIR.get());
     } else if (!isReversionFilesDirectory(filesDir)) {
       throw new UserDataException(null,
-              INFO_REVERT_ERROR_NOT_DIR_FILES_DIR.get());
+              INFO_REVERT_ERROR_INVALID_FILES_DIR.get());
     }
     return filesDir;
   }
diff --git a/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/upgrader/UpgradeLauncher.java b/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/upgrader/UpgradeLauncher.java
index f067e9b..92bfaa9 100644
--- a/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/upgrader/UpgradeLauncher.java
+++ b/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/upgrader/UpgradeLauncher.java
@@ -283,6 +283,15 @@
   }
 
   /**
+   * Indicates whether the user has specified to revert to an specific archive.
+   * @return boolean where true indicates that the user specified to revert to
+   * an specific archive.
+   */
+  public boolean isRevertToArchive() {
+    return reversionArchive.isPresent();
+  }
+
+  /**
    * Creates an instance.
    *
    * @param args specified on command line

--
Gitblit v1.10.0