From 815a836ed89f450f9949d1a40bb99ec3e7889e2e Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Tue, 27 Oct 2015 15:19:37 +0000
Subject: [PATCH] OPENDJ-2297 OpenDJ 2.x -> 3.0 upgrade fails when there are VLV indexes

---
 opendj-legacy/src/main/java/org/opends/server/schema/NumericStringOrderingMatchingRule.java             |    4 ++--
 opendj-legacy/src/main/java/org/opends/server/schema/OctetStringOrderingMatchingRule.java               |    4 ++--
 opendj-legacy/src/main/java/org/opends/legacy/DummyByteArrayComparator.java                             |    8 +++-----
 opendj-legacy/src/main/java/org/opends/server/schema/CaseIgnoreOrderingMatchingRule.java                |    4 ++--
 opendj-legacy/src/main/java/org/opends/server/schema/GeneralizedTimeOrderingMatchingRule.java           |    4 ++--
 opendj-legacy/src/main/java/org/opends/server/schema/IntegerOrderingMatchingRule.java                   |    4 ++--
 opendj-legacy/src/main/java/org/opends/server/schema/CaseExactOrderingMatchingRule.java                 |    4 ++--
 opendj-legacy/src/main/java/org/opends/server/replication/plugin/HistoricalCsnOrderingMatchingRule.java |    4 ++--
 opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/VLVKeyComparator.java                 |    3 +--
 opendj-legacy/src/main/java/org/opends/server/schema/UUIDOrderingMatchingRule.java                      |    4 ++--
 10 files changed, 20 insertions(+), 23 deletions(-)

diff --git a/opendj-legacy/src/main/java/org/opends/legacy/DummyByteArrayComparator.java b/opendj-legacy/src/main/java/org/opends/legacy/DummyByteArrayComparator.java
index fd0a05b..7cdcf2b 100644
--- a/opendj-legacy/src/main/java/org/opends/legacy/DummyByteArrayComparator.java
+++ b/opendj-legacy/src/main/java/org/opends/legacy/DummyByteArrayComparator.java
@@ -20,10 +20,11 @@
  *
  * CDDL HEADER END
  *
- *      Copyright 2014 ForgeRock AS
+ *      Copyright 2014-2015 ForgeRock AS
  */
 package org.opends.legacy;
 
+import java.io.Serializable;
 import java.util.Comparator;
 
 /**
@@ -35,12 +36,9 @@
  * @deprecated Do not use
  */
 @Deprecated
