mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

ludovicp
25.30.2010 2439f5121bd2989daae452410ea14b61fc0e0775
Fixes an issue when deleting a password policy
2 files modified
115 ■■■■ changed files
opends/src/server/org/opends/server/api/DITCacheMap.java 37 ●●●●● patch | view | raw | blame | history
opends/tests/unit-tests-testng/src/server/org/opends/server/api/DITCacheMapTestCase.java 78 ●●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/api/DITCacheMap.java
@@ -116,7 +116,7 @@
  private Map<DN,Node<T>> ditCacheMap;
  /**
   * Default contructor.
   * Default constructor.
   */
  public DITCacheMap()
  {
@@ -124,7 +124,7 @@
  }
  /**
   * Contructs a new DITCacheMap from a given Map.
   * Constructs a new DITCacheMap from a given Map.
   * @param m existing Map to construct new
   *          DITCacheMap from.
   */
@@ -683,6 +683,13 @@
      {
        if (rootNode != null)
        {
          if (node == rootNode)
          {
            if (rootNode.element != null)
            {
              return true;
            }
          }
          while (node != null)
          {
            if (node.element != null)
@@ -695,13 +702,10 @@
            }
            else
            {
              if (node != rootNode)
              while ((node.next == null) &&
                     (node.parent != rootNode))
              {
                while ((node.next == null) &&
                       (node.parent != rootNode))
                {
                  node = node.parent;
                }
                node = node.parent;
              }
              node = node.next;
            }
@@ -719,6 +723,14 @@
        if (rootNode != null)
        {
          if (node == rootNode)
          {
            node = rootNode.child;
            if (rootNode.element != null)
            {
              return rootNode.element;
            }
          }
          while (node != null)
          {
            if (node.element != null)
@@ -735,13 +747,10 @@
            }
            else
            {
              if (node != rootNode)
              while ((node.next == null) &&
                     (node.parent != rootNode))
              {
                while ((node.next == null) &&
                       (node.parent != rootNode))
                {
                  node = node.parent;
                }
                node = node.parent;
              }
              node = node.next;
            }
opends/tests/unit-tests-testng/src/server/org/opends/server/api/DITCacheMapTestCase.java
@@ -292,6 +292,21 @@
    assertFalse(subtreeSet.isEmpty());
    assertEquals(subtreeSet.size(), 1);
    assertTrue(subtreeSet.contains(dn0String));
    subtreeSet = ditMap.getSubtree(dn1);
    assertFalse(subtreeSet.isEmpty());
    assertEquals(subtreeSet.size(), 1);
    assertTrue(subtreeSet.contains(dn1String));
    subtreeSet = ditMap.getSubtree(dn2);
    assertFalse(subtreeSet.isEmpty());
    assertEquals(subtreeSet.size(), 1);
    assertTrue(subtreeSet.contains(dn2String));
    subtreeSet = ditMap.getSubtree(dn3);
    assertFalse(subtreeSet.isEmpty());
    assertEquals(subtreeSet.size(), 1);
    assertTrue(subtreeSet.contains(dn3String));
  }
  @Test()
@@ -492,5 +507,68 @@
    assertTrue(ditMap.containsKey(dn7));
    assertTrue(ditMap.containsKey(dn8));
    assertTrue(ditMap.containsKey(dn9));
    clearTestMap();
    putAllAndVerify();
    removeSet.clear();
    assertTrue(ditMap.removeSubtree(dn1,
            removeSet));
    assertFalse(removeSet.isEmpty());
    assertEquals(removeSet.size(), 1);
    assertTrue(removeSet.contains(dn1String));
    assertEquals(ditMap.size(), 9);
    assertTrue(ditMap.containsKey(dn0));
    assertTrue(ditMap.containsKey(dn2));
    assertTrue(ditMap.containsKey(dn3));
    assertTrue(ditMap.containsKey(dn4));
    assertTrue(ditMap.containsKey(dn5));
    assertTrue(ditMap.containsKey(dn6));
    assertTrue(ditMap.containsKey(dn7));
    assertTrue(ditMap.containsKey(dn8));
    assertTrue(ditMap.containsKey(dn9));
    clearTestMap();
    putAllAndVerify();
    removeSet.clear();
    assertTrue(ditMap.removeSubtree(dn2,
            removeSet));
    assertFalse(removeSet.isEmpty());
    assertEquals(removeSet.size(), 1);
    assertTrue(removeSet.contains(dn2String));
    assertEquals(ditMap.size(), 9);
    assertTrue(ditMap.containsKey(dn0));
    assertTrue(ditMap.containsKey(dn1));
    assertTrue(ditMap.containsKey(dn3));
    assertTrue(ditMap.containsKey(dn4));
    assertTrue(ditMap.containsKey(dn5));
    assertTrue(ditMap.containsKey(dn6));
    assertTrue(ditMap.containsKey(dn7));
    assertTrue(ditMap.containsKey(dn8));
    assertTrue(ditMap.containsKey(dn9));
    clearTestMap();
    putAllAndVerify();
    removeSet.clear();
    assertTrue(ditMap.removeSubtree(dn3,
            removeSet));
    assertFalse(removeSet.isEmpty());
    assertEquals(removeSet.size(), 1);
    assertTrue(removeSet.contains(dn3String));
    assertEquals(ditMap.size(), 9);
    assertTrue(ditMap.containsKey(dn0));
    assertTrue(ditMap.containsKey(dn1));
    assertTrue(ditMap.containsKey(dn2));
    assertTrue(ditMap.containsKey(dn4));
    assertTrue(ditMap.containsKey(dn5));
    assertTrue(ditMap.containsKey(dn6));
    assertTrue(ditMap.containsKey(dn7));
    assertTrue(ditMap.containsKey(dn8));
    assertTrue(ditMap.containsKey(dn9));
  }
}