| | |
| | | while (it.hasNext()) |
| | | { |
| | | AttrValueHistorical info = it.next(); |
| | | if (csn.newerOrEquals(info.getValueUpdateTime()) && |
| | | csn.newerOrEquals(info.getValueDeleteTime())) |
| | | if (csn.isNewerThanOrEqualTo(info.getValueUpdateTime()) && |
| | | csn.isNewerThanOrEqualTo(info.getValueDeleteTime())) |
| | | it.remove(); |
| | | } |
| | | |
| | | if (csn.newer(deleteTime)) |
| | | if (csn.isNewerThan(deleteTime)) |
| | | { |
| | | deleteTime = csn; |
| | | } |
| | | |
| | | if (csn.newer(lastUpdateTime)) |
| | | if (csn.isNewerThan(lastUpdateTime)) |
| | | { |
| | | lastUpdateTime = csn; |
| | | } |
| | |
| | | AttrValueHistorical info = new AttrValueHistorical(val, null, csn); |
| | | valuesHist.remove(info); |
| | | valuesHist.put(info, info); |
| | | if (csn.newer(lastUpdateTime)) |
| | | if (csn.isNewerThan(lastUpdateTime)) |
| | | { |
| | | lastUpdateTime = csn; |
| | | } |
| | |
| | | AttrValueHistorical info = new AttrValueHistorical(val, null, csn); |
| | | valuesHist.remove(info); |
| | | valuesHist.put(info, info); |
| | | if (csn.newer(lastUpdateTime)) |
| | | if (csn.isNewerThan(lastUpdateTime)) |
| | | { |
| | | lastUpdateTime = csn; |
| | | } |
| | |
| | | AttrValueHistorical info = new AttrValueHistorical(addedValue, csn, null); |
| | | valuesHist.remove(info); |
| | | valuesHist.put(info, info); |
| | | if (csn.newer(lastUpdateTime)) |
| | | if (csn.isNewerThan(lastUpdateTime)) |
| | | { |
| | | lastUpdateTime = csn; |
| | | } |
| | |
| | | AttrValueHistorical info = new AttrValueHistorical(val, csn, null); |
| | | valuesHist.remove(info); |
| | | valuesHist.put(info, info); |
| | | if (csn.newer(lastUpdateTime)) |
| | | if (csn.isNewerThan(lastUpdateTime)) |
| | | { |
| | | lastUpdateTime = csn; |
| | | } |
| | |
| | | switch (m.getModificationType()) |
| | | { |
| | | case DELETE: |
| | | if (csn.older(getDeleteTime())) |
| | | if (csn.isOlderThan(getDeleteTime())) |
| | | { |
| | | /* this delete is already obsoleted by a more recent delete |
| | | * skip this mod |
| | |
| | | break; |
| | | |
| | | case REPLACE: |
| | | if (csn.older(getDeleteTime())) |
| | | if (csn.isOlderThan(getDeleteTime())) |
| | | { |
| | | /* this replace is already obsoleted by a more recent delete |
| | | * skip this mod |
| | |
| | | { |
| | | AttrValueHistorical valInfo = it.next(); |
| | | |
| | | if (csn.older(valInfo.getValueUpdateTime())) |
| | | if (csn.isOlderThan(valInfo.getValueUpdateTime())) |
| | | { |
| | | /* |
| | | * this value has been updated after this delete, therefore |
| | |
| | | * information unless it is a Deleted attribute value that is |
| | | * more recent than this DELETE |
| | | */ |
| | | if (csn.newerOrEquals(valInfo.getValueDeleteTime())) |
| | | if (csn.isNewerThanOrEqualTo(valInfo.getValueDeleteTime())) |
| | | { |
| | | it.remove(); |
| | | } |
| | |
| | | |
| | | m.setAttribute(builder.toAttribute()); |
| | | |
| | | if (csn.newer(getDeleteTime())) |
| | | if (csn.isNewerThan(getDeleteTime())) |
| | | { |
| | | deleteTime = csn; |
| | | } |
| | | if (csn.newer(getLastUpdateTime())) |
| | | if (csn.isNewerThan(getLastUpdateTime())) |
| | | { |
| | | lastUpdateTime = csn; |
| | | } |
| | |
| | | // we need to keep the delete. |
| | | addedInCurrentOp = true; |
| | | } |
| | | if (csn.newerOrEquals(oldValInfo.getValueDeleteTime()) && |
| | | csn.newerOrEquals(oldValInfo.getValueUpdateTime())) |
| | | if (csn.isNewerThanOrEqualTo(oldValInfo.getValueDeleteTime()) && |
| | | csn.isNewerThanOrEqualTo(oldValInfo.getValueUpdateTime())) |
| | | { |
| | | valuesHist.remove(oldValInfo); |
| | | valuesHist.put(valInfo, valInfo); |
| | |
| | | |
| | | m.setAttribute(builder.toAttribute()); |
| | | |
| | | if (csn.newer(getLastUpdateTime())) |
| | | if (csn.isNewerThan(getLastUpdateTime())) |
| | | { |
| | | lastUpdateTime = csn; |
| | | } |
| | |
| | | * real entry |
| | | */ |
| | | |
| | | if (csn.older(getDeleteTime())) |
| | | if (csn.isOlderThan(getDeleteTime())) |
| | | { |
| | | /* A delete has been done more recently than this add |
| | | * forget this MOD ADD |
| | |
| | | * in all cases suppress this value from the value list |
| | | * as it is already present in the entry |
| | | */ |
| | | if (csn.newer(oldValInfo.getValueUpdateTime())) |
| | | if (csn.isNewerThan(oldValInfo.getValueUpdateTime())) |
| | | { |
| | | valuesHist.remove(oldValInfo); |
| | | valuesHist.put(valInfo, valInfo); |
| | |
| | | /* this value is marked as a deleted value |
| | | * check if this mod is more recent the this delete |
| | | */ |
| | | if (csn.newerOrEquals(oldValInfo.getValueDeleteTime())) |
| | | if (csn.isNewerThanOrEqualTo(oldValInfo.getValueDeleteTime())) |
| | | { |
| | | /* this add is more recent, |
| | | * remove the old delete historical information |
| | |
| | | modsIterator.remove(); |
| | | } |
| | | |
| | | if (csn.newer(getLastUpdateTime())) |
| | | if (csn.isNewerThan(getLastUpdateTime())) |
| | | { |
| | | lastUpdateTime = csn; |
| | | } |