From b2efaf7ba0228d844773bb6c350806015069ea59 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Tue, 18 Aug 2015 14:51:20 +0000
Subject: [PATCH] AttrHistoricalSingle.java: In processLocalOrNonConflictModification(), made the code more explicit + prevented double assignment

---
 opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/AttrHistoricalMultiple.java |   33 ++++++++++++++++++++++++++-------
 1 files changed, 26 insertions(+), 7 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/AttrHistoricalMultiple.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/AttrHistoricalMultiple.java
index eb4e442..639360c 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/AttrHistoricalMultiple.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/AttrHistoricalMultiple.java
@@ -402,17 +402,14 @@
            */
           builder.add(valInfo.getAttributeValue());
         }
-        else
+        else if (csn.isNewerThanOrEqualTo(valInfo.getValueDeleteTime()))
         {
           /*
            * this value is going to be deleted, remove it from historical
            * information unless it is a Deleted attribute value that is
            * more recent than this DELETE
            */
-          if (csn.isNewerThanOrEqualTo(valInfo.getValueDeleteTime()))
-          {
-            it.remove();
-          }
+          it.remove();
         }
       }
 
@@ -529,8 +526,7 @@
     AttributeBuilder builder = new AttributeBuilder(m.getAttribute());
     for (ByteString addVal : m.getAttribute())
     {
-      AttrValueHistorical valInfo =
-        new AttrValueHistorical(addVal, csn, null);
+      AttrValueHistorical valInfo = new AttrValueHistorical(addVal, csn, null);
       AttrValueHistorical oldValInfo = valuesHist.get(valInfo);
       if (oldValInfo == null)
       {
@@ -630,4 +626,27 @@
       break;
     }
   }
+
+  @Override
+  public String toString()
+  {
+    final StringBuilder sb = new StringBuilder();
+    sb.append(getClass().getSimpleName()).append("(");
+    boolean deleteAppended = false;
+    if (deleteTime != null)
+    {
+      deleteAppended = true;
+      sb.append("deleteTime=").append(deleteTime);
+    }
+    if (lastUpdateTime != null)
+    {
+      if (deleteAppended)
+      {
+        sb.append(", ");
+      }
+      sb.append("lastUpdateTime=").append(lastUpdateTime);
+    }
+    sb.append(", valuesHist=").append(valuesHist);
+    return sb.toString();
+  }
 }

--
Gitblit v1.10.0