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/ID2Count.java |   25 ++++++++++++++++++++++++-
 1 files changed, 24 insertions(+), 1 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/ID2Count.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/ID2Count.java
index e974319..172d8f8 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/ID2Count.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/ID2Count.java
@@ -25,10 +25,11 @@
 package org.opends.server.backends.pluggable;
 
 import org.forgerock.opendj.ldap.ByteSequence;
+import org.forgerock.opendj.ldap.ByteSequenceReader;
 import org.forgerock.opendj.ldap.ByteString;
 import org.forgerock.opendj.ldap.ByteStringBuilder;
-import org.forgerock.util.Function;
 import org.forgerock.util.Reject;
+import org.forgerock.util.Function;
 import org.forgerock.util.promise.NeverThrowsException;
 import org.opends.server.backends.pluggable.spi.Cursor;
 import org.opends.server.backends.pluggable.spi.Importer;
@@ -145,6 +146,28 @@
     return value.toLong();
   }
 
+  @Override
+  public String keyToString(ByteString key)
+  {
+    ByteSequenceReader keyReader = key.asReader();
+    long keyID = keyReader.getCompactUnsigned();
+    long shardBucket = keyReader.getCompactUnsigned();
+    return (keyID == TOTAL_COUNT_ENTRY_ID.longValue() ? "Total Children Count" : keyID) + "#" + shardBucket;
+  }
+
+  @Override
+  public String valueToString(ByteString value)
+  {
+    return String.valueOf(fromValue(value));
+  }
+
+  @Override
+  public ByteString generateKey(String data)
+  {
+    EntryID entryID = new EntryID(Long.parseLong(data));
+    return entryID.toByteString();
+  }
+
   /**
    * Get the counter value for the specified key
    * @param txn The transaction

--
Gitblit v1.10.0