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

Matthew Swift
04.15.2013 aa2e7c321ca330792a6c2a7c41efd923bb1270af
Initial work for re-opened OPENDJ-866: Local RS is named differently to remote RS under.

Align signature of DirectoryServer.deregisterMonitorProvider with registerMonitorProvider and avoid lots of boilerplate name normalization.
19 files modified
186 ■■■■■ changed files
opends/src/server/org/opends/server/backends/jeb/BackendImpl.java 10 ●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/backends/jeb/importLDIF/Importer.java 19 ●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/core/DirectoryServer.java 29 ●●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/core/EntryCacheConfigManager.java 25 ●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/core/MonitorConfigManager.java 28 ●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/core/networkgroups/NetworkGroupStatistics.java 3 ●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/protocols/http/HTTPConnectionHandler.java 6 ●●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/protocols/ldap/LDAPConnectionHandler.java 6 ●●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/replication/server/DbHandler.java 6 ●●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/replication/server/DraftCNDbHandler.java 6 ●●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/replication/server/LightweightServerHandler.java 15 ●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/replication/server/MessageHandler.java 2 ●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java 2 ●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/replication/server/ServerHandler.java 4 ●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/replication/service/ReplicationDomain.java 3 ●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/workflowelement/WorkflowElement.java 10 ●●●● patch | view | raw | blame | history
opends/tests/unit-tests-testng/src/server/org/opends/server/monitors/InternalSearchMonitorTestCase.java 4 ●●●● patch | view | raw | blame | history
opends/tests/unit-tests-testng/src/server/org/opends/server/replication/ProtocolWindowTest.java 5 ●●●● patch | view | raw | blame | history
opends/tests/unit-tests-testng/src/server/org/opends/server/replication/StressTest.java 3 ●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/backends/jeb/BackendImpl.java
@@ -407,11 +407,8 @@
      }
    }
    DirectoryServer.deregisterMonitorProvider(
        rootContainerMonitor.getMonitorInstanceName());
    DirectoryServer.deregisterMonitorProvider(
        diskMonitor.getMonitorInstanceName());
    DirectoryServer.deregisterMonitorProvider(rootContainerMonitor);
    DirectoryServer.deregisterMonitorProvider(diskMonitor);
    // We presume the server will prevent more operations coming into this
    // backend, but there may be existing operations already in the
