From 2ef82b6e14c8ec47e7dec0d5ff04b25f5c4547c2 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Fri, 27 May 2011 14:45:16 +0000
Subject: [PATCH] Add support for search filters.
---
opendj3/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/server/Main.java | 18 +++++++++++++++++-
1 files changed, 17 insertions(+), 1 deletions(-)
diff --git a/opendj3/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/server/Main.java b/opendj3/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/server/Main.java
index 0660309..a00a1a8 100644
--- a/opendj3/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/server/Main.java
+++ b/opendj3/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/server/Main.java
@@ -397,9 +397,15 @@
}
SearchScope scope = request.getScope();
+ Filter filter = request.getFilter();
+ Matcher matcher = filter.matcher();
+
if (scope.equals(SearchScope.BASE_OBJECT))
{
- sendEntry(request, resultHandler, baseEntry);
+ if (matcher.matches(baseEntry).toBoolean())
+ {
+ sendEntry(request, resultHandler, baseEntry);
+ }
}
else if (scope.equals(SearchScope.SINGLE_LEVEL))
{
@@ -412,6 +418,11 @@
DN childDN = entry.getName();
if (childDN.isChildOf(dn))
{
+ if (!matcher.matches(entry).toBoolean())
+ {
+ continue;
+ }
+
if (!sendEntry(request, resultHandler, entry))
{
// Caller has asked to stop sending results.
@@ -433,6 +444,11 @@
DN childDN = entry.getName();
if (childDN.isSubordinateOrEqualTo(dn))
{
+ if (!matcher.matches(entry).toBoolean())
+ {
+ continue;
+ }
+
if (!sendEntry(request, resultHandler, entry))
{
// Caller has asked to stop sending results.
--
Gitblit v1.10.0