From 67feeafd40da846ef55fb776581c6b06bdabe482 Mon Sep 17 00:00:00 2001
From: ludovicp <ludovicp@localhost>
Date: Fri, 25 Jun 2010 10:30:42 +0000
Subject: [PATCH] Fixes an issue when deleting a password policy
---
opendj-sdk/opends/src/server/org/opends/server/api/DITCacheMap.java | 37 +++++++++++++++++++++++--------------
1 files changed, 23 insertions(+), 14 deletions(-)
diff --git a/opendj-sdk/opends/src/server/org/opends/server/api/DITCacheMap.java b/opendj-sdk/opends/src/server/org/opends/server/api/DITCacheMap.java
index 6f2d335..543cfab 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/api/DITCacheMap.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/api/DITCacheMap.java
@@ -116,7 +116,7 @@
private Map<DN,Node<T>> ditCacheMap;
/**
- * Default contructor.
+ * Default constructor.
*/
public DITCacheMap()
{
@@ -124,7 +124,7 @@
}
/**
- * Contructs a new DITCacheMap from a given Map.
+ * Constructs a new DITCacheMap from a given Map.
* @param m existing Map to construct new
* DITCacheMap from.
*/
@@ -683,6 +683,13 @@
{
if (rootNode != null)
{
+ if (node == rootNode)
+ {
+ if (rootNode.element != null)
+ {
+ return true;
+ }
+ }
while (node != null)
{
if (node.element != null)
@@ -695,13 +702,10 @@
}
else
{
- if (node != rootNode)
+ while ((node.next == null) &&
+ (node.parent != rootNode))
{
- while ((node.next == null) &&
- (node.parent != rootNode))
- {
- node = node.parent;
- }
+ node = node.parent;
}
node = node.next;
}
@@ -719,6 +723,14 @@
if (rootNode != null)
{
+ if (node == rootNode)
+ {
+ node = rootNode.child;
+ if (rootNode.element != null)
+ {
+ return rootNode.element;
+ }
+ }
while (node != null)
{
if (node.element != null)
@@ -735,13 +747,10 @@
}
else
{
- if (node != rootNode)
+ while ((node.next == null) &&
+ (node.parent != rootNode))
{
- while ((node.next == null) &&
- (node.parent != rootNode))
- {
- node = node.parent;
- }
+ node = node.parent;
}
node = node.next;
}
--
Gitblit v1.10.0