@@ -1764,7 +1761,6 @@
  /**
   * {@inheritDoc}
   * @param monitor
   */
  public void diskLowThresholdReached(DiskSpaceMonitor monitor) {
    Message msg = ERR_JEB_DISK_LOW_THRESHOLD_REACHED.get(
@@ -1777,7 +1773,6 @@
  /**
   * {@inheritDoc}
   * @param monitor
   */
  public void diskFullThresholdReached(DiskSpaceMonitor monitor) {
    Message msg = ERR_JEB_DISK_FULL_THRESHOLD_REACHED.get(
@@ -1790,7 +1785,6 @@
  /**
   * {@inheritDoc}
   * @param monitor
   */
  public void diskSpaceRestored(DiskSpaceMonitor monitor) {
    Message msg = NOTE_JEB_DISK_SPACE_RESTORED.get(monitor.getFreeSpace(),
opends/src/server/org/opends/server/backends/jeb/importLDIF/Importer.java
@@ -30,7 +30,6 @@
import static org.opends.messages.JebMessages.*;
import static org.opends.server.loggers.ErrorLogger.logError;
import static org.opends.server.loggers.debug.DebugLogger.getTracer;
import static org.opends.server.util.DynamicConstants.BUILD_ID;
import static org.opends.server.util.DynamicConstants.REVISION_NUMBER;
import static org.opends.server.util.ServerConstants.*;
@@ -56,7 +55,6 @@
import org.opends.server.config.ConfigException;
import org.opends.server.core.DirectoryServer;
import org.opends.server.extensions.DiskSpaceMonitor;
import org.opends.server.loggers.debug.DebugTracer;
import org.opends.server.types.*;
import org.opends.server.util.LDIFReader;
import org.opends.server.util.Platform;
@@ -71,11 +69,6 @@
 */
public final class Importer implements DiskSpaceMonitorHandler
{
  /**
   * The tracer object for the debug logger.
   */
  private static final DebugTracer TRACER = getTracer();
  private static final int TIMER_INTERVAL = 10000;
  private static final int KB = 1024;
  private static final int MB = (KB * KB);
@@ -858,10 +851,8 @@
    }
    finally
    {
      DirectoryServer.deregisterMonitorProvider(tmpMonitor
          .getMonitorInstanceName());
      DirectoryServer.deregisterMonitorProvider(dbMonitor
          .getMonitorInstanceName());
      DirectoryServer.deregisterMonitorProvider(tmpMonitor);
      DirectoryServer.deregisterMonitorProvider(dbMonitor);
      tmpMonitor.finalizeMonitorProvider();
      dbMonitor.finalizeMonitorProvider();
    }
@@ -972,10 +963,8 @@
    finally
    {
      reader.close();
      DirectoryServer.deregisterMonitorProvider(tmpMonitor
          .getMonitorInstanceName());
      DirectoryServer.deregisterMonitorProvider(dbMonitor
          .getMonitorInstanceName());
      DirectoryServer.deregisterMonitorProvider(tmpMonitor);
      DirectoryServer.deregisterMonitorProvider(dbMonitor);
      tmpMonitor.finalizeMonitorProvider();
      dbMonitor.finalizeMonitorProvider();
    }
opends/src/server/org/opends/server/core/DirectoryServer.java
@@ -5603,17 +5603,18 @@
  /**
   * Deregisters the specified monitor provider from the Directory Server.  If
   * no such monitor provider is registered, no action will be taken.
   * Deregisters the specified monitor provider from the Directory Server. If no
   * such monitor provider is registered, no action will be taken.
   *
   * @param  lowerName  The name of the monitor provider to deregister, in all
   *                    lowercase characters.
   * @param monitorProvider
   *          The monitor provider to deregister from the Directory Server.
   */
  public static void deregisterMonitorProvider(String lowerName)
  public static void deregisterMonitorProvider(
      MonitorProvider<? extends MonitorProviderCfg> monitorProvider)
  {
    MonitorProvider provider =
         directoryServer.monitorProviders.remove(toLowerCase(lowerName));
    String monitorName = toLowerCase(monitorProvider.getMonitorInstanceName());
    MonitorProvider<?> provider = directoryServer.monitorProviders
        .remove(monitorName);
    // Try to deregister the monitor provider as an MBean.
    if (provider != null)
@@ -6339,8 +6340,7 @@
      BackendMonitor monitor = backend.getBackendMonitor();
      if (monitor != null)
      {
        String instanceName = toLowerCase(monitor.getMonitorInstanceName());
        deregisterMonitorProvider(instanceName);
        deregisterMonitorProvider(monitor);
        monitor.finalizeMonitorProvider();
        backend.setBackendMonitor(null);
      }
@@ -7218,8 +7218,7 @@
      ConnectionHandlerMonitor monitor = handler.getConnectionHandlerMonitor();
      if (monitor != null)
      {
        String instanceName = toLowerCase(monitor.getMonitorInstanceName());
        deregisterMonitorProvider(instanceName);
        deregisterMonitorProvider(monitor);
        monitor.finalizeMonitorProvider();
        handler.setConnectionHandlerMonitor(null);
      }
@@ -9691,20 +9690,16 @@
  public static DN getMonitorProviderDN(MonitorProvider provider)
  {
    String monitorName = provider.getMonitorInstanceName();
    getAttributeType(ATTR_COMMON_NAME);
    DN monitorRootDN;
    try
    {
      // Get a complete DN which could be a tree naming schema
      monitorRootDN = DN.decode("cn="+monitorName+","+DN_MONITOR_ROOT);
      return DN.decode("cn="+monitorName+","+DN_MONITOR_ROOT);
    }
    catch (DirectoryException e)
    {
      // Cannot reach this point.
      throw new RuntimeException();
    }
    return monitorRootDN;
  }
opends/src/server/org/opends/server/core/EntryCacheConfigManager.java
@@ -23,6 +23,7 @@
 *
 *
 *      Copyright 2006-2008 Sun Microsystems, Inc.
 *      Portions copyright 2013 ForgeRock AS.
 */
package org.opends.server.core;
import org.opends.messages.Message;
@@ -342,8 +343,7 @@
        EntryCacheMonitorProvider monitor = entryCache.getEntryCacheMonitor();
        if (monitor != null)
        {
          String instanceName = toLowerCase(monitor.getMonitorInstanceName());
          DirectoryServer.deregisterMonitorProvider(instanceName);
          DirectoryServer.deregisterMonitorProvider(monitor);
          monitor.finalizeMonitorProvider();
          entryCache.setEntryCacheMonitor(null);
        }
@@ -511,8 +511,7 @@
      EntryCacheMonitorProvider monitor = entryCache.getEntryCacheMonitor();
      if (monitor != null)
      {
        String instanceName = toLowerCase(monitor.getMonitorInstanceName());
        DirectoryServer.deregisterMonitorProvider(instanceName);
        DirectoryServer.deregisterMonitorProvider(monitor);
        monitor.finalizeMonitorProvider();
        entryCache.setEntryCacheMonitor(null);
      }
@@ -612,7 +611,7 @@
    )
    throws InitializationException
  {
    EntryCache entryCache = null;
    EntryCache<?> entryCache = null;
    // If we this entry cache is already installed and active it
    // should be present in the current cache order map, use it.
@@ -622,17 +621,17 @@
    try
    {
      EntryCacheCfgDefn                   definition;
      ClassPropertyDefinition             propertyDefinition;
      Class<? extends EntryCache>         cacheClass;
      EntryCache<? extends EntryCacheCfg> cache;
      definition = EntryCacheCfgDefn.getInstance();
      propertyDefinition = definition.getJavaClassPropertyDefinition();
      cacheClass = propertyDefinition.loadClass(className, EntryCache.class);
      EntryCacheCfgDefn definition = EntryCacheCfgDefn.getInstance();
      ClassPropertyDefinition propertyDefinition = definition
          .getJavaClassPropertyDefinition();
      @SuppressWarnings("unchecked")
      Class<? extends EntryCache<?>> cacheClass =
          (Class<? extends EntryCache<?>>) propertyDefinition
              .loadClass(className, EntryCache.class);
      // If there is some entry cache instance already initialized work with
      // it instead of creating a new one unless explicit init is requested.
      EntryCache<? extends EntryCacheCfg> cache;
      if (initialize || (entryCache == null)) {
        cache = (EntryCache<? extends EntryCacheCfg>) cacheClass.newInstance();
      } else {
opends/src/server/org/opends/server/core/MonitorConfigManager.java
@@ -23,6 +23,7 @@
 *
 *
 *      Copyright 2006-2010 Sun Microsystems, Inc.
 *      Portions copyright 2013 ForgeRock AS.
 */
package org.opends.server.core;
import org.opends.messages.Message;
@@ -70,7 +71,7 @@
{
  // A mapping between the DNs of the config entries and the associated monitor
  // providers.
  private ConcurrentHashMap<DN,MonitorProvider> monitors;
  private ConcurrentHashMap<DN,MonitorProvider<?>> monitors;
@@ -79,7 +80,7 @@
   */
  public MonitorConfigManager()
  {
    monitors = new ConcurrentHashMap<DN,MonitorProvider>();
    monitors = new ConcurrentHashMap<DN,MonitorProvider<?>>();
  }
@@ -238,11 +239,10 @@
    boolean           adminActionRequired = false;
    ArrayList<Message> messages            = new ArrayList<Message>();
    MonitorProvider monitor = monitors.remove(configuration.dn());
    MonitorProvider<?> monitor = monitors.remove(configuration.dn());
    if (monitor != null)
    {
      String lowerName = toLowerCase(monitor.getMonitorInstanceName());
      DirectoryServer.deregisterMonitorProvider(lowerName);
      DirectoryServer.deregisterMonitorProvider(monitor);
      monitor.finalizeMonitorProvider();
    }
@@ -292,8 +292,7 @@
    // Get the existing monitor provider if it's already enabled.
    MonitorProvider existingMonitor = monitors.get(configuration.dn());
    MonitorProvider<?> existingMonitor = monitors.get(configuration.dn());
    // If the new configuration has the monitor disabled, then disable it if it
    // is enabled, or do nothing if it's already disabled.
@@ -301,11 +300,8 @@
    {
      if (existingMonitor != null)
      {
        String lowerName =
             toLowerCase(existingMonitor.getMonitorInstanceName());
        DirectoryServer.deregisterMonitorProvider(lowerName);
        MonitorProvider monitor = monitors.remove(configuration.dn());
        DirectoryServer.deregisterMonitorProvider(existingMonitor);
        MonitorProvider<?> monitor = monitors.remove(configuration.dn());
        if (monitor != null)
        {
          monitor.finalizeMonitorProvider();
@@ -383,9 +379,11 @@
           MonitorProviderCfgDefn.getInstance();
      ClassPropertyDefinition propertyDefinition =
           definition.getJavaClassPropertyDefinition();
      Class<? extends MonitorProvider> providerClass =
           propertyDefinition.loadClass(className, MonitorProvider.class);
      MonitorProvider monitor = providerClass.newInstance();
      @SuppressWarnings("unchecked")
      Class<? extends MonitorProvider<?>> providerClass =
          (Class<? extends MonitorProvider<?>>) propertyDefinition
              .loadClass(className, MonitorProvider.class);
      MonitorProvider<?> monitor = providerClass.newInstance();
      if (configuration != null)
      {
opends/src/server/org/opends/server/core/networkgroups/NetworkGroupStatistics.java
@@ -23,6 +23,7 @@
 *
 *
 *      Copyright 2009-2010 Sun Microsystems, Inc.
 *      Portions copyright 2013 ForgeRock AS.
 */
package org.opends.server.core.networkgroups;
@@ -81,7 +82,7 @@
   * Finalize the statistics.
   */
  public void finalizeStatistics() {
    DirectoryServer.deregisterMonitorProvider(getMonitorInstanceName());
    DirectoryServer.deregisterMonitorProvider(this);
  }
opends/src/server/org/opends/server/protocols/http/HTTPConnectionHandler.java
@@ -353,14 +353,12 @@
    if (connMonitor != null)
    {
      String lowerName = toLowerCase(connMonitor.getMonitorInstanceName());
      DirectoryServer.deregisterMonitorProvider(lowerName);
      DirectoryServer.deregisterMonitorProvider(connMonitor);
    }
    if (statTracker != null)
    {
      String lowerName = toLowerCase(statTracker.getMonitorInstanceName());
      DirectoryServer.deregisterMonitorProvider(lowerName);
      DirectoryServer.deregisterMonitorProvider(statTracker);
    }
  }
opends/src/server/org/opends/server/protocols/ldap/LDAPConnectionHandler.java
@@ -399,14 +399,12 @@
    if (connMonitor != null)
    {
      String lowerName = toLowerCase(connMonitor.getMonitorInstanceName());
      DirectoryServer.deregisterMonitorProvider(lowerName);
      DirectoryServer.deregisterMonitorProvider(connMonitor);
    }
    if (statTracker != null)
    {
      String lowerName = toLowerCase(statTracker.getMonitorInstanceName());
      DirectoryServer.deregisterMonitorProvider(lowerName);
      DirectoryServer.deregisterMonitorProvider(statTracker);
    }
    DirectoryServer.deregisterSupportedLDAPVersion(2, this);
opends/src/server/org/opends/server/replication/server/DbHandler.java
@@ -155,8 +155,7 @@
        + ") for domain \"" + baseDn + "\"");
    thread.start();
    DirectoryServer.deregisterMonitorProvider(
                      dbMonitor.getMonitorInstanceName());
    DirectoryServer.deregisterMonitorProvider(dbMonitor);
    DirectoryServer.registerMonitorProvider(dbMonitor);
  }
@@ -338,8 +337,7 @@
      flush();
    db.shutdown();
    DirectoryServer.deregisterMonitorProvider(
        dbMonitor.getMonitorInstanceName());
    DirectoryServer.deregisterMonitorProvider(dbMonitor);
  }
  /**
opends/src/server/org/opends/server/replication/server/DraftCNDbHandler.java
@@ -118,8 +118,7 @@
    thread.start();
    // Monitoring registration
    DirectoryServer.deregisterMonitorProvider(
                      dbMonitor.getMonitorInstanceName());
    DirectoryServer.deregisterMonitorProvider(dbMonitor);
    DirectoryServer.registerMonitorProvider(dbMonitor);
  }
@@ -258,8 +257,7 @@
    }
    db.shutdown();
    DirectoryServer.deregisterMonitorProvider(
        dbMonitor.getMonitorInstanceName());
    DirectoryServer.deregisterMonitorProvider(dbMonitor);
  }
  /**
opends/src/server/org/opends/server/replication/server/LightweightServerHandler.java
@@ -182,7 +182,7 @@
      " LWSH for remote server " + this.serverId +
      " connected to:" + this.replServerHandler.getMonitorInstanceName() +
          " start");
    DirectoryServer.deregisterMonitorProvider(getMonitorInstanceName());
    DirectoryServer.deregisterMonitorProvider(this);
    DirectoryServer.registerMonitorProvider(this);
  }
@@ -193,13 +193,12 @@
  public void stopHandler()
  {
    if (debugEnabled())
      TRACER.debugInfo(
      "In " +
replServerHandler.getDomain().getReplicationServer().getMonitorInstanceName() +
      " LWSH for remote server " + this.serverId +
      " connected to:" + this.replServerHandler.getMonitorInstanceName() +
          " stop");
    DirectoryServer.deregisterMonitorProvider(getMonitorInstanceName());
      TRACER.debugInfo("In "
          + replServerHandler.getDomain().getReplicationServer()
              .getMonitorInstanceName() + " LWSH for remote server "
          + this.serverId + " connected to:"
          + this.replServerHandler.getMonitorInstanceName() + " stop");
    DirectoryServer.deregisterMonitorProvider(this);
  }
  /**
opends/src/server/org/opends/server/replication/server/MessageHandler.java
@@ -695,7 +695,7 @@
      msgQueue.notifyAll();
    }
    DirectoryServer.deregisterMonitorProvider(getMonitorInstanceName());
    DirectoryServer.deregisterMonitorProvider(this);
  }
  /**
opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java
@@ -1823,7 +1823,7 @@
   */
  public void shutdown()
  {
    DirectoryServer.deregisterMonitorProvider(getMonitorInstanceName());
    DirectoryServer.deregisterMonitorProvider(this);
    // Terminate the assured timer
    assuredTimeoutTimer.cancel();
opends/src/server/org/opends/server/replication/server/ServerHandler.java
@@ -393,7 +393,7 @@
      }
    }
    DirectoryServer.deregisterMonitorProvider(getMonitorInstanceName());
    DirectoryServer.deregisterMonitorProvider(this);
    DirectoryServer.registerMonitorProvider(this);
  }
@@ -1074,7 +1074,7 @@
      heartbeatThread.shutdown();
    }
    DirectoryServer.deregisterMonitorProvider(getMonitorInstanceName());
    DirectoryServer.deregisterMonitorProvider(this);
    /*
     * Be sure to wait for ServerWriter and ServerReader death
opends/src/server/org/opends/server/replication/service/ReplicationDomain.java
@@ -3101,8 +3101,7 @@
   */
  public void stopDomain()
  {
    DirectoryServer.deregisterMonitorProvider(monitor.getMonitorInstanceName());
    DirectoryServer.deregisterMonitorProvider(monitor);
    disableService();
    domains.remove(serviceID);
  }
opends/src/server/org/opends/server/workflowelement/WorkflowElement.java
@@ -23,6 +23,7 @@
 *
 *
 *      Copyright 2008-2010 Sun Microsystems, Inc.
 *      Portions copyright 2013 ForgeRock AS.
 */
package org.opends.server.workflowelement;
@@ -341,9 +342,8 @@
  public void finalizeWorkflowElement()
  {
    // Deregister the monitor provider.
    if (this.statistics != null) {
      DirectoryServer.deregisterMonitorProvider(
          this.statistics.getMonitorInstanceName());
    if (statistics != null) {
      DirectoryServer.deregisterMonitorProvider(statistics);
    }
  }
@@ -461,12 +461,12 @@
   *        below this object.
   * @return boolean
   */
  public boolean hasChildWorkflowElement(WorkflowElement element) {
  public boolean hasChildWorkflowElement(WorkflowElement<?> element) {
    if (this.getChildWorkflowElements().size() == 0) {
      return (this.equals(element));
    }
    for (WorkflowElement subElement:this.getChildWorkflowElements()) {
    for (WorkflowElement<?> subElement : this.getChildWorkflowElements()) {
      if (subElement.equals(element) ||
          subElement.hasChildWorkflowElement(element)) {
        return true;
opends/tests/unit-tests-testng/src/server/org/opends/server/monitors/InternalSearchMonitorTestCase.java
@@ -23,6 +23,7 @@
 *
 *
 *      Copyright 2006-2008 Sun Microsystems, Inc.
 *      Portions copyright 2013 ForgeRock AS.
 */
package org.opends.server.monitors;
@@ -72,8 +73,7 @@
  @AfterClass()
  public void deregisterTestMonitor()
  {
    DirectoryServer.deregisterMonitorProvider(
         testMonitorProvider.getMonitorInstanceName());
    DirectoryServer.deregisterMonitorProvider(testMonitorProvider);
  }
  /**
opends/tests/unit-tests-testng/src/server/org/opends/server/replication/ProtocolWindowTest.java
@@ -23,6 +23,7 @@
 *
 *
 *      Copyright 2006-2009 Sun Microsystems, Inc.
 *      Portions copyright 2013 ForgeRock AS.
 */
package org.opends.server.replication;
@@ -71,9 +72,6 @@
  private static final int WINDOW_SIZE = 10;
  private static final int REPLICATION_QUEUE_SIZE = 100;
  private static final String REPLICATION_STRESS_TEST =
    "Replication Stress Test";
  /**
   * A "person" entry
   */
@@ -190,7 +188,6 @@
    }
    finally {
      broker.stop();
      DirectoryServer.deregisterMonitorProvider(REPLICATION_STRESS_TEST);
      // Clean domain
      DN dn = repDomainEntry.getDN();
      try
opends/tests/unit-tests-testng/src/server/org/opends/server/replication/StressTest.java
@@ -23,6 +23,7 @@
 *
 *
 *      Copyright 2006-2010 Sun Microsystems, Inc.
 *      Portions copyright 2013 ForgeRock As.
 */
package org.opends.server.replication;
@@ -163,7 +164,7 @@
    }
    finally {
      DirectoryServer.deregisterMonitorProvider(REPLICATION_STRESS_TEST);
      DirectoryServer.deregisterMonitorProvider(monitor);
      broker.stop();
    }
  }