From 68abf38e0b76422555852f16d5931f429dc74561 Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Mon, 07 Mar 2016 15:04:03 +0000
Subject: [PATCH] OPENDJ-1342 Migrate AVA, RDN, and DN classes: replaced calls to DN.rdn(int) and DN(RDN[])

---
 opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/EntryContainer.java |   33 ++-------------------------------
 1 files changed, 2 insertions(+), 31 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/EntryContainer.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/EntryContainer.java
index 6d1b0c3..4fab79c 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/EntryContainer.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/EntryContainer.java
@@ -48,6 +48,7 @@
 import org.forgerock.opendj.ldap.ByteSequence;
 import org.forgerock.opendj.ldap.ByteString;
 import org.forgerock.opendj.ldap.ByteStringBuilder;
+import org.forgerock.opendj.ldap.DN;
 import org.forgerock.opendj.ldap.ResultCode;
 import org.forgerock.opendj.ldap.SearchScope;
 import org.forgerock.opendj.ldap.schema.AttributeType;
@@ -90,13 +91,11 @@
 import org.opends.server.types.Attributes;
 import org.opends.server.types.CanceledOperationException;
 import org.opends.server.types.Control;
-import org.forgerock.opendj.ldap.DN;
 import org.opends.server.types.DirectoryException;
 import org.opends.server.types.Entry;
 import org.opends.server.types.Modification;
 import org.opends.server.types.Operation;
 import org.opends.server.types.Privilege;
-import org.forgerock.opendj.ldap.RDN;
 import org.opends.server.types.SearchFilter;
 import org.opends.server.types.SortOrder;
 import org.opends.server.types.VirtualAttributeRule;
@@ -2059,7 +2058,7 @@
           }
           else
           {
-            final DN newDN = modDN(oldEntry.getName(), oldTargetDN.size(), newTargetDN);
+            final DN newDN = oldEntry.getName().rename(oldTargetDN, newTargetDN);
             newEntry = oldEntry.duplicate(false);
             newEntry.setDN(newDN);
             modifications = invokeSubordinateModifyDNPlugins(oldEntry, newEntry);
@@ -2146,34 +2145,6 @@
   }
 
   /**
-   * Make a new DN for a subordinate entry of a renamed or moved entry.
-   *
-   * @param oldDN The current DN of the subordinate entry.
-   * @param oldSuffixLen The current DN length of the renamed or moved entry.
-   * @param newSuffixDN The new DN of the renamed or moved entry.
-   * @return The new DN of the subordinate entry.
-   */
-  static DN modDN(DN oldDN, int oldSuffixLen, DN newSuffixDN)
-  {
-    int oldDNNumComponents    = oldDN.size();
-    int oldDNKeepComponents   = oldDNNumComponents - oldSuffixLen;
-    int newSuffixDNComponents = newSuffixDN.size();
-
-    RDN[] newDNComponents = new RDN[oldDNKeepComponents+newSuffixDNComponents];
-    for (int i=0; i < oldDNKeepComponents; i++)
-    {
-      newDNComponents[i] = oldDN.rdn(i);
-    }
-
-    for (int i=oldDNKeepComponents, j=0; j < newSuffixDNComponents; i++,j++)
-    {
-      newDNComponents[i] = newSuffixDN.rdn(j);
-    }
-
-    return new DN(newDNComponents);
-  }
-
-  /**
    * Insert a new entry into the attribute indexes.
    *
    * @param buffer The index buffer used to buffer up the index changes.

--
Gitblit v1.10.0