From 98741c1108519ced86c1091503fa9a30a2fbbf4d Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 29 Apr 2016 08:00:09 +0000
Subject: [PATCH] code cleanup
---
opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/RemotePendingChanges.java | 84 +++++++++++++++++++-----------------------
1 files changed, 38 insertions(+), 46 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/RemotePendingChanges.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/RemotePendingChanges.java
index deb9f90..8b38f33 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/RemotePendingChanges.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/RemotePendingChanges.java
@@ -16,20 +16,30 @@
*/
package org.opends.server.replication.plugin;
-import java.util.*;
+import java.util.Iterator;
+import java.util.NoSuchElementException;
+import java.util.SortedMap;
+import java.util.SortedSet;
+import java.util.TreeMap;
+import java.util.TreeSet;
import java.util.concurrent.ConcurrentSkipListSet;
import java.util.concurrent.locks.ReentrantLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
import net.jcip.annotations.GuardedBy;
+
+import org.forgerock.opendj.ldap.DN;
import org.opends.server.core.AddOperation;
import org.opends.server.core.DeleteOperation;
import org.opends.server.core.ModifyDNOperationBasis;
import org.opends.server.core.ModifyOperation;
import org.opends.server.replication.common.CSN;
import org.opends.server.replication.common.ServerState;
-import org.opends.server.replication.protocol.*;
-import org.forgerock.opendj.ldap.DN;
+import org.opends.server.replication.protocol.AddMsg;
+import org.opends.server.replication.protocol.DeleteMsg;
+import org.opends.server.replication.protocol.LDAPUpdateMsg;
+import org.opends.server.replication.protocol.ModifyDNMsg;
+import org.opends.server.replication.protocol.OperationContext;
import org.opends.server.types.Operation;
/**
@@ -61,10 +71,10 @@
*/
private final ConcurrentSkipListSet<PendingChange> activeAndDependentChanges = new ConcurrentSkipListSet<>();
- private ReentrantReadWriteLock pendingChangesLock = new ReentrantReadWriteLock(true);
- private ReentrantReadWriteLock.ReadLock pendingChangesReadLock = pendingChangesLock.readLock();
- private ReentrantReadWriteLock.WriteLock pendingChangesWriteLock = pendingChangesLock.writeLock();
- private ReentrantLock dependentChangesLock = new ReentrantLock();
+ private final ReentrantReadWriteLock pendingChangesLock = new ReentrantReadWriteLock(true);
+ private final ReentrantReadWriteLock.ReadLock pendingChangesReadLock = pendingChangesLock.readLock();
+ private final ReentrantReadWriteLock.WriteLock pendingChangesWriteLock = pendingChangesLock.writeLock();
+ private final ReentrantLock dependentChangesLock = new ReentrantLock();
/** The ServerState that will be updated when LDAPUpdateMsg are fully replayed. */
private final ServerState state;
@@ -168,18 +178,17 @@
curChange.setCommitted(true);
activeAndDependentChanges.remove(curChange);
- Iterator<Map.Entry<CSN, PendingChange>> it = pendingChanges.entrySet().iterator();
+ final Iterator<PendingChange> it = pendingChanges.values().iterator();
while (it.hasNext())
{
- Map.Entry<CSN, PendingChange> change = it.next();
- PendingChange pendingChange = change.getValue();
+ PendingChange pendingChange = it.next();
if (!pendingChange.isCommitted())
{
break;
}
if (pendingChange.getMsg().contributesToDomainState())
{
- state.update(change.getKey());
+ state.update(pendingChange.getCSN());
}
it.remove();
}
@@ -280,16 +289,15 @@
*/
public boolean checkDependencies(AddOperation op)
{
- boolean hasDependencies = false;
- final DN targetDN = op.getEntryDN();
final CSN csn = OperationContext.getCSN(op);
final PendingChange change = getPendingChange(csn);
-
if (change == null)
{
return false;
}
+ boolean hasDependencies = false;
+ final DN targetDN = op.getEntryDN();
for (PendingChange pendingChange : activeAndDependentChanges)
{
if (pendingChange.getCSN().isNewerThanOrEqualTo(csn))
@@ -300,34 +308,26 @@
final LDAPUpdateMsg pendingMsg = pendingChange.getLDAPUpdateMsg();
if (pendingMsg instanceof DeleteMsg)
{
- /*
- * Check if the operation to be run is a deleteOperation on the same DN.
- */
if (pendingMsg.getDN().equals(targetDN))
{
+ // it is a deleteOperation on the same DN
hasDependencies = true;
addDependency(change);
}
}
else if (pendingMsg instanceof AddMsg)
{
- /*
- * Check if the operation to be run is an addOperation on a
- * parent of the current AddOperation.
- */
if (pendingMsg.getDN().isSuperiorOrEqualTo(targetDN))
{
+ // it is an addOperation on a parent of the current AddOperation
hasDependencies = true;
addDependency(change);
}
}
else if (pendingMsg instanceof ModifyDNMsg)
{
- /*
- * Check if the operation to be run is ModifyDnOperation with
- * the same target DN as the ADD DN
- * or a ModifyDnOperation with new DN equals to the ADD DN parent
- */
+ // it is a ModifyDnOperation with the same target DN as the ADD DN
+ // or a ModifyDnOperation with new DN equals to the ADD DN parent?
if (pendingMsg.getDN().equals(targetDN))
{
hasDependencies = true;
@@ -363,15 +363,14 @@
*/
public boolean checkDependencies(ModifyOperation op)
{
- boolean hasDependencies = false;
final CSN csn = OperationContext.getCSN(op);
final PendingChange change = getPendingChange(csn);
-
if (change == null)
{
return false;
}
+ boolean hasDependencies = false;
final DN targetDN = change.getLDAPUpdateMsg().getDN();
for (PendingChange pendingChange : activeAndDependentChanges)
{
@@ -383,9 +382,9 @@
final LDAPUpdateMsg pendingMsg = pendingChange.getLDAPUpdateMsg();
if (pendingMsg instanceof AddMsg)
{
- // Check if the operation to be run is an addOperation on a same DN.
if (pendingMsg.getDN().equals(targetDN))
{
+ // it is an addOperation on a same DN
hasDependencies = true;
addDependency(change);
}
@@ -422,15 +421,14 @@
*/
public boolean checkDependencies(ModifyDNMsg msg)
{
- boolean hasDependencies = false;
final CSN csn = msg.getCSN();
final PendingChange change = getPendingChange(csn);
-
if (change == null)
{
return false;
}
+ boolean hasDependencies = false;
final DN targetDN = change.getLDAPUpdateMsg().getDN();
for (PendingChange pendingChange : activeAndDependentChanges)
{
@@ -469,10 +467,9 @@
}
else if (pendingMsg instanceof ModifyDNMsg)
{
- // Check if the ModifyDNOperation was done from the new DN of
- // the MODDN operation
if (msg.newDNIsEqual(pendingMsg.getDN()))
{
+ // the ModifyDNOperation was done from the new DN of the MODDN operation
hasDependencies = true;
addDependency(change);
}
@@ -499,16 +496,15 @@
*/
public boolean checkDependencies(DeleteOperation op)
{
- boolean hasDependencies = false;
- final DN targetDN = op.getEntryDN();
final CSN csn = OperationContext.getCSN(op);
final PendingChange change = getPendingChange(csn);
-
if (change == null)
{
return false;
}
+ boolean hasDependencies = false;
+ final DN targetDN = op.getEntryDN();
for (PendingChange pendingChange : activeAndDependentChanges)
{
if (pendingChange.getCSN().isNewerThanOrEqualTo(csn))
@@ -570,23 +566,19 @@
{
if (op instanceof ModifyOperation)
{
- ModifyOperation newOp = (ModifyOperation) op;
- return checkDependencies(newOp);
-
- } else if (op instanceof DeleteOperation)
+ return checkDependencies((ModifyOperation) op);
+ }
+ else if (op instanceof DeleteOperation)
{
- DeleteOperation newOp = (DeleteOperation) op;
- return checkDependencies(newOp);
+ return checkDependencies((DeleteOperation) op);
}
else if (op instanceof AddOperation)
{
- AddOperation newOp = (AddOperation) op;
- return checkDependencies(newOp);
+ return checkDependencies((AddOperation) op);
}
else if (op instanceof ModifyDNOperationBasis)
{
- ModifyDNMsg newMsg = (ModifyDNMsg) msg;
- return checkDependencies(newMsg);
+ return checkDependencies((ModifyDNMsg) msg);
}
else
{
--
Gitblit v1.10.0