From eaa95348ed85ad3d9909e8e703bdeae31a48e0ab Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Wed, 17 Dec 2014 15:47:14 +0000
Subject: [PATCH] OPENDJ-1602 (CR-5566) New pluggable storage based backend

---
 opendj3-server-dev/src/server/org/opends/server/backends/pluggable/spi/TreeName.java |   27 +++++++++++++++++++++++----
 1 files changed, 23 insertions(+), 4 deletions(-)

diff --git a/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/spi/TreeName.java b/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/spi/TreeName.java
index d872ee9..0a12e6e 100644
--- a/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/spi/TreeName.java
+++ b/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/spi/TreeName.java
@@ -23,7 +23,6 @@
  *
  *      Copyright 2014 ForgeRock AS
  */
-
 package org.opends.server.backends.pluggable.spi;
 
 import java.util.ArrayList;
@@ -76,15 +75,26 @@
     return new TreeName(Collections.singletonList(names.get(0)));
   }
 
-  public boolean isSuffixOf(TreeName tree)
+  public TreeName replaceSuffix(TreeName newSuffix)
   {
-    if (names.size() > tree.names.size())
+    if (names.size() == 0)
+    {
+      throw new IllegalStateException();
+    }
+    final ArrayList<String> newNames = new ArrayList<String>(names);
+    newNames.set(0, newSuffix.names.get(0));
+    return new TreeName(newNames);
+  }
+
+  public boolean isSuffixOf(TreeName treeName)
+  {
+    if (names.size() > treeName.names.size())
     {
       return false;
     }
     for (int i = 0; i < names.size(); i++)
     {
-      if (!tree.names.get(i).equals(names.get(i)))
+      if (!treeName.names.get(i).equals(names.get(i)))
       {
         return false;
       }
@@ -92,6 +102,15 @@
     return true;
   }
 
+  public TreeName getIndex()
+  {
+    if (names.size() == 1)
+    {
+      return null;
+    }
+    return new TreeName(names.subList(1, names.size()));
+  }
+
   @Override
   public boolean equals(final Object obj)
   {

--
Gitblit v1.10.0