From fdb3fa313407639240f75ec566865cea25bc039b Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Mon, 11 Jul 2016 12:01:16 +0000
Subject: [PATCH] Partial OPENDJ-2625 Convert all code that uses JNDI to use the SDK instead
---
opendj-server-legacy/src/main/java/org/opends/admin/ads/ADSContext.java | 33 +++++++++------------------------
1 files changed, 9 insertions(+), 24 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/admin/ads/ADSContext.java b/opendj-server-legacy/src/main/java/org/opends/admin/ads/ADSContext.java
index 8f77ab9..1e94dd9 100644
--- a/opendj-server-legacy/src/main/java/org/opends/admin/ads/ADSContext.java
+++ b/opendj-server-legacy/src/main/java/org/opends/admin/ads/ADSContext.java
@@ -35,9 +35,6 @@
import java.util.SortedSet;
import java.util.TreeSet;
-import javax.naming.NamingException;
-import javax.naming.ldap.Control;
-import javax.naming.ldap.LdapContext;
import javax.naming.ldap.Rdn;
import org.forgerock.i18n.LocalizableMessage;
@@ -54,7 +51,9 @@
import org.forgerock.opendj.ldap.ModificationType;
import org.forgerock.opendj.ldap.RDN;
import org.forgerock.opendj.ldap.ResultCode;
+import org.forgerock.opendj.ldap.controls.SubtreeDeleteRequestControl;
import org.forgerock.opendj.ldap.requests.AddRequest;
+import org.forgerock.opendj.ldap.requests.DeleteRequest;
import org.forgerock.opendj.ldap.requests.ModifyRequest;
import org.forgerock.opendj.ldap.requests.SearchRequest;
import org.forgerock.opendj.ldap.responses.Result;
@@ -959,36 +958,22 @@
removeAdministrators ? getAdministratorContainerDN() : null };
try
{
- Control[] controls = new Control[] { new SubtreeDeleteControl() };
- LdapContext tmpContext = connectionWrapper.getLdapContext().newInstance(controls);
- try
+ for (String dn : dns)
{
- for (String dn : dns)
+ if (dn != null)
{
- if (dn != null)
+ if (isExistingEntry(dn))
{
- if (isExistingEntry(dn))
- {
- tmpContext.destroySubcontext(dn);
- }
+ DeleteRequest request = newDeleteRequest(dn)
+ .addControl(SubtreeDeleteRequestControl.newControl(true));
+ connectionWrapper.getConnection().delete(request);
}
}
}
- finally
- {
- try
- {
- tmpContext.close();
- }
- catch (Exception ex)
- {
- logger.warn(LocalizableMessage.raw("Error while closing LDAP connection after removing admin data", ex));
- }
- }
// Recreate the container entries:
createAdminDataContainers();
}
- catch (NamingException x)
+ catch (LdapException x)
{
throw new ADSContextException(ErrorType.ERROR_UNEXPECTED, x);
}
--
Gitblit v1.10.0