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