From 36e213444660f0a74ed415adeab490a5f3d50a6f Mon Sep 17 00:00:00 2001
From: Fabio Pistolesi <fabio.pistolesi@forgerock.com>
Date: Fri, 09 Oct 2015 11:40:06 +0000
Subject: [PATCH] OPENDJ-1791 Implement a tool like dbtest for the pluggable backend

---
 opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/spi/TreeName.java |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/spi/TreeName.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/spi/TreeName.java
index 3d8e306..7a575ce 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/spi/TreeName.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/spi/TreeName.java
@@ -25,6 +25,8 @@
  */
 package org.opends.server.backends.pluggable.spi;
 
+import org.forgerock.util.Reject;
+
 /**
  * Represents the name of a tree (key-value store) in a database.
  * A tree name is made of the baseDN it is part of, and the identifier of the index it represents.
@@ -60,8 +62,11 @@
    */
   public static TreeName valueOf(String treeName)
   {
-    final String[] split = treeName.split("/");
-    return new TreeName(split[0], split[1]);
+    int lastSlash = treeName.lastIndexOf('/');
+    Reject.ifTrue(lastSlash < 2 || treeName.charAt(0) != '/', "TreeName is not of the form /<name>/<name>");
+    String baseDN = treeName.substring(1, lastSlash);
+    String indexId = treeName.substring(lastSlash + 1);
+    return new TreeName(baseDN, indexId);
   }
 
   /**
@@ -123,4 +128,4 @@
   {
     return s.compareTo(o.s);
   }
-}
\ No newline at end of file
+}

--
Gitblit v1.10.0