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/replication/plugin/LDAPReplicationDomain.java | 104 ++++++++++++++++-----------------------------------
1 files changed, 33 insertions(+), 71 deletions(-)
diff --git a/opendj3-server-dev/src/server/org/opends/server/replication/plugin/LDAPReplicationDomain.java b/opendj3-server-dev/src/server/org/opends/server/replication/plugin/LDAPReplicationDomain.java
index fe8a0ee..6e6fa72 100644
--- a/opendj3-server-dev/src/server/org/opends/server/replication/plugin/LDAPReplicationDomain.java
+++ b/opendj3-server-dev/src/server/org/opends/server/replication/plugin/LDAPReplicationDomain.java
@@ -61,6 +61,8 @@
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.protocols.internal.SearchRequest;
import org.opends.server.protocols.ldap.LDAPAttribute;
import org.opends.server.protocols.ldap.LDAPControl;
import org.opends.server.protocols.ldap.LDAPFilter;
@@ -91,6 +93,7 @@
import static org.opends.messages.ReplicationMessages.*;
import static org.opends.messages.ToolMessages.*;
import static org.opends.server.protocols.internal.InternalClientConnection.*;
+import static org.opends.server.protocols.internal.Requests.*;
import static org.opends.server.replication.plugin.EntryHistorical.*;
import static org.opends.server.replication.protocol.OperationContext.*;
import static org.opends.server.replication.service.ReplicationMonitor.*;
@@ -647,26 +650,20 @@
+ "entry " + getBaseDNString());
}
- LDAPFilter filter;
+ InternalSearchOperation search;
try
{
- filter = LDAPFilter.decode("(objectclass=*)");
- } catch (LDAPException e)
+ // Search the domain root entry that is used to save the generation id
+ SearchRequest request = newSearchRequest(getBaseDN(), SearchScope.BASE_OBJECT, "(objectclass=*)")
+ .addAttribute(REPLICATION_GENERATION_ID, REPLICATION_FRACTIONAL_EXCLUDE, REPLICATION_FRACTIONAL_INCLUDE);
+ search = conn.processSearch(request);
+ }
+ catch (DirectoryException e)
{
// Can not happen
return false;
}
- // Search the domain root entry that is used to save the generation id
- final ByteString asn1BaseDn = ByteString.valueOf(getBaseDNString());
- final Set<String> attributes = newSet(
- REPLICATION_GENERATION_ID,
- REPLICATION_FRACTIONAL_EXCLUDE,
- REPLICATION_FRACTIONAL_INCLUDE);
- InternalSearchOperation search = conn.processSearch(asn1BaseDn,
- SearchScope.BASE_OBJECT,
- DereferenceAliasesPolicy.ALWAYS, 0, 0, false,
- filter, attributes);
if (search.getResultCode() != ResultCode.SUCCESS
&& search.getResultCode() != ResultCode.NO_SUCH_OBJECT)
{
@@ -2164,7 +2161,7 @@
SearchScope.WHOLE_SUBTREE,
DereferenceAliasesPolicy.NEVER,
0, 0, false, filter,
- USER_AND_REPL_OPERATIONAL_ATTRS, null);
+ USER_AND_REPL_OPERATIONAL_ATTRS, null, null);
Entry entryToRename = null;
CSN entryToRenameCSN = null;
@@ -2554,13 +2551,9 @@
}
try
{
- final Set<String> attrs = newSet(ENTRYUUID_ATTRIBUTE_NAME);
-
- final InternalSearchOperation search = getRootConnection().processSearch(
- dn, SearchScope.BASE_OBJECT, DereferenceAliasesPolicy.NEVER,
- 0, 0, false,
- SearchFilter.createFilterFromString("(objectclass=*)"),
- attrs);
+ final SearchRequest request = newSearchRequest(dn, SearchScope.BASE_OBJECT, "(objectclass=*)")
+ .addAttribute(ENTRYUUID_ATTRIBUTE_NAME);
+ final InternalSearchOperation search = getRootConnection().processSearch(request);
final SearchResultEntry resultEntry = getFirstResult(search);
if (resultEntry != null)
{
@@ -2598,9 +2591,8 @@
{
try
{
- InternalSearchOperation search = conn.processSearch(getBaseDN(),
- SearchScope.WHOLE_SUBTREE,
- SearchFilter.createFilterFromString("entryuuid="+uuid));
+ final SearchRequest request = newSearchRequest(getBaseDN(), SearchScope.WHOLE_SUBTREE, "entryuuid=" + uuid);
+ InternalSearchOperation search = conn.processSearch(request);
final SearchResultEntry resultEntry = getFirstResult(search);
if (resultEntry != null)
{
@@ -3005,15 +2997,9 @@
// Find an rename child entries.
try
{
- final Set<String> attrs =
- newSet(ENTRYUUID_ATTRIBUTE_NAME, HISTORICAL_ATTRIBUTE_NAME);
-
- InternalSearchOperation op =
- conn.processSearch(entryDN, SearchScope.SINGLE_LEVEL,
- DereferenceAliasesPolicy.NEVER, 0, 0, false,
- SearchFilter.createFilterFromString("(objectClass=*)"),
- attrs);
-
+ final SearchRequest request = newSearchRequest(entryDN, SearchScope.SINGLE_LEVEL, "(objectClass=*)")
+ .addAttribute(ENTRYUUID_ATTRIBUTE_NAME, HISTORICAL_ATTRIBUTE_NAME);
+ InternalSearchOperation op = conn.processSearch(request);
if (op.getResultCode() == ResultCode.SUCCESS)
{
for (SearchResultEntry entry : op.getSearchEntries())
@@ -3332,20 +3318,15 @@
* Search the database entry that is used to periodically
* save the generation id
*/
- final Set<String> attributes = newSet(REPLICATION_GENERATION_ID);
- final String filter = "(objectclass=*)";
- InternalSearchOperation search = conn.processSearch(getBaseDNString(),
- SearchScope.BASE_OBJECT,
- DereferenceAliasesPolicy.ALWAYS, 0, 0, false,
- filter,attributes);
+ final SearchRequest request = newSearchRequest(getBaseDN(), SearchScope.BASE_OBJECT, "(objectclass=*)")
+ .addAttribute(REPLICATION_GENERATION_ID);
+ InternalSearchOperation search = conn.processSearch(request);
if (search.getResultCode() == ResultCode.NO_SUCH_OBJECT)
{
// if the base entry does not exist look for the generationID
// in the config entry.
- search = conn.processSearch(config.dn().toString(),
- SearchScope.BASE_OBJECT,
- DereferenceAliasesPolicy.ALWAYS, 0, 0, false,
- filter,attributes);
+ request.setName(config.dn());
+ search = conn.processSearch(request);
}
boolean found = false;
@@ -4274,17 +4255,12 @@
maxValueForId = lastCSN.toString();
}
- LDAPFilter filter = LDAPFilter.decode(
+ String filter =
"(&(" + HISTORICAL_ATTRIBUTE_NAME + ">=dummy:" + fromCSN + ")" +
- "(" + HISTORICAL_ATTRIBUTE_NAME + "<=dummy:" + maxValueForId + "))");
-
- return getRootConnection().processSearch(
- ByteString.valueOf(baseDN.toString()),
- SearchScope.WHOLE_SUBTREE,
- DereferenceAliasesPolicy.NEVER,
- 0, 0, false, filter,
- USER_AND_REPL_OPERATIONAL_ATTRS,
- resultListener);
+ "(" + HISTORICAL_ATTRIBUTE_NAME + "<=dummy:" + maxValueForId + "))";
+ SearchRequest request = Requests.newSearchRequest(baseDN, SearchScope.WHOLE_SUBTREE, filter)
+ .addAttribute(USER_AND_REPL_OPERATIONAL_ATTRS);
+ return getRootConnection().processSearch(request, resultListener);
}
/**
@@ -5053,24 +5029,10 @@
+ "lastCSNPurgedFromHist: "
+ lastCSNPurgedFromHist.toStringUI());
- LDAPFilter filter = null;
- try
- {
- filter = LDAPFilter.decode(
- "(" + EntryHistorical.HISTORICAL_ATTRIBUTE_NAME + ">=dummy:"
- + lastCSNPurgedFromHist + ")");
-
- } catch (LDAPException e)
- {
- // Not possible. We know the filter just above is correct.
- }
-
- InternalSearchOperation searchOp = conn.processSearch(
- ByteString.valueOf(getBaseDNString()),
- SearchScope.WHOLE_SUBTREE,
- DereferenceAliasesPolicy.NEVER,
- 0, 0, false, filter,
- USER_AND_REPL_OPERATIONAL_ATTRS, null);
+ String filter = "(" + HISTORICAL_ATTRIBUTE_NAME + ">=dummy:" + lastCSNPurgedFromHist + ")";
+ SearchRequest request = Requests.newSearchRequest(getBaseDN(), SearchScope.WHOLE_SUBTREE, filter)
+ .addAttribute(USER_AND_REPL_OPERATIONAL_ATTRS);
+ InternalSearchOperation searchOp = conn.processSearch(request);
int count = 0;
if (task != null)
--
Gitblit v1.10.0