From dfbe880eb338a1d752ce790f689b5133761d7079 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Thu, 26 Sep 2013 07:35:55 +0000
Subject: [PATCH] OPENDJ-1116 Introduce abstraction for the changelog DB

---
 opends/tests/unit-tests-testng/src/server/org/opends/server/replication/UpdateOperationTest.java |  314 ++++++++++++++++++++++------------------------------
 1 files changed, 134 insertions(+), 180 deletions(-)

diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/UpdateOperationTest.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/UpdateOperationTest.java
index 23abf96..1536cbc 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/UpdateOperationTest.java
+++ b/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/UpdateOperationTest.java
@@ -71,12 +71,12 @@
   private Entry personWithSecondUniqueID;
 
   private Entry  user3Entry;
-  private String user3dn;
+  private DN user3dn;
   private String user3UUID;
 
   private String baseUUID;
 
-  private String user1dn;
+  private DN user1dn;
   private String user1entrysecondUUID;
   private String user1entryUUID;
 
@@ -88,9 +88,9 @@
   private String domain1uid;
   private String domain2uid;
   private String domain3uid;
-  private String domain1dn;
-  private String domain2dn;
-  private String domain3dn;
+  private DN domain1dn;
+  private DN domain2dn;
+  private DN domain3dn;
   private Entry domain1;
   private Entry domain2;
   private Entry domain3;
@@ -167,7 +167,7 @@
      */
     user1entryUUID = "33333333-3333-3333-3333-333333333333";
     user1entrysecondUUID = "22222222-2222-2222-2222-222222222222";
-    user1dn = "uid=user1,ou=People," + TEST_ROOT_DN_STRING;
+    user1dn = DN.decode("uid=user1,ou=People," + TEST_ROOT_DN_STRING);
     String entryWithUUIDldif = "dn: "+ user1dn + "\n"
       + "objectClass: top\n" + "objectClass: person\n"
       + "objectClass: organizationalPerson\n"
@@ -204,7 +204,7 @@
       TestCaseUtils.entryFromLdifString(entryWithSecondUUID);
 
     user3UUID = "44444444-4444-4444-4444-444444444444";
-    user3dn = "uid=user3,ou=People," + TEST_ROOT_DN_STRING;
+    user3dn = DN.decode("uid=user3,ou=People," + TEST_ROOT_DN_STRING);
     String user3LDIFEntry = "dn: "+ user3dn + "\n"
       + "objectClass: top\n" + "objectClass: person\n"
       + "objectClass: organizationalPerson\n"
@@ -222,9 +222,9 @@
       + "entryUUID: " + user3UUID + "\n";
     user3Entry = TestCaseUtils.entryFromLdifString(user3LDIFEntry);
 
