From 28022c369a938db98f78db046679f4a20a39713b Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Tue, 13 Mar 2007 03:25:13 +0000
Subject: [PATCH] Update the AciList class to fix a concurrent modification exception that was causing a number of test cases to fail.
---
opends/src/server/org/opends/server/authorization/dseecompat/AciList.java | 15 ++++++++++-----
1 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/opends/src/server/org/opends/server/authorization/dseecompat/AciList.java b/opends/src/server/org/opends/server/authorization/dseecompat/AciList.java
index 90cfdfe..d281e3f 100644
--- a/opends/src/server/org/opends/server/authorization/dseecompat/AciList.java
+++ b/opends/src/server/org/opends/server/authorization/dseecompat/AciList.java
@@ -30,10 +30,11 @@
import static org.opends.server.authorization.dseecompat.AciMessages.*;
import static org.opends.server.loggers.Error.logError;
import static org.opends.server.messages.MessageHandler.getMessage;
+import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
-import java.util.Set;
+import java.util.Map;
import java.util.ArrayList;
import org.opends.server.types.Attribute;
@@ -276,10 +277,14 @@
// Copy the ACI list.
LinkedHashMap<DN,List<Aci>> aciCopy = copyList();
- Set<DN> keys=aciCopy.keySet();
- for(DN dn : keys) {
- if (backend.handlesEntry(dn))
- aciCopy.remove(dn);
+ Iterator<Map.Entry<DN,List<Aci>>> iterator = aciCopy.entrySet().iterator();
+ while (iterator.hasNext())
+ {
+ Map.Entry<DN,List<Aci>> mapEntry = iterator.next();
+ if (backend.handlesEntry(mapEntry.getKey()))
+ {
+ iterator.remove();
+ }
}
// Replace the ACI list with the copy.
--
Gitblit v1.10.0