From 249dcc4890d220c7aeccb5b905d33da355cd0608 Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Tue, 05 Jan 2016 13:59:21 +0000
Subject: [PATCH] OPENDJ-2583 Upgrade from 2.5.0 express to 3.0.0 does not work

---
 opendj-server-legacy/src/main/java/org/opends/server/util/BuildVersion.java     |   21 +++++++++------------
 opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/Upgrade.java |   23 ++++++++++++-----------
 2 files changed, 21 insertions(+), 23 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/Upgrade.java b/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/Upgrade.java
index d764afd..e35c241 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/Upgrade.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/Upgrade.java
@@ -161,7 +161,7 @@
         "add: ds-cfg-strict-format",
         "ds-cfg-strict-format: false"));
 
-    register("2.5.0",
+    register("2.5.1",
         modifyConfigEntry(INFO_UPGRADE_TASK_8124_SUMMARY.get(),
         "(ds-cfg-java-class=org.opends.server.schema.JPEGSyntax)",
         "add: objectClass",
@@ -170,7 +170,7 @@
         "add: ds-cfg-strict-format",
         "ds-cfg-strict-format: false"));
 
-    register("2.5.0",
+    register("2.5.1",
         modifyConfigEntry(INFO_UPGRADE_TASK_8133_SUMMARY.get(),
         "(ds-cfg-java-class=org.opends.server.schema.CountryStringSyntax)",
         "add: objectClass",
@@ -179,7 +179,7 @@
         "add: ds-cfg-strict-format",
         "ds-cfg-strict-format: false"));
 
-    register("2.5.0",
+    register("2.5.1",
         requireConfirmation(INFO_UPGRADE_TASK_8214_DESCRIPTION.get(), YES,
             modifyConfigEntry(INFO_UPGRADE_TASK_8214_SUMMARY.get(),
                 "(ds-cfg-java-class=org.opends.server.extensions.IsMemberOfVirtualAttributeProvider)",
@@ -190,19 +190,19 @@
                 "delete: ds-cfg-filter",
                 "ds-cfg-filter: (objectClass=person)")));
 
-    register("2.5.0",
+    register("2.5.1",
         modifyConfigEntry(INFO_UPGRADE_TASK_8387_SUMMARY.get(),
         "(objectClass=ds-cfg-dictionary-password-validator)",
         "add: ds-cfg-check-substrings",
         "ds-cfg-check-substrings: false"));
 
-    register("2.5.0",
+    register("2.5.1",
         modifyConfigEntry(INFO_UPGRADE_TASK_8389_SUMMARY.get(),
         "(objectClass=ds-cfg-attribute-value-password-validator)",
         "add: ds-cfg-check-substrings",
         "ds-cfg-check-substrings: false"));
 
-    register("2.5.0",
+    register("2.5.1",
         addConfigEntry(INFO_UPGRADE_TASK_8487_SUMMARY.get(),
         "dn: cn=PBKDF2,cn=Password Storage Schemes,cn=config",
         "changetype: add",
@@ -214,7 +214,7 @@
             + "PBKDF2PasswordStorageScheme",
         "ds-cfg-enabled: true"));
 
-    register("2.5.0",
+    register("2.5.1",
         addConfigFile("http-config.json"),
         addConfigEntry(INFO_UPGRADE_TASK_8613_SUMMARY.get(),
         "dn: cn=HTTP Connection Handler,cn=Connection Handlers,cn=config",
@@ -242,7 +242,8 @@
         "ds-cfg-use-ssl: false",
         "ds-cfg-enabled: false"));
 
-    register("2.5.0", addConfigEntry(INFO_UPGRADE_TASK_8832_SUMMARY.get(),
+    register("2.5.1",
+        addConfigEntry(INFO_UPGRADE_TASK_8832_SUMMARY.get(),
         "dn: cn=File-Based HTTP Access Logger,cn=Loggers,cn=config",
         "changetype: add",
         "objectClass: ds-cfg-file-based-http-access-log-publisher",
@@ -264,7 +265,7 @@
         "ds-cfg-log-file-permissions: 640",
         "ds-cfg-enabled: false"));
 
-    register("2.5.0",
+    register("2.5.1",
         newAttributeTypes(INFO_UPGRADE_TASK_8985_1_SUMMARY.get(),
         "00-core.ldif", "1.2.840.113549.1.9.1"), // emailAddress
         modifyConfigEntry(INFO_UPGRADE_TASK_8985_2_SUMMARY.get(),
@@ -278,8 +279,8 @@
         "ds-cfg-subject-attribute-mapping: emailAddress:mail"));
 
     /** See OPENDJ-992 */
-    register("2.5.0",
-        regressionInVersion("2.5.0.7640",
+    register("2.5.1",
+        regressionInVersion("2.5.0",
             rebuildSingleIndex(INFO_UPGRADE_TASK_9013_DESCRIPTION.get(),
                 "ds-sync-hist")));
 
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/util/BuildVersion.java b/opendj-server-legacy/src/main/java/org/opends/server/util/BuildVersion.java
index 1db9c34..e00afaf 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/util/BuildVersion.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/util/BuildVersion.java
@@ -22,7 +22,7 @@
  *
  *
  *      Copyright 2008 Sun Microsystems, Inc.
- *      Portions copyright 2013-2015 ForgeRock AS.
+ *      Portions copyright 2013-2016 ForgeRock AS.
  */
 package org.opends.server.util;
 
@@ -196,14 +196,7 @@
       {
         if (point == version.point)
         {
-          if (rev == version.rev)
-          {
-            return 0;
-          }
-          else if (rev.compareTo(version.rev) < 0)
-          {
-            return -1;
-          }
+          return 0;
         }
         else if (point < version.point)
         {
@@ -232,7 +225,7 @@
     else if (obj instanceof BuildVersion)
     {
       final BuildVersion other = (BuildVersion) obj;
-      return major == other.major && minor == other.minor && point == other.point && rev.equals(other.rev);
+      return major == other.major && minor == other.minor && point == other.point;
     }
     else
     {
@@ -283,12 +276,16 @@
   @Override
   public int hashCode()
   {
-    return Arrays.hashCode(new int[] { major, minor, point, rev.hashCode() });
+    return Arrays.hashCode(new int[] { major, minor, point });
   }
 
   @Override
   public String toString()
   {
-    return Utils.joinAsString(".", major, minor, point, rev);
+    if (!rev.isEmpty())
+    {
+      return Utils.joinAsString(".", major, minor, point, rev);
+    }
+    return Utils.joinAsString(".", major, minor, point);
   }
 }

--
Gitblit v1.10.0