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

jvergara
26.52.2010 defab91e498d4516f715e0523da20004459211c9
opends/src/guitools/org/opends/guitools/controlpanel/ui/AbstractBrowseEntriesPanel.java
@@ -1307,6 +1307,7 @@
          InitialLdapContext ctx = getInfo().getDirContext();
          InitialLdapContext ctx1 = controller.getConfigurationConnection();
          boolean setConnection = ctx != ctx1;
          updateNumSubordinateHacker(desc);
          if (setConnection)
          {
            if (getInfo().getUserDataDirContext() == null)
@@ -1780,6 +1781,45 @@
  }
  /**
   * Updates the NumsubordinateHacker of the browser controller with the
   * provided server descriptor.
   * @param server the server descriptor.
   */
  private void updateNumSubordinateHacker(ServerDescriptor server)
  {
    String serverHost = server.getHostname();
    int serverPort = server.getAdminConnector().getPort();
    ArrayList<DN> allSuffixes = new ArrayList<DN>();
    for (BackendDescriptor backend : server.getBackends())
    {
      for (BaseDNDescriptor baseDN : backend.getBaseDns())
      {
        allSuffixes.add(baseDN.getDn());
      }
    }
    ArrayList<DN> rootSuffixes = new ArrayList<DN>();
    for (DN dn : allSuffixes)
    {
      boolean isRootSuffix = true;
      for (DN dn1 : allSuffixes)
      {
        if (dn1.isAncestorOf(dn) && !dn1.equals(dn))
        {
          isRootSuffix = false;
          break;
        }
      }
      if (isRootSuffix)
      {
        rootSuffixes.add(dn);
      }
    }
    controller.getNumSubordinateHacker().update(allSuffixes, rootSuffixes,
        serverHost, serverPort);
  }
  /**
   * This is a class that simply checks the number of entries that the browser
   * contains and updates a counter with the new number of entries.
   * It is basically a thread that sleeps and checks whether some