From d24466b6b4f1052f07fe4565b1f6a922c637cb79 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Wed, 15 Oct 2014 15:39:36 +0000
Subject: [PATCH] Converted opendj3 code to use SearchRequest like API
---
opendj3-server-dev/src/server/org/opends/server/protocols/jmx/JmxClientConnection.java | 97 +++++-------------------------------------------
1 files changed, 10 insertions(+), 87 deletions(-)
diff --git a/opendj3-server-dev/src/server/org/opends/server/protocols/jmx/JmxClientConnection.java b/opendj3-server-dev/src/server/org/opends/server/protocols/jmx/JmxClientConnection.java
index 9443d4b..0f3257b 100644
--- a/opendj3-server-dev/src/server/org/opends/server/protocols/jmx/JmxClientConnection.java
+++ b/opendj3-server-dev/src/server/org/opends/server/protocols/jmx/JmxClientConnection.java
@@ -39,16 +39,13 @@
import org.forgerock.i18n.LocalizableMessageBuilder;
import org.forgerock.i18n.slf4j.LocalizedLogger;
import org.forgerock.opendj.ldap.ByteString;
-import org.forgerock.opendj.ldap.DereferenceAliasesPolicy;
import org.forgerock.opendj.ldap.ResultCode;
-import org.forgerock.opendj.ldap.SearchScope;
import org.opends.server.api.ClientConnection;
import org.opends.server.api.ConnectionHandler;
import org.opends.server.core.*;
import org.opends.server.core.networkgroups.NetworkGroup;
-import org.opends.server.protocols.internal.InternalSearchListener;
import org.opends.server.protocols.internal.InternalSearchOperation;
-import org.opends.server.protocols.ldap.LDAPFilter;
+import org.opends.server.protocols.internal.SearchRequest;
import org.opends.server.types.*;
import static org.opends.messages.ProtocolMessages.*;
@@ -765,55 +762,21 @@
/**
* Processes an Jmx search operation with the provided information.
- * It will not dereference any aliases, will not request a size or time limit,
- * and will retrieve all user attributes.
*
- * @param rawBaseDN The base DN for the search.
- * @param scope The scope for the search.
- * @param filter The filter for the search.
- *
+ * @param request The search request.
* @return A reference to the internal search operation that was processed
* and contains information about the result of the processing as
* well as lists of the matching entries and search references.
*/
- public InternalSearchOperation processSearch(ByteString rawBaseDN,
- SearchScope scope, LDAPFilter filter)
+ public InternalSearchOperation processSearch(SearchRequest request)
{
- return processSearch(rawBaseDN, scope,
- DereferenceAliasesPolicy.NEVER, 0, 0, false,
- filter, new LinkedHashSet<String>(0));
- }
-
-
-
- /**
- * Processes an Jmx search operation with the provided information.
- *
- * @param rawBaseDN The base DN for the search.
- * @param scope The scope for the search.
- * @param derefPolicy The alias dereferencing policy for the search.
- * @param sizeLimit The size limit for the search.
- * @param timeLimit The time limit for the search.
- * @param typesOnly The typesOnly flag for the search.
- * @param filter The filter for the search.
- * @param attributes The set of requested attributes for the search.
- *
- * @return A reference to the internal search operation that was processed
- * and contains information about the result of the processing as
- * well as lists of the matching entries and search references.
- */
- public InternalSearchOperation processSearch(ByteString rawBaseDN,
- SearchScope scope,
- DereferenceAliasesPolicy derefPolicy,
- int sizeLimit, int timeLimit,
- boolean typesOnly, LDAPFilter filter,
- LinkedHashSet<String> attributes)
- {
- InternalSearchOperation searchOperation =
- new InternalSearchOperation(this, nextOperationID(), nextMessageID(),
- new ArrayList<Control>(0), rawBaseDN,
- scope, derefPolicy, sizeLimit, timeLimit,
- typesOnly, filter, attributes, null);
+ InternalSearchOperation searchOperation = new InternalSearchOperation(
+ this, nextOperationID(), nextMessageID(),
+ request.getControls(),
+ request.getName(), request.getScope(),
+ request.getDereferenceAliasesPolicy(),
+ request.getSizeLimit(), request.getTimeLimit(), request.isTypesOnly(),
+ request.getFilter(), request.getAttributes(), null);
if (! hasPrivilege(Privilege.JMX_READ, null))
{
@@ -828,46 +791,6 @@
return searchOperation;
}
-
-
- /**
- * Processes an Jmx search operation with the provided information.
- *
- * @param rawBaseDN The base DN for the search.
- * @param scope The scope for the search.
- * @param derefPolicy The alias dereferencing policy for the search.
- * @param sizeLimit The size limit for the search.
- * @param timeLimit The time limit for the search.
- * @param typesOnly The typesOnly flag for the search.
- * @param filter The filter for the search.
- * @param attributes The set of requested attributes for the search.
- * @param searchListener The internal search listener that should be used to
- * handle the matching entries and references.
- *
- * @return A reference to the internal search operation that was processed
- * and contains information about the result of the processing.
- */
- public InternalSearchOperation processSearch(ByteString rawBaseDN,
- SearchScope scope,
- DereferenceAliasesPolicy derefPolicy,
- int sizeLimit, int timeLimit,
- boolean typesOnly, LDAPFilter filter,
- LinkedHashSet<String> attributes,
- InternalSearchListener searchListener)
- {
- InternalSearchOperation searchOperation =
- new InternalSearchOperation(this, nextOperationID(), nextMessageID(),
- new ArrayList<Control>(0), rawBaseDN,
- scope, derefPolicy, sizeLimit, timeLimit,
- typesOnly, filter, attributes,
- searchListener);
-
- searchOperation.run();
- return searchOperation;
- }
-
-
-
/**
* Sends the provided search result entry to the client.
*
--
Gitblit v1.10.0