From aa2e7c321ca330792a6c2a7c41efd923bb1270af Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Tue, 04 Jun 2013 14:15:10 +0000
Subject: [PATCH] Initial work for re-opened OPENDJ-866: Local RS is named differently to remote RS under.

---
 opends/src/server/org/opends/server/core/EntryCacheConfigManager.java                                   |   25 +++---
 opends/src/server/org/opends/server/replication/server/MessageHandler.java                              |    2 
 opends/tests/unit-tests-testng/src/server/org/opends/server/replication/ProtocolWindowTest.java         |    5 -
 opends/src/server/org/opends/server/core/networkgroups/NetworkGroupStatistics.java                      |    3 
 opends/src/server/org/opends/server/core/MonitorConfigManager.java                                      |   28 +++---
 opends/src/server/org/opends/server/backends/jeb/importLDIF/Importer.java                               |   19 +---
 opends/src/server/org/opends/server/replication/server/LightweightServerHandler.java                    |   15 +--
 opends/src/server/org/opends/server/protocols/http/HTTPConnectionHandler.java                           |    6 -
 opends/src/server/org/opends/server/replication/server/DbHandler.java                                   |    6 -
 opends/src/server/org/opends/server/replication/service/ReplicationDomain.java                          |    3 
 opends/src/server/org/opends/server/core/DirectoryServer.java                                           |   29 +++----
 opends/tests/unit-tests-testng/src/server/org/opends/server/replication/StressTest.java                 |    3 
 opends/tests/unit-tests-testng/src/server/org/opends/server/monitors/InternalSearchMonitorTestCase.java |    4 
 opends/src/server/org/opends/server/backends/jeb/BackendImpl.java                                       |   10 --
 opends/src/server/org/opends/server/protocols/ldap/LDAPConnectionHandler.java                           |    6 -
 opends/src/server/org/opends/server/replication/server/DraftCNDbHandler.java                            |    6 -
 opends/src/server/org/opends/server/replication/server/ServerHandler.java                               |    4 
 opends/src/server/org/opends/server/workflowelement/WorkflowElement.java                                |   10 +-
 opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java                     |    2 
 19 files changed, 75 insertions(+), 111 deletions(-)

diff --git a/opends/src/server/org/opends/server/backends/jeb/BackendImpl.java b/opends/src/server/org/opends/server/backends/jeb/BackendImpl.java
index 4043202..5e104a7 100644
--- a/opends/src/server/org/opends/server/backends/jeb/BackendImpl.java
+++ b/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(),
diff --git a/opends/src/server/org/opends/server/backends/jeb/importLDIF/Importer.java b/opends/src/server/org/opends/server/backends/jeb/importLDIF/Importer.java
index 44642de..40b1459 100644
--- a/opends/src/server/org/opends/server/backends/jeb/importLDIF/Importer.java
+++ b/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();
     }
diff --git a/opends/src/server/org/opends/server/core/DirectoryServer.java b/opends/src/server/org/opends/server/core/DirectoryServer.java
index fd743ff..096678c 100644
--- a/opends/src/server/org/opends/server/core/DirectoryServer.java
+++ b/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;
   }
 
 
diff --git a/opends/src/server/org/opends/server/core/EntryCacheConfigManager.java b/opends/src/server/org/opends/server/core/EntryCacheConfigManager.java
index 12884c0..80d5a71 100644
--- a/opends/src/server/org/opends/server/core/EntryCacheConfigManager.java
+++ b/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 {
diff --git a/opends/src/server/org/opends/server/core/MonitorConfigManager.java b/opends/src/server/org/opends/server/core/MonitorConfigManager.java
index 70b92a7..c400d56 100644
--- a/opends/src/server/org/opends/server/core/MonitorConfigManager.java
+++ b/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)
       {
diff --git a/opends/src/server/org/opends/server/core/networkgroups/NetworkGroupStatistics.java b/opends/src/server/org/opends/server/core/networkgroups/NetworkGroupStatistics.java
index a057dc9..49cf373 100644
--- a/opends/src/server/org/opends/server/core/networkgroups/NetworkGroupStatistics.java
+++ b/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);
   }
 
 
