From 38a66ffda0dd97801656c4e0c0f8cc34771f64af Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Wed, 11 Feb 2015 14:25:44 +0000
Subject: [PATCH] OPENDJ-1707 Persistit: various import problems
---
opendj3-server-dev/src/server/org/opends/server/backends/pluggable/EntryIDSet.java | 31 +++++++++++++++++++++++++------
1 files changed, 25 insertions(+), 6 deletions(-)
diff --git a/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/EntryIDSet.java b/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/EntryIDSet.java
index 43319e5..fce7cfd 100644
--- a/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/EntryIDSet.java
+++ b/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/EntryIDSet.java
@@ -101,9 +101,7 @@
else if ((bytes.byteAt(0) & 0x80) == 0x80)
{
// Entry limit has exceeded and there is an encoded undefined set size.
- undefinedSize = bytes.length() == 8
- ? bytes.toLong() & Long.MAX_VALUE // remove top bit
- : Long.MAX_VALUE;
+ undefinedSize = decodeUndefinedSize(bytes);
}
else
{
@@ -113,7 +111,28 @@
}
}
- private long[] decodeEntryIDList(ByteString bytes)
+ /**
+ * Decodes and returns the undefined size out of the provided byte string.
+ *
+ * @param bytes
+ * the encoded undefined size
+ * @return the undefined size
+ */
+ static long decodeUndefinedSize(ByteString bytes)
+ {
+ return bytes.length() == 8
+ ? bytes.toLong() & Long.MAX_VALUE // remove top bit
+ : Long.MAX_VALUE;
+ }
+
+ /**
+ * Decodes and returns the entryID list out of the provided byte sequence.
+ *
+ * @param bytes
+ * the encoded entryID list
+ * @return a long array representing the entryID list
+ */
+ static long[] decodeEntryIDList(ByteSequence bytes)
{
final ByteSequenceReader reader = bytes.asReader();
final int count = bytes.length() / 8;
@@ -301,9 +320,9 @@
if (isDefined())
{
final ByteStringBuilder builder = new ByteStringBuilder(8 * values.length);
- for (int i = 0; i < values.length; i++)
+ for (long value : values)
{
- builder.append(values[i]);
+ builder.append(value);
}
return builder.toByteString();
}
--
Gitblit v1.10.0