From 8368f9ae15d65cda433652abcddd2ddbf61024a0 Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Tue, 02 Aug 2016 07:18:12 +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/guitools/controlpanel/util/LDAPEntryReader.java |   34 ++++++++++++----------------------
 1 files changed, 12 insertions(+), 22 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/LDAPEntryReader.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/LDAPEntryReader.java
index 1c27e7d..06e8e81 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/LDAPEntryReader.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/LDAPEntryReader.java
@@ -17,13 +17,15 @@
 
 package org.opends.guitools.controlpanel.util;
 
+import static org.forgerock.opendj.ldap.SearchScope.*;
+
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.naming.NamingEnumeration;
-import javax.naming.directory.SearchControls;
-import javax.naming.directory.SearchResult;
-
+import org.forgerock.opendj.ldap.requests.Requests;
+import org.forgerock.opendj.ldap.requests.SearchRequest;
+import org.forgerock.opendj.ldap.responses.SearchResultEntry;
+import org.forgerock.opendj.ldif.ConnectionEntryReader;
 import org.opends.admin.ads.util.ConnectionWrapper;
 import org.opends.guitools.controlpanel.datamodel.CustomSearchResult;
 import org.opends.guitools.controlpanel.event.EntryReadErrorEvent;
@@ -59,22 +61,14 @@
   public CustomSearchResult processBackgroundTask() throws Throwable
   {
     isOver = false;
-    NamingEnumeration<SearchResult> en = null;
-    try
+    final String filter = "(|(objectclass=*)(objectclass=ldapsubentry))";
+    SearchRequest request = Requests.newSearchRequest(dn, BASE_OBJECT, filter, "*", "+");
+    try (ConnectionEntryReader entryReader = conn.getConnection().search(request))
     {
-      SearchControls controls = new SearchControls();
-
-      String[] attrs = {"*", "+"};
-      controls.setReturningAttributes(attrs);
-      controls.setSearchScope(SearchControls.OBJECT_SCOPE);
-      final String filter = "(|(objectclass=*)(objectclass=ldapsubentry))";
-
-      en = conn.getLdapContext().search(Utilities.getJNDIName(dn), filter, controls);
-
-      SearchResult sr = null;
-      while (en.hasMore())
+      SearchResultEntry sr = null;
+      while (entryReader.hasNext())
       {
-        sr = en.next();
+        sr = entryReader.readEntry();
       }
 
       return new CustomSearchResult(sr, dn);
@@ -85,10 +79,6 @@
       {
         isOver = true;
       }
-      if (en != null)
-      {
-        en.close();
-      }
     }
   }
 

--
Gitblit v1.10.0