From 4a6168abca93588a9ae90031fc6ed1cfe9b0f2e8 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Wed, 15 Oct 2014 10:52:33 +0000
Subject: [PATCH] (CR-4811) Converted opendj3 code to use SearchRequest like API
---
opendj-server3x-adapter/src/main/java/org/forgerock/opendj/adapter/server3x/Adapters.java | 31 +++++++++++++++++++++----------
1 files changed, 21 insertions(+), 10 deletions(-)
diff --git a/opendj-server3x-adapter/src/main/java/org/forgerock/opendj/adapter/server3x/Adapters.java b/opendj-server3x-adapter/src/main/java/org/forgerock/opendj/adapter/server3x/Adapters.java
index e4ce2d8..7e088a0 100644
--- a/opendj-server3x-adapter/src/main/java/org/forgerock/opendj/adapter/server3x/Adapters.java
+++ b/opendj-server3x-adapter/src/main/java/org/forgerock/opendj/adapter/server3x/Adapters.java
@@ -27,7 +27,6 @@
import java.net.InetAddress;
import java.net.UnknownHostException;
-import java.util.LinkedHashSet;
import org.forgerock.opendj.ldap.AbstractSynchronousConnection;
import org.forgerock.opendj.ldap.ByteString;
@@ -37,8 +36,8 @@
import org.forgerock.opendj.ldap.DN;
import org.forgerock.opendj.ldap.DecodeException;
import org.forgerock.opendj.ldap.DecodeOptions;
-import org.forgerock.opendj.ldap.LdapException;
import org.forgerock.opendj.ldap.IntermediateResponseHandler;
+import org.forgerock.opendj.ldap.LdapException;
import org.forgerock.opendj.ldap.ResultCode;
import org.forgerock.opendj.ldap.SearchResultHandler;
import org.forgerock.opendj.ldap.controls.Control;
@@ -72,8 +71,10 @@
import org.opends.server.protocols.internal.InternalClientConnection;
import org.opends.server.protocols.internal.InternalSearchListener;
import org.opends.server.protocols.internal.InternalSearchOperation;
+import org.opends.server.protocols.internal.Requests;
import org.opends.server.types.AuthenticationInfo;
import org.opends.server.types.DirectoryException;
+import org.opends.server.types.SearchFilter;
import org.opends.server.types.SearchResultEntry;
import org.opends.server.types.SearchResultReference;
@@ -127,7 +128,7 @@
try {
icc = new InternalClientConnection(to(userDN));
} catch (DirectoryException e) {
- throw new IllegalStateException(e.getMessage());
+ throw new IllegalStateException(e.getMessage(), e);
}
return newConnectionFactory(icc);
}
@@ -217,14 +218,24 @@
}
};
- final InternalSearchOperation internalSO =
- icc.processSearch(valueOf(request.getName()), request.getScope(),
- request.getDereferenceAliasesPolicy(), request.getSizeLimit(),
- request.getTimeLimit(), request.isTypesOnly(), to(request.getFilter()),
- new LinkedHashSet<String>(request.getAttributes()), to(request.getControls()),
- internalSearchListener);
+ final SearchFilter filter = toSearchFilter(request.getFilter());
+ final org.opends.server.protocols.internal.SearchRequest sr =
+ Requests.newSearchRequest(toDN(request.getName()), request.getScope(), filter)
+ .setDereferenceAliasesPolicy(request.getDereferenceAliasesPolicy())
+ .setSizeLimit(request.getSizeLimit())
+ .setTimeLimit(request.getTimeLimit())
+ .setTypesOnly(request.isTypesOnly())
+ .addAttribute(request.getAttributes())
+ .addControl(to(request.getControls()));
+ return getResponseResult(icc.processSearch(sr, internalSearchListener));
+ }
- return getResponseResult(internalSO);
+ private org.opends.server.types.DN toDN(DN dn) {
+ try {
+ return org.opends.server.types.DN.valueOf(dn.toString());
+ } catch (DirectoryException e) {
+ throw new IllegalStateException(e.getMessage(), e);
+ }
}
@Override
--
Gitblit v1.10.0