From 218b2a22d685fef5602021786334a4d78a2460e2 Mon Sep 17 00:00:00 2001
From: ludovicp <ludovicp@localhost>
Date: Fri, 25 Jun 2010 09:40:08 +0000
Subject: [PATCH] Resolves an issue in Import due to entries with multiple RDNs. This patch changes the key format used by the DN2ID database. Rebuilding the index is required.

---
 opends/src/server/org/opends/server/tools/DBTest.java |   16 +++++++---------
 1 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/opends/src/server/org/opends/server/tools/DBTest.java b/opends/src/server/org/opends/server/tools/DBTest.java
index 5bf9364..b24a540 100644
--- a/opends/src/server/org/opends/server/tools/DBTest.java
+++ b/opends/src/server/org/opends/server/tools/DBTest.java
@@ -22,7 +22,7 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2006-2008 Sun Microsystems, Inc.
+ *      Copyright 2006-2010 Sun Microsystems, Inc.
  */
 package org.opends.server.tools;
 
@@ -1161,8 +1161,6 @@
         OperationStatus status;
         Comparator<byte[]> defaultComparator =
             new AttributeIndex.KeyComparator();
-        Comparator<byte[]> dnComparator =
-            new EntryContainer.KeyReverseComparator();
         byte[] start = null;
         byte[] end = null;
         int minSize = -1;
@@ -1320,14 +1318,14 @@
           {
             if(databaseContainer instanceof DN2ID)
             {
-              if(dnComparator.compare(key.getData(), end) > 0)
+              if(defaultComparator.compare(key.getData(), end) > 0)
               {
                 break;
               }
             }
             else if(databaseContainer instanceof DN2URI)
             {
-              if(dnComparator.compare(key.getData(), end) > 0)
+              if(defaultComparator.compare(key.getData(), end) > 0)
               {
                 break;
               }
@@ -1372,8 +1370,9 @@
               {
                 try
                 {
-                  formatedKey = DN.decode(ByteString.wrap(key.getData())).
-                    toNormalizedString();
+                  formatedKey = JebFormat.dnFromDNKey(
+                      key.getData(), 0, key.getSize(), ec.getBaseDN()).
+                      toNormalizedString();
                   keyLabel = INFO_LABEL_DBTEST_ENTRY_DN.get();
                 }
                 catch(Exception e)
@@ -1411,8 +1410,7 @@
               {
                 try
                 {
-                  formatedKey = DN.decode(ByteString.wrap(
-                    key.getData())).toNormalizedString();
+                  formatedKey = new String(key.getData());
                   keyLabel = INFO_LABEL_DBTEST_ENTRY_DN.get();
                 }
                 catch(Exception e)

--
Gitblit v1.10.0