From fa6e5bb0c17c4d59d8598979feb1a7701bc32679 Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Tue, 12 Dec 2006 23:55:39 +0000
Subject: [PATCH] Publish a separate monitor entry for each connection handler, which includes the protocol, listen address/port, number of established connections, and information about each connection.

---
 opends/src/server/org/opends/server/backends/MonitorBackend.java |   24 +++++++++++++++++-------
 1 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/opends/src/server/org/opends/server/backends/MonitorBackend.java b/opends/src/server/org/opends/server/backends/MonitorBackend.java
index 5803d79..f5a821f 100644
--- a/opends/src/server/org/opends/server/backends/MonitorBackend.java
+++ b/opends/src/server/org/opends/server/backends/MonitorBackend.java
@@ -222,7 +222,7 @@
 
 
     // Construct the set of objectclasses to include in the base monitor entry.
-    monitorObjectClasses = new LinkedHashMap<ObjectClass,String>(3);
+    monitorObjectClasses = new LinkedHashMap<ObjectClass,String>(2);
     ObjectClass topOC = DirectoryServer.getObjectClass(OC_TOP, true);
     monitorObjectClasses.put(topOC, OC_TOP);
 
@@ -230,10 +230,6 @@
                                                            true);
     monitorObjectClasses.put(monitorOC, OC_MONITOR_ENTRY);
 
-    ObjectClass extensibleObjectOC =
-         DirectoryServer.getObjectClass(OC_EXTENSIBLE_OBJECT_LC, true);
-    monitorObjectClasses.put(extensibleObjectOC, OC_EXTENSIBLE_OBJECT);
-
 
     // Define an empty sets for the supported controls and features.
     supportedControls = new HashSet<String>(0);
@@ -509,6 +505,13 @@
     assert debugEnter(CLASS_NAME, "getBaseMonitorEntry");
 
 
+    HashMap<ObjectClass,String> monitorClasses =
+         new LinkedHashMap<ObjectClass,String>(3);
+    monitorClasses.putAll(monitorObjectClasses);
+
+    ObjectClass extensibleObjectOC =
+         DirectoryServer.getObjectClass(OC_EXTENSIBLE_OBJECT_LC, true);
+    monitorClasses.put(extensibleObjectOC, OC_EXTENSIBLE_OBJECT);
 
     HashMap<AttributeType,List<Attribute>> monitorUserAttrs =
          new LinkedHashMap<AttributeType,List<Attribute>>();
@@ -655,7 +658,7 @@
 
 
     // Construct and return the entry.
-    return new Entry(baseMonitorDN, monitorObjectClasses, monitorUserAttrs,
+    return new Entry(baseMonitorDN, monitorClasses, monitorUserAttrs,
                      monitorOperationalAttrs);
   }
 
@@ -677,6 +680,13 @@
     assert debugEnter(CLASS_NAME, "getMonitorEntry",
                       String.valueOf(monitorProvider));
 
+    HashMap<ObjectClass,String> monitorClasses =
+         new LinkedHashMap<ObjectClass,String>(3);
+    monitorClasses.putAll(monitorObjectClasses);
+
+    ObjectClass monitorOC = monitorProvider.getMonitorObjectClass();
+    monitorClasses.put(monitorOC, monitorOC.getPrimaryName());
+
     List<Attribute> monitorAttrs = monitorProvider.getMonitorData();
     HashMap<AttributeType,List<Attribute>> attrMap =
          new LinkedHashMap<AttributeType,List<Attribute>>(
@@ -717,7 +727,7 @@
       }
     }
 
-    return new Entry(entryDN, monitorObjectClasses, attrMap,
+    return new Entry(entryDN, monitorClasses, attrMap,
                      new HashMap<AttributeType,List<Attribute>>(0));
   }
 

--
Gitblit v1.10.0