-    domain1dn = "dc=domain1,ou=People," + TEST_ROOT_DN_STRING;
-    domain2dn = "dc=domain2,dc=domain1,ou=People," + TEST_ROOT_DN_STRING;
-    domain3dn = "dc=domain3,dc=domain1,ou=People," + TEST_ROOT_DN_STRING;
+    domain1dn = DN.decode("dc=domain1,ou=People," + TEST_ROOT_DN_STRING);
+    domain2dn = DN.decode("dc=domain2,dc=domain1,ou=People," + TEST_ROOT_DN_STRING);
+    domain3dn = DN.decode("dc=domain3,dc=domain1,ou=People," + TEST_ROOT_DN_STRING);
     domain1 = TestCaseUtils.entryFromLdifString(
         "dn:" + domain1dn + "\n"
         + "objectClass:domain\n"
@@ -284,15 +284,14 @@
     // Clean replication server database from previous run
     cleanUpReplicationServersDB();
 
-    final DN baseDn = DN.decode("ou=People," + TEST_ROOT_DN_STRING);
+    final DN baseDN = DN.decode("ou=People," + TEST_ROOT_DN_STRING);
 
     /*
      * Open a session to the replicationServer using the broker API.
      * This must use a different serverId to that of the directory server.
      */
     ReplicationBroker broker =
-      openReplicationSession(baseDn, 2, 100, replServerPort, 1000, true);
-
+      openReplicationSession(baseDN, 2, 100, replServerPort, 1000, true);
 
     try
     {
@@ -304,12 +303,12 @@
 
 
       // Disable the directory server receive status.
-      setReceiveStatus(synchroServerEntry.getDN().toString(), false);
+      setReceiveStatus(synchroServerEntry.getDN(), false);
 
 
       // Create and publish an update message to add an entry.
       AddMsg addMsg = new AddMsg(gen.newCSN(),
-          personWithUUIDEntry.getDN().toString(),
+          personWithUUIDEntry.getDN(),
           user1entryUUID,
           baseUUID,
           personWithUUIDEntry.getObjectClassAttribute(),
@@ -325,11 +324,11 @@
           + "receive status was disabled");
 
       // Enable the directory server receive status.
-      setReceiveStatus(synchroServerEntry.getDN().toString(), true);
+      setReceiveStatus(synchroServerEntry.getDN(), true);
 
       // Create and publish another update message to add an entry.
       addMsg = new AddMsg(gen.newCSN(),
-          personWithUUIDEntry.getDN().toString(),
+          personWithUUIDEntry.getDN(),
           user1entryUUID,
           baseUUID,
           personWithUUIDEntry.getObjectClassAttribute(),
@@ -344,7 +343,7 @@
 
       // Delete the entries to clean the database.
       DeleteMsg delMsg =
-          new DeleteMsg(personWithUUIDEntry.getDN().toString(),
+          new DeleteMsg(personWithUUIDEntry.getDN(),
           gen.newCSN(), user1entryUUID);
       broker.publish(delMsg);
       resultEntry = getEntry(personWithUUIDEntry.getDN(), 10000, false);
@@ -372,14 +371,14 @@
     // Clean replication server database from previous run
     cleanUpReplicationServersDB();
 
-    final DN baseDn = DN.decode("ou=People," + TEST_ROOT_DN_STRING);
+    final DN baseDN = DN.decode("ou=People," + TEST_ROOT_DN_STRING);
 
     /*
      * Open a session to the replicationServer using the broker API.
      * This must use a different serverId to that of the directory server.
      */
     ReplicationBroker broker =
-      openReplicationSession(baseDn, 2, 100, replServerPort, 1000, true);
+      openReplicationSession(baseDN, 2, 100, replServerPort, 1000, true);
 
     try
     {
@@ -392,7 +391,7 @@
 
       // Create and publish an update message to add an entry.
       AddMsg addMsg = new AddMsg(gen.newCSN(),
-          personWithUUIDEntry.getDN().toString(),
+          personWithUUIDEntry.getDN(),
           user1entryUUID,
           baseUUID,
           personWithUUIDEntry.getObjectClassAttribute(),
@@ -443,9 +442,7 @@
       }
 
       // Delete the entries to clean the database.
-      DeleteMsg delMsg =
-          new DeleteMsg(personWithUUIDEntry.getDN().toString(),
-          gen.newCSN(), user1entryUUID);
+      DeleteMsg delMsg = new DeleteMsg(personWithUUIDEntry.getDN(), gen.newCSN(), user1entryUUID);
       broker.publish(delMsg);
       resultEntry = getEntry(personWithUUIDEntry.getDN(), 10000, false);
 
@@ -473,8 +470,8 @@
   public void modifyConflicts()
        throws Exception
   {
-    final DN baseDn = DN.decode("ou=People," + TEST_ROOT_DN_STRING);
-    final DN dn1 = DN.decode("cn=test1," + baseDn.toString());
+    final DN baseDN = DN.decode("ou=People," + TEST_ROOT_DN_STRING);
+    final DN dn1 = DN.decode("cn=test1," + baseDN.toString());
     final AttributeType attrType =
          DirectoryServer.getAttributeType("displayname");
     final AttributeType entryuuidType =
@@ -489,13 +486,13 @@
      * This must use a different serverId to that of the directory server.
      */
     ReplicationBroker broker =
-        openReplicationSession(baseDn, 2, 100, replServerPort, 1000, true);
+        openReplicationSession(baseDN, 2, 100, replServerPort, 1000, true);
 
     try
     {
       // Add the first test entry.
       TestCaseUtils.addEntry(
-          "dn: cn=test1," + baseDn.toString(),
+          "dn: cn=test1," + baseDN.toString(),
           "displayname: Test1",
           "objectClass: top",
           "objectClass: person",
@@ -519,7 +516,7 @@
       CSN t2 = new CSN(changeTime, 0, 4);
 
       // Simulate the ordering t2:replace:B followed by t1:add:A that
-      updateMonitorCount(baseDn, monitorAttr);
+      updateMonitorCount(baseDN, monitorAttr);
 
       // Replay a replace of a value B at time t2 on a second server.
       Attribute attr = Attributes.create(attrType, "B");
@@ -562,7 +559,7 @@
       t2 = new CSN(changeTime, 0, 4);
 
       // Simulate the ordering t2:delete:displayname followed by t1:replace:A
-      updateMonitorCount(baseDn, monitorAttr);
+      updateMonitorCount(baseDN, monitorAttr);
 
       // Replay an delete of attribute displayname at time t2 on a second server.
       attr = Attributes.empty(attrType);
@@ -615,7 +612,7 @@
     logError(Message.raw(Category.SYNC, Severity.INFORMATION,
         "Starting replication test : namingConflicts"));
 
-    final DN baseDn = DN.decode("ou=People," + TEST_ROOT_DN_STRING);
+    final DN baseDN = DN.decode("ou=People," + TEST_ROOT_DN_STRING);
     String resolvedMonitorAttr = "resolved-naming-conflicts";
     String unresolvedMonitorAttr = "unresolved-naming-conflicts";
 
@@ -627,7 +624,7 @@
      * This must use a serverId different from the LDAP server ID
      */
     ReplicationBroker broker =
-      openReplicationSession(baseDn, 2, 100, replServerPort, 1000, true);
+      openReplicationSession(baseDN, 2, 100, replServerPort, 1000, true);
 
     try
     {
@@ -646,7 +643,7 @@
      */
     // create the entry with a given DN
     AddMsg addMsg = new AddMsg(gen.newCSN(),
-        personWithUUIDEntry.getDN().toString(),
+        personWithUUIDEntry.getDN(),
         user1entryUUID,
         baseUUID,
         personWithUUIDEntry.getObjectClassAttribute(),
@@ -663,7 +660,7 @@
     ModifyMsg modMsg = new ModifyMsg(gen.newCSN(),
         DN.decode("cn=something,ou=People," + TEST_ROOT_DN_STRING), mods,
         user1entryUUID);
-    updateMonitorCount(baseDn, resolvedMonitorAttr);
+    updateMonitorCount(baseDN, resolvedMonitorAttr);
     int AlertCount = DummyAlertHandler.getAlertCount();
     broker.publish(modMsg);
 
@@ -692,7 +689,7 @@
         personWithUUIDEntry.getDN(), mods,
         user1entryUUID);
 
-    updateMonitorCount(baseDn, resolvedMonitorAttr);
+    updateMonitorCount(baseDN, resolvedMonitorAttr);
     AlertCount = DummyAlertHandler.getAlertCount();
     broker.publish(modMsg);
 
@@ -716,7 +713,7 @@
 
     //  create the entry with a given DN and unique ID
     addMsg = new AddMsg(gen.newCSN(),
-        personWithUUIDEntry.getDN().toString(),
+        personWithUUIDEntry.getDN(),
         user1entryUUID, baseUUID,
         personWithUUIDEntry.getObjectClassAttribute(),
         personWithUUIDEntry.getAttributes(), new ArrayList<Attribute>());
@@ -730,8 +727,8 @@
     // send a modify operation with a wrong unique ID but the same DN
     mods = generatemods("telephonenumber", "02 01 03 05");
     modMsg = new ModifyMsg(gen.newCSN(),
-        DN.decode(user1dn), mods, "10000000-9abc-def0-1234-1234567890ab");
-    updateMonitorCount(baseDn, resolvedMonitorAttr);
+        user1dn, mods, "10000000-9abc-def0-1234-1234567890ab");
+    updateMonitorCount(baseDN, resolvedMonitorAttr);
     AlertCount = DummyAlertHandler.getAlertCount();
     broker.publish(modMsg);
 
@@ -759,10 +756,9 @@
      */
     // send a delete operation with a wrong dn but the unique ID of the entry
     // used above
-    DeleteMsg delMsg =
-      new DeleteMsg("cn=anotherdn,ou=People," + TEST_ROOT_DN_STRING,
-          gen.newCSN(), user1entryUUID);
-    updateMonitorCount(baseDn, resolvedMonitorAttr);
+    DN delDN = DN.decode("cn=anotherdn,ou=People," + TEST_ROOT_DN_STRING);
+    DeleteMsg delMsg = new DeleteMsg(delDN, gen.newCSN(), user1entryUUID);
+    updateMonitorCount(baseDN, resolvedMonitorAttr);
     AlertCount = DummyAlertHandler.getAlertCount();
     broker.publish(delMsg);
 
@@ -784,7 +780,7 @@
 
     //  create an entry with a given DN and unique ID
     addMsg = new AddMsg(gen.newCSN(),
-        personWithUUIDEntry.getDN().toString(),
+        personWithUUIDEntry.getDN(),
         user1entryUUID, baseUUID,
         personWithUUIDEntry.getObjectClassAttribute(),
         personWithUUIDEntry.getAttributes(), new ArrayList<Attribute>());
@@ -797,11 +793,11 @@
 
     //  create an entry with the same DN and another unique ID
     addMsg = new AddMsg(gen.newCSN(),
-        personWithSecondUniqueID.getDN().toString(),
+        personWithSecondUniqueID.getDN(),
         user1entrysecondUUID, baseUUID,
         personWithSecondUniqueID.getObjectClassAttribute(),
         personWithSecondUniqueID.getAttributes(), new ArrayList<Attribute>());
-    updateMonitorCount(baseDn, unresolvedMonitorAttr);
+    updateMonitorCount(baseDN, unresolvedMonitorAttr);
     AlertCount = DummyAlertHandler.getAlertCount();
     broker.publish(addMsg);
 
@@ -820,13 +816,9 @@
 
 
     //  delete the entries to clean the database.
-    delMsg =
-      new DeleteMsg(personWithUUIDEntry.getDN().toString(),
-          gen.newCSN(), user1entryUUID);
+    delMsg = new DeleteMsg(personWithUUIDEntry.getDN(), gen.newCSN(), user1entryUUID);
     broker.publish(delMsg);
-    delMsg =
-      new DeleteMsg(personWithSecondUniqueID.getDN().toString(),
-          gen.newCSN(), user1entrysecondUUID);
+    delMsg = new DeleteMsg(personWithSecondUniqueID.getDN(), gen.newCSN(), user1entrysecondUUID);
     broker.publish(delMsg);
     resultEntry = getEntry(personWithUUIDEntry.getDN(), 10000, false);
     resultEntry = getEntry(personWithSecondUniqueID.getDN(), 10000, false);
@@ -841,19 +833,20 @@
      * Simulate this by trying to add an entry below a DN that does not
      * exist but with a parent ID that exist.
      */
+    String addDN = "uid=new person,o=nothere,o=below,ou=People," + TEST_ROOT_DN_STRING;
     addMsg = new AddMsg(gen.newCSN(),
-        "uid=new person,o=nothere,o=below,ou=People," + TEST_ROOT_DN_STRING,
+        DN.decode(addDN),
         user1entryUUID,
         baseUUID,
         personWithUUIDEntry.getObjectClassAttribute(),
         personWithUUIDEntry.getAttributes(), new ArrayList<Attribute>());
-    updateMonitorCount(baseDn, resolvedMonitorAttr);
+    updateMonitorCount(baseDN, resolvedMonitorAttr);
     AlertCount = DummyAlertHandler.getAlertCount();
     broker.publish(addMsg);
 
     //  Check that the entry has been created in the local DS.
-    resultEntry = getEntry(
-        DN.decode("uid=new person,ou=People," + TEST_ROOT_DN_STRING), 10000, true);
+    DN newPersonDN = DN.decode("uid=new person,ou=People," + TEST_ROOT_DN_STRING);
+    resultEntry = getEntry(newPersonDN, 10000, true);
     assertNotNull(resultEntry,
         "The ADD replication message was not applied");
     assertEquals(getMonitorDelta(), 1);
@@ -871,15 +864,11 @@
      * To achieve this send a delete operation with a correct DN
      * but a wrong unique ID.
      */
-
-    delMsg =
-      new DeleteMsg("uid=new person,ou=People," + TEST_ROOT_DN_STRING,
-          gen.newCSN(), "11111111-9abc-def0-1234-1234567890ab");
-    updateMonitorCount(baseDn, resolvedMonitorAttr);
+    delMsg = new DeleteMsg(newPersonDN, gen.newCSN(), "11111111-9abc-def0-1234-1234567890ab");
+    updateMonitorCount(baseDN, resolvedMonitorAttr);
     AlertCount = DummyAlertHandler.getAlertCount();
     broker.publish(delMsg);
-    resultEntry = getEntry(
-          DN.decode("uid=new person,ou=People," + TEST_ROOT_DN_STRING), 10000, true);
+    resultEntry = getEntry(newPersonDN, 10000, true);
 
     // check that the delete operation has not been applied
     assertNotNull(resultEntry,
@@ -902,11 +891,11 @@
      */
 
     ModifyDNMsg  modDnMsg = new ModifyDNMsg(
-        "uid=new person,ou=People," + TEST_ROOT_DN_STRING, gen.newCSN(),
+        newPersonDN, gen.newCSN(),
         user1entryUUID, baseUUID, false,
         "uid=wrong, ou=people," + TEST_ROOT_DN_STRING,
         "uid=newrdn");
-    updateMonitorCount(baseDn, resolvedMonitorAttr);
+    updateMonitorCount(baseDN, resolvedMonitorAttr);
     AlertCount = DummyAlertHandler.getAlertCount();
     broker.publish(modDnMsg);
 
@@ -928,15 +917,15 @@
      * same test but by giving a bad entry DN
      */
 
-     modDnMsg = new ModifyDNMsg(
-        "uid=wrong,ou=People," + TEST_ROOT_DN_STRING, gen.newCSN(),
+    DN modDN = DN.decode("uid=wrong,ou=People," + TEST_ROOT_DN_STRING);
+    modDnMsg = new ModifyDNMsg(modDN, gen.newCSN(),
         user1entryUUID, null, false, null, "uid=reallynewrdn");
-    updateMonitorCount(baseDn, resolvedMonitorAttr);
+    updateMonitorCount(baseDN, resolvedMonitorAttr);
     AlertCount = DummyAlertHandler.getAlertCount();
     broker.publish(modDnMsg);
 
-    resultEntry = getEntry(
-        DN.decode("uid=reallynewrdn,ou=People," + TEST_ROOT_DN_STRING), 10000, true);
+    DN reallyNewDN = DN.decode("uid=reallynewrdn,ou=People," + TEST_ROOT_DN_STRING);
+    resultEntry = getEntry(reallyNewDN, 10000, true);
 
     // check that the operation has been correctly relayed
     assertNotNull(resultEntry,
@@ -964,7 +953,7 @@
     broker.publish(addMsg);
 
     //  check that the second entry has been added
-    resultEntry = getEntry(DN.decode(user1dn), 10000, true);
+    resultEntry = getEntry(user1dn, 10000, true);
 
     // check that the add operation has been applied
     assertNotNull(resultEntry, "The add operation was not replayed");
@@ -972,8 +961,8 @@
     // try to rename the first entry
     modDnMsg = new ModifyDNMsg(user1dn, gen.newCSN(),
                                user1entrysecondUUID, baseUUID, false,
-                               baseDn.toString(), "uid=reallynewrdn");
-    updateMonitorCount(baseDn, unresolvedMonitorAttr);
+                               baseDN.toString(), "uid=reallynewrdn");
+    updateMonitorCount(baseDN, unresolvedMonitorAttr);
     AlertCount = DummyAlertHandler.getAlertCount();
     broker.publish(modDnMsg);
 
@@ -992,27 +981,19 @@
 
 
     // delete the entries to clean the database
-    delMsg =
-      new DeleteMsg("entryUUID = " + user1entrysecondUUID + "+" +
-          DN.decode(user1dn).getRDN().toString() +
-          ",ou=People," + TEST_ROOT_DN_STRING,
-          gen.newCSN(), user1entrysecondUUID);
+    DN delDN2 = DN.decode("entryUUID = " + user1entrysecondUUID + "+"
+        + user1dn.getRDN() + ",ou=People," + TEST_ROOT_DN_STRING);
+    delMsg = new DeleteMsg(delDN2, gen.newCSN(), user1entrysecondUUID);
     broker.publish(delMsg);
-    resultEntry = getEntry(
-          DN.decode("entryUUID = " + user1entrysecondUUID + "+" +
-              DN.decode(user1dn).getRDN().toString() +
-              ",ou=People," + TEST_ROOT_DN_STRING), 10000, false);
+    resultEntry = getEntry(delDN2, 10000, false);
 
     // check that the delete operation has been applied
     assertNull(resultEntry,
         "The DELETE replication message was not replayed");
 
-    delMsg =
-      new DeleteMsg("uid=reallynewrdn,ou=People," + TEST_ROOT_DN_STRING,
-          gen.newCSN(), user1entryUUID);
+    delMsg = new DeleteMsg(reallyNewDN, gen.newCSN(), user1entryUUID);
     broker.publish(delMsg);
-    resultEntry = getEntry(
-        DN.decode("uid=reallynewrdn,ou=People," + TEST_ROOT_DN_STRING), 10000, false);
+    resultEntry = getEntry(reallyNewDN, 10000, false);
 
     //  check that the delete operation has been applied
     assertNull(resultEntry,
@@ -1036,14 +1017,13 @@
      */
 
     // - create parent entry 1 with baseDn1
-    String[] topEntries = new String[1];
-    topEntries[0] = "dn: ou=baseDn1,"+baseDn+"\n" + "objectClass: top\n"
+    String[] topEntries = new String[]{
+    "dn: ou=baseDn1,"+baseDN+"\n" + "objectClass: top\n"
     + "objectClass: organizationalUnit\n"
-    + "entryUUID: 55555555-5555-5555-5555-555555555555\n";
-    Entry entry;
+    + "entryUUID: 55555555-5555-5555-5555-555555555555\n"};
     for (String entryStr : topEntries)
     {
-      entry = TestCaseUtils.entryFromLdifString(entryStr);
+      Entry entry = TestCaseUtils.entryFromLdifString(entryStr);
       AddOperationBasis addOp = new AddOperationBasis(connection,
           InternalClientConnection.nextOperationID(), InternalClientConnection
           .nextMessageID(), null, entry.getDN(), entry.getObjectClasses(),
@@ -1051,16 +1031,15 @@
       addOp.setInternalOperation(true);
       addOp.run();
     }
-    resultEntry = getEntry(
-        DN.decode("ou=baseDn1,"+baseDn), 10000, true);
-    assertNotNull(resultEntry,
-        "Entry not added: ou=baseDn1,"+baseDn);
+    resultEntry = getEntry(DN.decode("ou=baseDn1," + baseDN), 10000, true);
+    assertNotNull(resultEntry, "Entry not added: ou=baseDn1," + baseDN);
 
     // - create Add Msg for user1 with parent entry 1 UUID
+    DN newPersonDN2 = DN.decode("uid=new person,ou=baseDn1," + baseDN);
     addMsg = new AddMsg(gen.newCSN(),
-        "uid=new person,ou=baseDn1,"+baseDn,
+        newPersonDN2,
         user1entryUUID,
-        getEntryUUID(DN.decode("ou=baseDn1,"+baseDn)),
+        getEntryUUID(DN.decode("ou=baseDn1," + baseDN)),
         personWithUUIDEntry.getObjectClassAttribute(),
         personWithUUIDEntry.getAttributes(), new ArrayList<Attribute>());
 
@@ -1068,21 +1047,20 @@
     ModifyDNOperationBasis modDNOp = new ModifyDNOperationBasis(connection,
         InternalClientConnection.nextOperationID(), InternalClientConnection
         .nextMessageID(), null,
-        DN.decode("ou=baseDn1,"+baseDn),
+        DN.decode("ou=baseDN1," + baseDN),
         RDN.decode("ou=baseDn2"), true,
-        baseDn);
+        baseDN);
     modDNOp.run();
 
-    resultEntry = getEntry(
-        DN.decode("ou=baseDn2,"+baseDn), 10000, true);
+    resultEntry = getEntry(DN.decode("ou=baseDn2," + baseDN), 10000, true);
     assertNotNull(resultEntry,
-        "Entry not moved from ou=baseDn1,"+baseDn+" to ou=baseDn2,"+baseDn);
+        "Entry not moved from ou=baseDn1,"+baseDN+" to ou=baseDn2,"+baseDN);
 
     // - add new parent entry 2 with baseDn1
-    String p2 = "dn: ou=baseDn1,"+baseDn+"\n" + "objectClass: top\n"
+    String p2 = "dn: ou=baseDn1,"+baseDN+"\n" + "objectClass: top\n"
          + "objectClass: organizationalUnit\n"
          + "entryUUID: 66666666-6666-6666-6666-666666666666\n";
-    entry = TestCaseUtils.entryFromLdifString(p2);
+    Entry entry = TestCaseUtils.entryFromLdifString(p2);
     AddOperationBasis addOp = new AddOperationBasis(connection,
         InternalClientConnection.nextOperationID(), InternalClientConnection
         .nextMessageID(), null, entry.getDN(), entry.getObjectClasses(),
@@ -1092,20 +1070,16 @@
 
 
     // - publish msg
-    updateMonitorCount(baseDn, resolvedMonitorAttr);
+    updateMonitorCount(baseDN, resolvedMonitorAttr);
     AlertCount = DummyAlertHandler.getAlertCount();
     broker.publish(addMsg);
 
     // - check that the DN has been changed to baseDn2
-    resultEntry = getEntry(
-        DN.decode("uid=new person,ou=baseDn1,"+baseDn), 10000, false);
-    assertNull(resultEntry,
-        "The ADD replication message was applied under ou=baseDn1,"+baseDn);
+    resultEntry = getEntry(newPersonDN2, 10000, false);
+    assertNull(resultEntry, "The ADD replication message was applied under ou=baseDn1," + baseDN);
 
-    resultEntry = getEntry(
-        DN.decode("uid=new person,ou=baseDn2,"+baseDn), 10000, true);
-    assertNotNull(resultEntry,
-        "The ADD replication message was NOT applied under ou=baseDn2,"+baseDn);
+    resultEntry = getEntry(DN.decode("uid=new person,ou=baseDn2," + baseDN), 10000, true);
+    assertNotNull(resultEntry, "The ADD replication message was NOT applied under ou=baseDn2," + baseDN);
     assertEquals(getMonitorDelta(), 1);
 
     // Check that there was no administrative alert generated
@@ -1124,17 +1098,17 @@
     addEntry(domain1);
     CSN olderCSN = gen.newCSN();
     Thread.sleep(1000);
-    domain1uid = getEntryUUID(DN.decode(domain1dn));
+    domain1uid = getEntryUUID(domain1dn);
     addEntry(domain2);
-    domain2uid = getEntryUUID(DN.decode(domain2dn));
+    domain2uid = getEntryUUID(domain2dn);
     addEntry(domain3);
-    domain3uid = getEntryUUID(DN.decode(domain3dn));
+    domain3uid = getEntryUUID(domain3dn);
     DN conflictDomain2dn = DN.decode(
         "entryUUID = " + domain2uid + "+dc=domain2,ou=people," + TEST_ROOT_DN_STRING);
     DN conflictDomain3dn = DN.decode(
         "entryUUID = " + domain3uid + "+dc=domain3,ou=people," + TEST_ROOT_DN_STRING);
 
-    updateMonitorCount(baseDn, unresolvedMonitorAttr);
+    updateMonitorCount(baseDN, unresolvedMonitorAttr);
     AlertCount = DummyAlertHandler.getAlertCount();
 
     // delete domain1
@@ -1142,7 +1116,7 @@
     broker.publish(delMsg);
 
     // check that the domain1 has correctly been deleted
-    assertNull(getEntry(DN.decode(domain1dn), 10000, false),
+    assertNull(getEntry(domain1dn, 10000, false),
         "The DELETE replication message was not replayed");
 
     // check that domain2 and domain3 have been renamed
@@ -1153,9 +1127,9 @@
 
     // check that the 2 conflicting entries have been correctly marked
     assertTrue(checkEntryHasAttribute(conflictDomain2dn,
-        LDAPReplicationDomain.DS_SYNC_CONFLICT, domain2dn, 1000, true));
+        LDAPReplicationDomain.DS_SYNC_CONFLICT, domain2dn.toString(), 1000, true));
     assertTrue(checkEntryHasAttribute(conflictDomain3dn,
-        LDAPReplicationDomain.DS_SYNC_CONFLICT, domain3dn, 1000, true));
+        LDAPReplicationDomain.DS_SYNC_CONFLICT, domain3dn.toString(), 1000, true));
 
     // check that unresolved conflict count has been incremented
     assertEquals(getMonitorDelta(), 1);
@@ -1177,14 +1151,14 @@
     //
     // add domain1 entry with 2 children : domain2 and domain3
     addEntry(domain1);
-    domain1uid = getEntryUUID(DN.decode(domain1dn));
+    domain1uid = getEntryUUID(domain1dn);
     addEntry(domain2);
-    domain2uid = getEntryUUID(DN.decode(domain2dn));
+    domain2uid = getEntryUUID(domain2dn);
     CSN addCSN = addEntry(domain3);
     gen.adjust(addCSN);
-    domain3uid = getEntryUUID(DN.decode(domain3dn));
+    domain3uid = getEntryUUID(domain3dn);
 
-    updateMonitorCount(baseDn, unresolvedMonitorAttr);
+    updateMonitorCount(baseDN, unresolvedMonitorAttr);
     AlertCount = DummyAlertHandler.getAlertCount();
 
     // delete domain1
@@ -1192,7 +1166,7 @@
     broker.publish(delMsg);
 
     // check that the domain1 has correctly been deleted
-    assertNull(getEntry(DN.decode(domain1dn), 10000, false),
+    assertNull(getEntry(domain1dn, 10000, false),
         "The DELETE replication message was not replayed");
 
     // check that domain2 and domain3 have been renamed as conflicting
@@ -1225,7 +1199,7 @@
 
     // check that the entry have been correctly marked as conflicting.
     assertTrue(checkEntryHasAttribute(conflictDomain2dn,
-        LDAPReplicationDomain.DS_SYNC_CONFLICT, domain2dn, 1000, true));
+        LDAPReplicationDomain.DS_SYNC_CONFLICT, domain2dn.toString(), 1000, true));
 
     // check that unresolved conflict count has been incremented
     assertEquals(getMonitorDelta(), 1);
@@ -1235,11 +1209,11 @@
     // this is correctly detected as a resolved conflict.
     // To simulate this simply try a modifyDN on a non existent uid.
     modDnMsg = new ModifyDNMsg(
-        "uid=new person,ou=People," + TEST_ROOT_DN_STRING, gen.newCSN(),
+        newPersonDN, gen.newCSN(),
         "33343333-3533-3633-3373-333333833333", baseUUID, false,
         "uid=wrong, ou=people," + TEST_ROOT_DN_STRING,
         "uid=newrdn");
-    updateMonitorCount(baseDn, resolvedMonitorAttr);
+    updateMonitorCount(baseDN, resolvedMonitorAttr);
     AlertCount = DummyAlertHandler.getAlertCount();
     broker.publish(modDnMsg);
     // unfortunately it is difficult to check that the operation
@@ -1267,10 +1241,10 @@
      * Check that a conflict is detected when an entry is
      * moved below an entry that does not exist.
      */
-    updateMonitorCount(baseDn, unresolvedMonitorAttr);
+    updateMonitorCount(baseDN, unresolvedMonitorAttr);
     AlertCount = DummyAlertHandler.getAlertCount();
     modDnMsg = new ModifyDNMsg(
-        "uid=new person,ou=People," + TEST_ROOT_DN_STRING, gen.newCSN(),
+        newPersonDN, gen.newCSN(),
         "33333333-3333-3333-3333-333333333333",
         "12343333-3533-3633-3333-333333833333" , false,
         "uid=wrong, ou=people," + TEST_ROOT_DN_STRING,
@@ -1291,7 +1265,7 @@
 
     // check that the entry have been correctly marked as conflicting.
     assertTrue(checkEntryHasAttribute(
-        DN.decode("uid=new person,ou=baseDn2,"+baseDn),
+        DN.decode("uid=new person,ou=baseDn2," + baseDN),
         LDAPReplicationDomain.DS_SYNC_CONFLICT,
         "uid=newrdn,ou=baseDn2,ou=People," + TEST_ROOT_DN_STRING, 1000, true));
     }
@@ -1346,10 +1320,10 @@
     // Cleanup from previous run
     cleanupTest();
 
-    final DN baseDn = DN.decode("ou=People," + TEST_ROOT_DN_STRING);
+    final DN baseDN = DN.decode("ou=People," + TEST_ROOT_DN_STRING);
 
     ReplicationBroker broker =
-      openReplicationSession(baseDn,  27, 100, replServerPort, 2000, true);
+      openReplicationSession(baseDN,  27, 100, replServerPort, 2000, true);
 
     try {
       CSNGenerator gen = new CSNGenerator( 27, 0);
@@ -1382,8 +1356,8 @@
         assertTrue(OperationType.ADD.compareTo(receivedOp.getOperationType()) == 0,
         "The received replication message is not an ADD msg : " + addMsg);
 
-        assertEquals(DN.decode(addMsg.getDn()),personEntry.getDN(),
-        "The received ADD replication message is not for the excepted DN : " + addMsg);
+        assertEquals(addMsg.getDN(), personEntry.getDN(),
+            "The received ADD replication message is not for the excepted DN : " + addMsg);
       }
 
       // Modify the entry
@@ -1402,11 +1376,11 @@
       ModifyMsg modMsg = (ModifyMsg) msg;
 
       modMsg.createOperation(connection);
-      assertTrue(DN.decode(modMsg.getDn()).compareTo(personEntry.getDN()) == 0,
+      assertEquals(modMsg.getDN(), personEntry.getDN(),
       "The received MODIFY replication message is not for the excepted DN : " + modMsg);
 
       // Modify the entry DN
-      DN newDN = DN.decode("uid= new person,ou=People," + TEST_ROOT_DN_STRING) ;
+      DN newDN = DN.decode("uid= new person,ou=People," + TEST_ROOT_DN_STRING);
       ModifyDNOperationBasis modDNOp = new ModifyDNOperationBasis(connection,
           InternalClientConnection.nextOperationID(), InternalClientConnection
           .nextMessageID(), null, personEntry.getDN(), RDN
@@ -1425,14 +1399,13 @@
       ModifyDNMsg moddnMsg = (ModifyDNMsg) msg;
       moddnMsg.createOperation(connection);
 
-      assertTrue(DN.decode(moddnMsg.getDn()).compareTo(personEntry.getDN()) == 0,
+      assertEquals(moddnMsg.getDN(), personEntry.getDN(),
       "The received MODIFY_DN message is not for the excepted DN : " + moddnMsg);
 
       // Delete the entry
       DeleteOperationBasis delOp = new DeleteOperationBasis(connection,
           InternalClientConnection.nextOperationID(), InternalClientConnection
-          .nextMessageID(), null, DN
-          .decode("uid= new person,ou=People," + TEST_ROOT_DN_STRING));
+          .nextMessageID(), null, newDN);
       delOp.run();
       assertFalse(DirectoryServer.entryExists(newDN),
       "Unable to delete the new person Entry");
@@ -1443,8 +1416,7 @@
       "The received replication message is not a MODIFY DN msg : " + msg);
       DeleteMsg delMsg = (DeleteMsg) msg;
       delMsg.createOperation(connection);
-      assertTrue(DN.decode(delMsg.getDn()).compareTo(DN
-          .decode("uid= new person,ou=People," + TEST_ROOT_DN_STRING)) == 0,
+      assertEquals(delMsg.getDN(), newDN,
       "The received DELETE message is not for the excepted DN : " + delMsg);
 
       /*
@@ -1454,7 +1426,7 @@
        * Start by testing the Add message reception
        */
       AddMsg addMsg = new AddMsg(gen.newCSN(),
-          personWithUUIDEntry.getDN().toString(),
+          personWithUUIDEntry.getDN(),
           user1entryUUID, baseUUID,
           personWithUUIDEntry.getObjectClassAttribute(),
           personWithUUIDEntry.getAttributes(), new ArrayList<Attribute>());
@@ -1501,7 +1473,7 @@
       /*
        * Test the Reception of Modify Dn Msg
        */
-      moddnMsg = new ModifyDNMsg(personWithUUIDEntry.getDN().toString(),
+      moddnMsg = new ModifyDNMsg(personWithUUIDEntry.getDN(),
           gen.newCSN(),
           user1entryUUID, null,
           true, null, "uid= new person");
@@ -1509,8 +1481,7 @@
         moddnMsg.setAssured(true);
       broker.publish(moddnMsg);
 
-      resultEntry = getEntry(
-          DN.decode("uid= new person,ou=People," + TEST_ROOT_DN_STRING), 10000, true);
+      resultEntry = getEntry(newDN, 10000, true);
 
       assertNotNull(resultEntry,
       "The modify DN replication message was not applied");
@@ -1518,13 +1489,11 @@
       /*
        * Test the Reception of Delete Msg
        */
-      delMsg = new DeleteMsg("uid= new person,ou=People," + TEST_ROOT_DN_STRING,
-          gen.newCSN(), user1entryUUID);
+      delMsg = new DeleteMsg(newDN, gen.newCSN(), user1entryUUID);
       if (assured)
         delMsg.setAssured(true);
       broker.publish(delMsg);
-      resultEntry = getEntry(
-          DN.decode("uid= new person,ou=People," + TEST_ROOT_DN_STRING), 10000, false);
+      resultEntry = getEntry(newDN, 10000, false);
 
       assertNull(resultEntry,
       "The DELETE replication message was not replayed");
@@ -1570,14 +1539,14 @@
     logError(Message.raw(Category.SYNC, Severity.INFORMATION,
         "Starting replication test : infiniteReplayLoop"));
 
-    final DN baseDn = DN.decode("ou=People," + TEST_ROOT_DN_STRING);
+    final DN baseDN = DN.decode("ou=People," + TEST_ROOT_DN_STRING);
 
     // Clean replication server database from previous run
     cleanUpReplicationServersDB();
 
     Thread.sleep(2000);
     ReplicationBroker broker =
-      openReplicationSession(baseDn,  11, 100, replServerPort, 1000, true);
+      openReplicationSession(baseDN,  11, 100, replServerPort, 1000, true);
     try
     {
       CSNGenerator gen = new CSNGenerator( 11, 0);
@@ -1609,7 +1578,7 @@
       addOp.run();
       assertEquals(addOp.getResultCode(), ResultCode.SUCCESS);
 
-      long initialCount = getMonitorAttrValue(baseDn, "replayed-updates");
+      long initialCount = getMonitorAttrValue(baseDN, "replayed-updates");
 
       // Get the UUID of the test entry.
       Entry resultEntry = getEntry(tmp.getDN(), 1, true);
@@ -1625,14 +1594,12 @@
       try
       {
         // Publish a delete message for this test entry.
-        DeleteMsg delMsg = new DeleteMsg(tmp.getDN().toString(),
-                                         gen.newCSN(),
-                                         uuid);
+        DeleteMsg delMsg = new DeleteMsg(tmp.getDN(), gen.newCSN(), uuid);
         broker.publish(delMsg);
 
         // Wait for the operation to be replayed.
         long endTime = System.currentTimeMillis() + 5000;
-        while (getMonitorAttrValue(baseDn, "replayed-updates") == initialCount &&
+        while (getMonitorAttrValue(baseDN, "replayed-updates") == initialCount &&
              System.currentTimeMillis() < endTime)
         {
           Thread.sleep(100);
@@ -1646,7 +1613,7 @@
 
       // If the replication replay loop was detected and broken then the
       // counter will still be updated even though the replay was unsuccessful.
-      if (getMonitorAttrValue(baseDn, "replayed-updates") == initialCount)
+      if (getMonitorAttrValue(baseDN, "replayed-updates") == initialCount)
       {
         fail("Operation was not replayed");
       }
@@ -1665,28 +1632,19 @@
    * @param enable Specifies whether the receive status should be enabled
    * or disabled.
    */
-  private static void setReceiveStatus(String syncConfigDN, boolean enable)
+  private static void setReceiveStatus(DN syncConfigDN, boolean enable)
   {
     ArrayList<ByteString> valueList = new ArrayList<ByteString>(1);
-    if (enable)
-    {
-      valueList.add(ByteString.valueOf("TRUE"));
-    }
-    else
-    {
-      valueList.add(ByteString.valueOf("FALSE"));
-    }
+    valueList.add(ByteString.valueOf(enable ? "TRUE" : "FALSE"));
     LDAPAttribute a = new LDAPAttribute("ds-cfg-receive-status", valueList);
 
     LDAPModification m = new LDAPModification(ModificationType.REPLACE, a);
 
-    ArrayList<RawModification> modList = new ArrayList<RawModification>(1);
+    List<RawModification> modList = new ArrayList<RawModification>(1);
     modList.add(m);
 
-    InternalClientConnection conn =
-         InternalClientConnection.getRootConnection();
-    ByteString rawEntryDN =
-         ByteString.valueOf(syncConfigDN);
+    InternalClientConnection conn = InternalClientConnection.getRootConnection();
+    ByteString rawEntryDN = ByteString.valueOf(syncConfigDN.toString());
     ModifyOperation internalModify = conn.processModify(rawEntryDN, modList);
 
     ResultCode resultCode = internalModify.getResultCode();
@@ -1712,7 +1670,7 @@
     logError(Message.raw(Category.SYNC, Severity.INFORMATION,
         "Starting synchronization test : CSNGeneratorAdjust"));
 
-    final DN baseDn = DN.decode("ou=People," + TEST_ROOT_DN_STRING);
+    final DN baseDN = DN.decode("ou=People," + TEST_ROOT_DN_STRING);
 
     // Clean replication server database from previous run
     cleanUpReplicationServersDB();
@@ -1722,7 +1680,7 @@
      * This must use a different serverId to that of the directory server.
      */
     ReplicationBroker broker =
-      openReplicationSession(baseDn, serverId, 100, replServerPort, 1000, true);
+      openReplicationSession(baseDN, serverId, 100, replServerPort, 1000, true);
 
     try
     {
@@ -1736,7 +1694,7 @@
       // Create and publish an update message to add an entry.
       AddMsg addMsg = new AddMsg(
           gen.newCSN(),
-          user3dn.toString(),
+          user3dn,
           user3UUID,
           baseUUID,
           user3Entry.getObjectClassAttribute(),
@@ -1772,11 +1730,7 @@
           "The MOD timestamp should have been adjusted to the ADD one");
 
       // Delete the entries to clean the database.
-      DeleteMsg delMsg =
-          new DeleteMsg(
-          user3Entry.getDN().toString(),
-          gen.newCSN(),
-          user3UUID);
+      DeleteMsg delMsg = new DeleteMsg(user3Entry.getDN(), gen.newCSN(), user3UUID);
       broker.publish(delMsg);
 
       // Check that the delete operation has been applied.

--
Gitblit v1.10.0