From ea900ba71bf5eb5e4126583e1852c6982f9ce5a7 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Tue, 14 Oct 2014 15:44:44 +0000
Subject: [PATCH] (CR-4811) Converted opendj3 code to use SearchRequest like API

---
 opendj3-server-dev/src/server/org/opends/server/authorization/dseecompat/UserAttr.java |   32 ++++++++++----------------------
 1 files changed, 10 insertions(+), 22 deletions(-)

diff --git a/opendj3-server-dev/src/server/org/opends/server/authorization/dseecompat/UserAttr.java b/opendj3-server-dev/src/server/org/opends/server/authorization/dseecompat/UserAttr.java
index efaaad4..de9cb49 100644
--- a/opendj3-server-dev/src/server/org/opends/server/authorization/dseecompat/UserAttr.java
+++ b/opendj3-server-dev/src/server/org/opends/server/authorization/dseecompat/UserAttr.java
@@ -26,20 +26,20 @@
  */
 package org.opends.server.authorization.dseecompat;
 
-import java.util.LinkedHashSet;
 import java.util.LinkedList;
 import java.util.List;
 
 import org.forgerock.i18n.LocalizableMessage;
 import org.forgerock.opendj.ldap.ByteString;
-import org.forgerock.opendj.ldap.DereferenceAliasesPolicy;
 import org.forgerock.opendj.ldap.SearchScope;
 import org.opends.server.core.DirectoryServer;
-import org.opends.server.protocols.internal.InternalClientConnection;
 import org.opends.server.protocols.internal.InternalSearchOperation;
+import org.opends.server.protocols.internal.SearchRequest;
+import static org.opends.server.protocols.internal.Requests.*;
 import org.opends.server.types.*;
 
 import static org.opends.messages.AccessControlMessages.*;
+import static org.opends.server.protocols.internal.InternalClientConnection.*;
 
 /*
  * TODO Evaluate making this class more efficient.
@@ -207,13 +207,8 @@
         AttributeType attrType;
         if((attrType = DirectoryServer.getAttributeType(attrStr)) == null)
             attrType = DirectoryServer.getDefaultAttributeType(attrStr);
-        InternalClientConnection conn =
-                InternalClientConnection.getRootConnection();
-        InternalSearchOperation op =
-                conn.processSearch(evalCtx.getClientDN(),
-                        SearchScope.BASE_OBJECT,
-                        DereferenceAliasesPolicy.NEVER, 0, 0, false,
-                        filter, null);
+        final SearchRequest request = newSearchRequest(evalCtx.getClientDN(), SearchScope.BASE_OBJECT, filter);
+        InternalSearchOperation op = getRootConnection().processSearch(request);
         LinkedList<SearchResultEntry> result = op.getSearchEntries();
         if (!result.isEmpty()) {
             ByteString val= ByteString.valueOf(attrVal);
@@ -344,20 +339,13 @@
                         stop=true;
                 }
             } else {
-                DN pDN=
-                        getDNParentLevel(levels[i], evalCtx.getResourceDN());
+                DN pDN = getDNParentLevel(levels[i], evalCtx.getResourceDN());
                 if(pDN == null)
                     continue;
-                LinkedHashSet<String> reqAttrs = new LinkedHashSet<String>(1);
-                reqAttrs.add(parentInheritance.getAttrTypeStr());
-                InternalClientConnection conn =
-                        InternalClientConnection.getRootConnection();
-                InternalSearchOperation op = conn.processSearch(pDN,
-                        SearchScope.BASE_OBJECT,
-                        DereferenceAliasesPolicy.NEVER, 0, 0, false,
-                        filter, reqAttrs);
-                LinkedList<SearchResultEntry> result =
-                        op.getSearchEntries();
+                final SearchRequest request = newSearchRequest(pDN, SearchScope.BASE_OBJECT, filter)
+                    .addAttribute(parentInheritance.getAttrTypeStr());
+                InternalSearchOperation op = getRootConnection().processSearch(request);
+                LinkedList<SearchResultEntry> result = op.getSearchEntries();
                 if (!result.isEmpty()) {
                     Entry e = result.getFirst();
                     if(e.hasAttribute(attrType)) {

--
Gitblit v1.10.0