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