diff --git a/opends/src/server/org/opends/server/protocols/http/HTTPConnectionHandler.java b/opends/src/server/org/opends/server/protocols/http/HTTPConnectionHandler.java
index 7963627..33dc0dc 100644
--- a/opends/src/server/org/opends/server/protocols/http/HTTPConnectionHandler.java
+++ b/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);
     }
   }
 
diff --git a/opends/src/server/org/opends/server/protocols/ldap/LDAPConnectionHandler.java b/opends/src/server/org/opends/server/protocols/ldap/LDAPConnectionHandler.java
index 6cd4baa..ea92126 100644
--- a/opends/src/server/org/opends/server/protocols/ldap/LDAPConnectionHandler.java
+++ b/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);
diff --git a/opends/src/server/org/opends/server/replication/server/DbHandler.java b/opends/src/server/org/opends/server/replication/server/DbHandler.java
index b1447e0..c175b78 100644
--- a/opends/src/server/org/opends/server/replication/server/DbHandler.java
+++ b/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);
   }
 
   /**
diff --git a/opends/src/server/org/opends/server/replication/server/DraftCNDbHandler.java b/opends/src/server/org/opends/server/replication/server/DraftCNDbHandler.java
index 1111f18..9a3aa03 100644
--- a/opends/src/server/org/opends/server/replication/server/DraftCNDbHandler.java
+++ b/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);
   }
 
   /**
diff --git a/opends/src/server/org/opends/server/replication/server/LightweightServerHandler.java b/opends/src/server/org/opends/server/replication/server/LightweightServerHandler.java
index 9a9e721..0157f44 100644
--- a/opends/src/server/org/opends/server/replication/server/LightweightServerHandler.java
+++ b/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);
   }
 
   /**
diff --git a/opends/src/server/org/opends/server/replication/server/MessageHandler.java b/opends/src/server/org/opends/server/replication/server/MessageHandler.java
index 036cc3c..1c56a0b 100644
--- a/opends/src/server/org/opends/server/replication/server/MessageHandler.java
+++ b/opends/src/server/org/opends/server/replication/server/MessageHandler.java
@@ -695,7 +695,7 @@
       msgQueue.notifyAll();
     }
 
-    DirectoryServer.deregisterMonitorProvider(getMonitorInstanceName());
+    DirectoryServer.deregisterMonitorProvider(this);
   }
 
   /**
diff --git a/opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java b/opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java
index 9237dbc..4969607 100644
--- a/opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java
+++ b/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();
diff --git a/opends/src/server/org/opends/server/replication/server/ServerHandler.java b/opends/src/server/org/opends/server/replication/server/ServerHandler.java
index af1f1ba..e6915fd 100644
--- a/opends/src/server/org/opends/server/replication/server/ServerHandler.java
+++ b/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
diff --git a/opends/src/server/org/opends/server/replication/service/ReplicationDomain.java b/opends/src/server/org/opends/server/replication/service/ReplicationDomain.java
index ee69055..c4d4f1b 100644
--- a/opends/src/server/org/opends/server/replication/service/ReplicationDomain.java
+++ b/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);
   }
diff --git a/opends/src/server/org/opends/server/workflowelement/WorkflowElement.java b/opends/src/server/org/opends/server/workflowelement/WorkflowElement.java
index 4038899..66f53ab 100644
--- a/opends/src/server/org/opends/server/workflowelement/WorkflowElement.java
+++ b/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;
diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/monitors/InternalSearchMonitorTestCase.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/monitors/InternalSearchMonitorTestCase.java
index 232187d..b65c767 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/monitors/InternalSearchMonitorTestCase.java
+++ b/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);
   }
 
   /**
diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/ProtocolWindowTest.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/ProtocolWindowTest.java
index 07dd8f0..22e765d 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/ProtocolWindowTest.java
+++ b/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
diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/StressTest.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/StressTest.java
index 13efad7..735f515 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/StressTest.java
+++ b/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();
     }
   }

--
Gitblit v1.10.0