From 87944ee88ce027a9115ed536b8ff9762c0872bf8 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Thu, 04 Apr 2013 14:33:30 +0000
Subject: [PATCH] OPENDJ-832 Leverage the work queue for processing requests received on the HTTP connection handler 

---
 opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/SearchScope.java         |   22 ++++++++++
 opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/SearchScopeTestCase.java |   61 ++++++++++++++++++++++++++++++
 2 files changed, 82 insertions(+), 1 deletions(-)

diff --git a/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/SearchScope.java b/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/SearchScope.java
index 8f84ec4..60b89bf 100644
--- a/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/SearchScope.java
+++ b/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/SearchScope.java
@@ -22,8 +22,8 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
+ *      Portions Copyright 2013 ForgeRock AS
  */
-
 package org.forgerock.opendj.ldap;
 
 import java.util.Arrays;
@@ -88,6 +88,26 @@
     }
 
     /**
+     * Returns the search scope having the specified name as defined in RFC 4511
+     * section 4.5.1.2.
+     *
+     * @param name
+     *          the name of the search scope to return
+     * @return The search scope, or {@code null} if there was no search scope
+     *         associated with {@code name}.
+     * @throws NullPointerException
+     *           if name is null
+     */
+    public static SearchScope valueOf(String name) {
+        for (SearchScope searchScope : ELEMENTS) {
+            if (searchScope.name.equals(name)) {
+                return searchScope;
+            }
+        }
+        return null;
+    }
+
+    /**
      * Returns an unmodifiable list containing the set of available search
      * scopes indexed on their integer value as defined in RFC 4511 section
      * 4.5.1.2.
diff --git a/opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/SearchScopeTestCase.java b/opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/SearchScopeTestCase.java
new file mode 100644
index 0000000..dbb7a6a
--- /dev/null
+++ b/opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/SearchScopeTestCase.java
@@ -0,0 +1,61 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License").  You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at legal-notices/CDDLv1_0.txt
+ * or http://forgerock.org/license/CDDLv1.0.html.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at legal-notices/CDDLv1_0.txt.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information:
+ *      Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ *      Copyright 2013 ForgeRock AS
+ */
+package org.forgerock.opendj.ldap;
+
+import static org.fest.assertions.Assertions.*;
+import static org.testng.Assert.*;
+
+import org.testng.annotations.Test;
+
+@SuppressWarnings("javadoc")
+public class SearchScopeTestCase extends SdkTestCase {
+
+    @Test
+    public void valueOfInt() {
+        assertNull(SearchScope.valueOf(-1));
+        assertNull(SearchScope.valueOf(Integer.MAX_VALUE));
+        assertEquals(SearchScope.valueOf(0), SearchScope.BASE_OBJECT);
+        assertEquals(SearchScope.valueOf(1), SearchScope.SINGLE_LEVEL);
+        assertEquals(SearchScope.valueOf(2), SearchScope.WHOLE_SUBTREE);
+        assertEquals(SearchScope.valueOf(3), SearchScope.SUBORDINATES);
+    }
+
+    @Test
+    public void valueOfString() {
+        assertNull(SearchScope.valueOf(null));
+        assertEquals(SearchScope.valueOf("base"), SearchScope.BASE_OBJECT);
+        assertEquals(SearchScope.valueOf("one"), SearchScope.SINGLE_LEVEL);
+        assertEquals(SearchScope.valueOf("sub"), SearchScope.WHOLE_SUBTREE);
+        assertEquals(SearchScope.valueOf("subordinates"), SearchScope.SUBORDINATES);
+    }
+
+    @Test
+    public void values() {
+        assertThat(SearchScope.values()).containsExactly(SearchScope.BASE_OBJECT,
+            SearchScope.SINGLE_LEVEL, SearchScope.WHOLE_SUBTREE,
+            SearchScope.SUBORDINATES);
+    }
+}

--
Gitblit v1.10.0