From c9958277baf5f911bda401802259a4b50d9cd599 Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Wed, 03 Aug 2016 16:06:26 +0000
Subject: [PATCH] BasicNode: use DN
---
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/DeleteEntryTask.java | 49 ++++++++++++++++++++++---------------------------
1 files changed, 22 insertions(+), 27 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/DeleteEntryTask.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/DeleteEntryTask.java
index 5c909d4..44d550b 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/DeleteEntryTask.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/DeleteEntryTask.java
@@ -94,7 +94,7 @@
for (TreePath path : paths)
{
BasicNode node = (BasicNode)path.getLastPathComponent();
- entries.add(DN.valueOf(node.getDN()));
+ entries.add(node.getDN());
}
for (BackendDescriptor backend : info.getServerDescriptor().getBackends())
{
@@ -186,37 +186,20 @@
for (TreePath path : paths)
{
BasicNode node = (BasicNode)path.getLastPathComponent();
- try
+ DN dn = node.getDN();
+ if (!isAlreadyDeleted(alreadyDeleted, dn))
{
- DN dn = DN.valueOf(node.getDN());
- boolean isDnDeleted = false;
- for (DN deletedDn : alreadyDeleted)
+ ConnectionWrapper conn = controller.findConnectionForDisplayedEntry(node);
+ useAdminCtx = controller.isConfigurationNode(node);
+ if (node.hasSubOrdinates())
{
- if (dn.isSubordinateOrEqualTo(deletedDn))
- {
- isDnDeleted = true;
- break;
- }
+ deleteSubtreeWithControl(conn, dn, path, toNotify);
}
- if (!isDnDeleted)
+ else
{
- ConnectionWrapper conn = controller.findConnectionForDisplayedEntry(node);
- useAdminCtx = controller.isConfigurationNode(node);
- if (node.hasSubOrdinates())
- {
- deleteSubtreeWithControl(conn, dn, path, toNotify);
- }
- else
- {
- deleteSubtreeRecursively(conn, dn, path, toNotify);
- }
- alreadyDeleted.add(dn);
+ deleteSubtreeRecursively(conn, dn, path, toNotify);
}
- }
- catch (DirectoryException de)
- {
- throw new RuntimeException("Unexpected error parsing dn: "+
- node.getDN(), de);
+ alreadyDeleted.add(dn);
}
}
if (!toNotify.isEmpty())
@@ -247,6 +230,18 @@
}
}
+ private boolean isAlreadyDeleted(ArrayList<DN> dns, DN dnToFind)
+ {
+ for (DN dn : dns)
+ {
+ if (dnToFind.isSubordinateOrEqualTo(dn))
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
/**
* Notifies that some entries have been deleted. This will basically update
* the browser controller so that the tree reflects the changes that have
--
Gitblit v1.10.0