From 06e8f819bcda0d7162d662af94c6ade794e1cfe6 Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Fri, 08 Dec 2006 23:54:57 +0000
Subject: [PATCH] Update the backend API to provide a method for getting the number of entries contained in that backend.  Also, create a new monitor entry for each registered backend that will report the backend ID, base DNs, writability mode, and entry count for that backend.

---
 opends/src/server/org/opends/server/core/DirectoryServer.java |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/opends/src/server/org/opends/server/core/DirectoryServer.java b/opends/src/server/org/opends/server/core/DirectoryServer.java
index e113da4..e4f69a6 100644
--- a/opends/src/server/org/opends/server/core/DirectoryServer.java
+++ b/opends/src/server/org/opends/server/core/DirectoryServer.java
@@ -90,6 +90,7 @@
 import org.opends.server.extensions.JMXAlertHandler;
 import org.opends.server.loggers.StartupDebugLogger;
 import org.opends.server.loggers.StartupErrorLogger;
+import org.opends.server.monitors.BackendMonitor;
 import org.opends.server.schema.AttributeTypeSyntax;
 import org.opends.server.schema.BinarySyntax;
 import org.opends.server.schema.BooleanEqualityMatchingRule;
@@ -5300,6 +5301,11 @@
       {
         newBackends.put(backendID, backend);
         directoryServer.backends = newBackends;
+
+        BackendMonitor monitor = new BackendMonitor(backend);
+        monitor.initializeMonitorProvider(null);
+        backend.setBackendMonitor(monitor);
+        registerMonitorProvider(monitor);
       }
     }
   }
@@ -5327,6 +5333,14 @@
       newBackends.remove(backend.getBackendID());
 
       directoryServer.backends = newBackends;
+
+      BackendMonitor monitor = backend.getBackendMonitor();
+      if (monitor != null)
+      {
+        String instanceName = toLowerCase(monitor.getMonitorInstanceName());
+        deregisterMonitorProvider(instanceName);
+        monitor.finalizeMonitorProvider();
+      }
     }
   }
 

--
Gitblit v1.10.0