-public class DummyByteArrayComparator implements Comparator<byte[]> {
-
-    /** {@inheritDoc} */
+public class DummyByteArrayComparator implements Comparator<byte[]>, Serializable {
     @Override
     public int compare(byte[] o1, byte[] o2) {
         return 0;
     }
-
 }
diff --git a/opendj-legacy/src/main/java/org/opends/server/replication/plugin/HistoricalCsnOrderingMatchingRule.java b/opendj-legacy/src/main/java/org/opends/server/replication/plugin/HistoricalCsnOrderingMatchingRule.java
index 40df01a..7879040 100644
--- a/opendj-legacy/src/main/java/org/opends/server/replication/plugin/HistoricalCsnOrderingMatchingRule.java
+++ b/opendj-legacy/src/main/java/org/opends/server/replication/plugin/HistoricalCsnOrderingMatchingRule.java
@@ -20,7 +20,7 @@
  *
  * CDDL HEADER END
  *
- *      Copyright 2014 ForgeRock AS
+ *      Copyright 2014-2015 ForgeRock AS
  */
 package org.opends.server.replication.plugin;
 
@@ -33,5 +33,5 @@
  */
 @Deprecated
 public class HistoricalCsnOrderingMatchingRule extends DummyByteArrayComparator {
-    // empty
+    private static final long serialVersionUID = -3424403930225609943L;
 }
diff --git a/opendj-legacy/src/main/java/org/opends/server/schema/CaseExactOrderingMatchingRule.java b/opendj-legacy/src/main/java/org/opends/server/schema/CaseExactOrderingMatchingRule.java
index fe75167..298380a 100644
--- a/opendj-legacy/src/main/java/org/opends/server/schema/CaseExactOrderingMatchingRule.java
+++ b/opendj-legacy/src/main/java/org/opends/server/schema/CaseExactOrderingMatchingRule.java
@@ -20,7 +20,7 @@
  *
  * CDDL HEADER END
  *
- *      Copyright 2014 ForgeRock AS
+ *      Copyright 2014-2015 ForgeRock AS
  */
 package org.opends.server.schema;
 
@@ -33,5 +33,5 @@
  */
 @Deprecated
 public class CaseExactOrderingMatchingRule extends DummyByteArrayComparator {
-    // empty
+    private static final long serialVersionUID = -5904188628828913709L;
 }
diff --git a/opendj-legacy/src/main/java/org/opends/server/schema/CaseIgnoreOrderingMatchingRule.java b/opendj-legacy/src/main/java/org/opends/server/schema/CaseIgnoreOrderingMatchingRule.java
index a330135..03ab115 100644
--- a/opendj-legacy/src/main/java/org/opends/server/schema/CaseIgnoreOrderingMatchingRule.java
+++ b/opendj-legacy/src/main/java/org/opends/server/schema/CaseIgnoreOrderingMatchingRule.java
@@ -20,7 +20,7 @@
  *
  * CDDL HEADER END
  *
- *      Copyright 2014 ForgeRock AS
+ *      Copyright 2014-2015 ForgeRock AS
  */
 package org.opends.server.schema;
 
@@ -33,5 +33,5 @@
  */
 @Deprecated
 public class CaseIgnoreOrderingMatchingRule extends DummyByteArrayComparator {
-    // empty
+    private static final long serialVersionUID = -8992263058903266096L;
 }
diff --git a/opendj-legacy/src/main/java/org/opends/server/schema/GeneralizedTimeOrderingMatchingRule.java b/opendj-legacy/src/main/java/org/opends/server/schema/GeneralizedTimeOrderingMatchingRule.java
index 73ebaf7..be43c98 100644
--- a/opendj-legacy/src/main/java/org/opends/server/schema/GeneralizedTimeOrderingMatchingRule.java
+++ b/opendj-legacy/src/main/java/org/opends/server/schema/GeneralizedTimeOrderingMatchingRule.java
@@ -20,7 +20,7 @@
  *
  * CDDL HEADER END
  *
- *      Copyright 2014 ForgeRock AS
+ *      Copyright 2014-2015 ForgeRock AS
  */
 package org.opends.server.schema;
 
@@ -33,5 +33,5 @@
  */
 @Deprecated
 public class GeneralizedTimeOrderingMatchingRule extends DummyByteArrayComparator {
-    // empty
+    private static final long serialVersionUID = -6343622924726948145L;
 }
diff --git a/opendj-legacy/src/main/java/org/opends/server/schema/IntegerOrderingMatchingRule.java b/opendj-legacy/src/main/java/org/opends/server/schema/IntegerOrderingMatchingRule.java
index fd07b1f..204ac80 100644
--- a/opendj-legacy/src/main/java/org/opends/server/schema/IntegerOrderingMatchingRule.java
+++ b/opendj-legacy/src/main/java/org/opends/server/schema/IntegerOrderingMatchingRule.java
@@ -20,7 +20,7 @@
  *
  * CDDL HEADER END
  *
- *      Copyright 2014 ForgeRock AS
+ *      Copyright 2014-2015 ForgeRock AS
  */
 package org.opends.server.schema;
 
@@ -33,5 +33,5 @@
  */
 @Deprecated
 public class IntegerOrderingMatchingRule extends DummyByteArrayComparator {
-    // empty
+    private static final long serialVersionUID = 6654300545706161754L;
 }
diff --git a/opendj-legacy/src/main/java/org/opends/server/schema/NumericStringOrderingMatchingRule.java b/opendj-legacy/src/main/java/org/opends/server/schema/NumericStringOrderingMatchingRule.java
index 0a21af6..664f05f 100644
--- a/opendj-legacy/src/main/java/org/opends/server/schema/NumericStringOrderingMatchingRule.java
+++ b/opendj-legacy/src/main/java/org/opends/server/schema/NumericStringOrderingMatchingRule.java
@@ -20,7 +20,7 @@
  *
  * CDDL HEADER END
  *
- *      Copyright 2014 ForgeRock AS
+ *      Copyright 2014-2015 ForgeRock AS
  */
 package org.opends.server.schema;
 
@@ -33,5 +33,5 @@
  */
 @Deprecated
 public class NumericStringOrderingMatchingRule extends DummyByteArrayComparator {
-    // empty
+    private static final long serialVersionUID = 388436004219363604L;
 }
diff --git a/opendj-legacy/src/main/java/org/opends/server/schema/OctetStringOrderingMatchingRule.java b/opendj-legacy/src/main/java/org/opends/server/schema/OctetStringOrderingMatchingRule.java
index 5293b70..45d4d8b 100644
--- a/opendj-legacy/src/main/java/org/opends/server/schema/OctetStringOrderingMatchingRule.java
+++ b/opendj-legacy/src/main/java/org/opends/server/schema/OctetStringOrderingMatchingRule.java
@@ -20,7 +20,7 @@
  *
  * CDDL HEADER END
  *
- *      Copyright 2014 ForgeRock AS
+ *      Copyright 2014-2015 ForgeRock AS
  */
 package org.opends.server.schema;
 
@@ -33,5 +33,5 @@
  */
 @Deprecated
 public class OctetStringOrderingMatchingRule extends DummyByteArrayComparator {
-    // empty
+    private static final long serialVersionUID = 3832343819704649155L;
 }
diff --git a/opendj-legacy/src/main/java/org/opends/server/schema/UUIDOrderingMatchingRule.java b/opendj-legacy/src/main/java/org/opends/server/schema/UUIDOrderingMatchingRule.java
index 6694507..88601b2 100644
--- a/opendj-legacy/src/main/java/org/opends/server/schema/UUIDOrderingMatchingRule.java
+++ b/opendj-legacy/src/main/java/org/opends/server/schema/UUIDOrderingMatchingRule.java
@@ -20,7 +20,7 @@
  *
  * CDDL HEADER END
  *
- *      Copyright 2014 ForgeRock AS
+ *      Copyright 2014-2015 ForgeRock AS
  */
 package org.opends.server.schema;
 
@@ -33,5 +33,5 @@
  */
 @Deprecated
 public class UUIDOrderingMatchingRule extends DummyByteArrayComparator {
-    // empty
+    private static final long serialVersionUID = -3877941142853469687L;
 }
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/VLVKeyComparator.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/VLVKeyComparator.java
index c7f670b..85db87b 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/VLVKeyComparator.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/VLVKeyComparator.java
@@ -330,11 +330,10 @@
     }
   }
 
-  /** {@inheritDoc} */
   @Override
   public void initialize(ClassLoader loader)
   {
-    if (orderingRules == null)
+    if (orderingRules == null && orderingRuleOids != null)
     {
       orderingRules = new MatchingRule[orderingRuleOids.length];
       for (int i = 0; i < orderingRuleOids.length; i++)

--
Gitblit v1.10.0