From 3b75a57aad1876fdb35173fcbdb00496a9e76103 Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Tue, 22 Sep 2015 11:37:06 +0000
Subject: [PATCH] AttrHistoricalMultiple.java: Extracted updateValInfo()

---
 opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/AttrHistoricalMultiple.java |   31 +++++++++++++------------------
 1 files changed, 13 insertions(+), 18 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 5c3a842..9c35c02 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
@@ -203,16 +203,21 @@
      update(csn, new AttrValueHistorical(addedValue, csn, null));
    }
 
-  private void update(CSN csn, AttrValueHistorical info)
+  private void update(CSN csn, AttrValueHistorical valInfo)
   {
-    valuesHist.remove(info);
-    valuesHist.put(info, info);
+    updateValInfo(valInfo, valInfo);
     if (csn.isNewerThan(lastUpdateTime))
     {
       lastUpdateTime = csn;
     }
   }
 
+  private void updateValInfo(AttrValueHistorical oldValInfo, AttrValueHistorical newValInfo)
+  {
+    valuesHist.remove(oldValInfo);
+    valuesHist.put(newValInfo, newValInfo);
+  }
+
   @Override
   public Set<AttrValueHistorical> getValuesHistorical()
   {
@@ -391,8 +396,7 @@
       m.setModificationType(ModificationType.REPLACE);
       AttributeBuilder builder = new AttributeBuilder(modAttr, true);
 
-      Iterator<AttrValueHistorical> it = valuesHist.keySet().iterator();
-      while (it.hasNext())
+      for (Iterator<AttrValueHistorical> it = valuesHist.keySet().iterator(); it.hasNext();)
       {
         AttrValueHistorical valInfo = it.next();
 
@@ -449,8 +453,7 @@
           if (csn.isNewerThanOrEqualTo(oldValInfo.getValueDeleteTime()) &&
               csn.isNewerThanOrEqualTo(oldValInfo.getValueUpdateTime()))
           {
-            valuesHist.remove(oldValInfo);
-            valuesHist.put(valInfo, valInfo);
+            updateValInfo(oldValInfo, valInfo);
           }
           else if (oldValInfo.isUpdate())
           {
@@ -459,8 +462,7 @@
         }
         else
         {
-          valuesHist.remove(oldValInfo);
-          valuesHist.put(valInfo, valInfo);
+          updateValInfo(oldValInfo, valInfo);
         }
 
         /* if the attribute value is not to be deleted
@@ -547,8 +549,7 @@
            */
           if (csn.isNewerThan(oldValInfo.getValueUpdateTime()))
           {
-            valuesHist.remove(oldValInfo);
-            valuesHist.put(valInfo, valInfo);
+            updateValInfo(oldValInfo, valInfo);
           }
           builder.remove(addVal);
         }
@@ -559,13 +560,7 @@
            */
           if (csn.isNewerThanOrEqualTo(oldValInfo.getValueDeleteTime()))
           {
-            /* this add is more recent,
-             * remove the old delete historical information
-             * and add our more recent one
-             * let the operation process
-             */
-            valuesHist.remove(oldValInfo);
-            valuesHist.put(valInfo, valInfo);
+            updateValInfo(oldValInfo, valInfo);
           }
           else
           {

--
Gitblit v1.10.0