From 9a72955d0b08a0a1b3116d9eaba993c77c84d8c1 Mon Sep 17 00:00:00 2001
From: boli <boli@localhost>
Date: Mon, 22 Oct 2007 21:47:06 +0000
Subject: [PATCH] Added the ability to retrieve the number of entries in the entire subordinate subtree to the numSubordinates method in the backend API. Changed the replication code to use numSubordinates of the entires subtree to determine how many entries will be exported and imported during initialization.

---
 opends/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestBackendImpl.java |   36 ++++++++++++++++++++++++------------
 1 files changed, 24 insertions(+), 12 deletions(-)

diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestBackendImpl.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestBackendImpl.java
index 948e9c5..8595001 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestBackendImpl.java
+++ b/opends/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestBackendImpl.java
@@ -605,17 +605,23 @@
   public void testNumSubordinates() throws Exception
   {
     DN dn = DN.decode("dc=test,dc=com");
-    assertEquals(backend.numSubordinates(dn), 1);
+    assertEquals(backend.numSubordinates(dn, false), 1);
+    assertEquals(backend.numSubordinates(dn, true), 13);
     dn = DN.decode("ou=People,dc=test,dc=com");
-    assertEquals(backend.numSubordinates(dn), 12);
+    assertEquals(backend.numSubordinates(dn, false), 12);
+    assertEquals(backend.numSubordinates(dn, true), 12);
     dn = DN.decode("dc=com");
-    assertEquals(backend.numSubordinates(dn), -1);
+    assertEquals(backend.numSubordinates(dn, false), -1);
+    assertEquals(backend.numSubordinates(dn, true), -1);
     dn = DN.decode("dc=test1,dc=com");
-    assertEquals(backend.numSubordinates(dn), 2);
+    assertEquals(backend.numSubordinates(dn, false), 2);
+    assertEquals(backend.numSubordinates(dn, true), 2);
     dn = DN.decode("uid=user.10,ou=People,dc=test,dc=com");
-    assertEquals(backend.numSubordinates(dn), 0);
+    assertEquals(backend.numSubordinates(dn, false), 0);
+    assertEquals(backend.numSubordinates(dn, true), 0);
     dn = DN.decode("uid=does not exist,ou=People,dc=test,dc=com");
-    assertEquals(backend.numSubordinates(dn), -1);
+    assertEquals(backend.numSubordinates(dn, false), -1);
+    assertEquals(backend.numSubordinates(dn, true), -1);
   }
 
   @Test(dependsOnMethods = "testAdd")
@@ -1543,19 +1549,25 @@
   public void testNumSubordinatesIndexEntryLimitExceeded() throws Exception
   {
     DN dn = DN.decode("dc=test,dc=com");
-    assertEquals(backend.numSubordinates(dn), 1);
+    assertEquals(backend.numSubordinates(dn, false), 1);
+    assertEquals(backend.numSubordinates(dn, true), 14);
 
     // 1 entry was deleted and 2 added for a total of 13
     dn = DN.decode("ou=People,dc=test,dc=com");
-    assertEquals(backend.numSubordinates(dn), 13);
+    assertEquals(backend.numSubordinates(dn, false), 13);
+    assertEquals(backend.numSubordinates(dn, true), 13);
     dn = DN.decode("dc=com");
-    assertEquals(backend.numSubordinates(dn), -1);
+    assertEquals(backend.numSubordinates(dn, false), -1);
+    assertEquals(backend.numSubordinates(dn, true), -1);
     dn = DN.decode("dc=test1,dc=com");
-    assertEquals(backend.numSubordinates(dn), 2);
+    assertEquals(backend.numSubordinates(dn, false), 2);
+    assertEquals(backend.numSubordinates(dn, true), 2);
     dn = DN.decode("uid=user.10,ou=People,dc=test,dc=com");
-    assertEquals(backend.numSubordinates(dn), 0);
+    assertEquals(backend.numSubordinates(dn, false), 0);
+    assertEquals(backend.numSubordinates(dn, true), 0);
     dn = DN.decode("uid=does not exist,ou=People,dc=test,dc=com");
-    assertEquals(backend.numSubordinates(dn), -1);
+    assertEquals(backend.numSubordinates(dn, false), -1);
+    assertEquals(backend.numSubordinates(dn, true), -1);
   }
 
 

--
Gitblit v1.10.0