From d39b941258094921b72a9c22f8a87c01c8dbec8e Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Tue, 29 Apr 2014 12:40:47 +0000
Subject: [PATCH] Support suffixes containing space in the changelog state DB.
---
opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/ReplicationDbEnv.java | 8 +++++---
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/server/changelog/je/ReplicationDbEnvTest.java | 5 ++---
2 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/ReplicationDbEnv.java b/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/ReplicationDbEnv.java
index 32b419e..e4d7283 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/ReplicationDbEnv.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/ReplicationDbEnv.java
@@ -252,12 +252,13 @@
if (debugEnabled())
{
- debug("read (key, value)=(" + stringKey + ", " + stringData + ")");
+ debug("read (key, data)=(" + stringKey + ", " + stringData + ")");
}
- final String[] str = stringData.split(FIELD_SEPARATOR, 3);
- if (str[0].equals(GENERATION_ID_TAG))
+ final String prefix = stringKey.split(FIELD_SEPARATOR)[0];
+ if (prefix.equals(GENERATION_ID_TAG))
{
+ final String[] str = stringData.split(FIELD_SEPARATOR, 3);
final long generationId = toLong(str[1]);
final DN baseDN = DN.decode(str[2]);
if (debugEnabled())
@@ -269,6 +270,7 @@
}
else
{
+ final String[] str = stringData.split(FIELD_SEPARATOR, 2);
final int serverId = toInt(str[0]);
final DN baseDN = DN.decode(str[1]);
if (debugEnabled())
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/server/changelog/je/ReplicationDbEnvTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/server/changelog/je/ReplicationDbEnvTest.java
index 1a13313..72fc472 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/server/changelog/je/ReplicationDbEnvTest.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/server/changelog/je/ReplicationDbEnvTest.java
@@ -52,7 +52,7 @@
{
/**
- * Bypass heavyweight setup.
+ * Bypass heavyweight setup.
*/
private final class TestableReplicationDbEnv extends ReplicationDbEnv
{
@@ -93,8 +93,7 @@
return new Object[][] {
{ DN.decode("dc=example,dc=com"), 524157415, asList(42, 346) },
// test with a space in the baseDN (space is the field separator in the DB)
- // FIXME does not work yet (gosh!!)
- // { DN.decode("cn=admin data"), 524157415, asList(42, 346) },
+ { DN.decode("cn=admin data"), 524157415, asList(42, 346) },
};
}
--
Gitblit v1.10.0