From e51b916fd8aaa516695fc0e55b6186f8ddd2ee19 Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Fri, 16 Jan 2009 14:25:56 +0000
Subject: [PATCH] Add some monitoring information to the backend descriptor objects.

---
 opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/util/ConfigFromDirContext.java |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/util/ConfigFromDirContext.java b/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/util/ConfigFromDirContext.java
index a34eaa9..c881d57 100644
--- a/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/util/ConfigFromDirContext.java
+++ b/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/util/ConfigFromDirContext.java
@@ -52,6 +52,7 @@
 import org.opends.guitools.controlpanel.datamodel.BackendDescriptor;
 import org.opends.guitools.controlpanel.datamodel.BaseDNDescriptor;
 import org.opends.guitools.controlpanel.datamodel.ConnectionHandlerDescriptor;
+import org.opends.guitools.controlpanel.datamodel.CustomSearchResult;
 import org.opends.guitools.controlpanel.datamodel.IndexDescriptor;
 import org.opends.guitools.controlpanel.datamodel.VLVIndexDescriptor;
 import org.opends.guitools.controlpanel.datamodel.VLVSortOrder;
@@ -71,6 +72,8 @@
  */
 public class ConfigFromDirContext extends ConfigReader
 {
+  private static final String DATABASE_ENVIRONMENT_SUFFIX =
+    "Database Environment";
   private static final Logger LOG =
     Logger.getLogger(ConfigFromDirContext.class.getName());
 
@@ -356,6 +359,7 @@
     }
     catch (Throwable t)
     {
+      LOG.log(Level.WARNING, "Error reading configuration: "+t, t);
       OnlineUpdateException oupe = new OnlineUpdateException(
           ERR_READING_CONFIG_LDAP.get(t.toString()), t);
       ex.add(oupe);
@@ -487,6 +491,24 @@
           }
         }
       }
+      else
+      {
+        // Check if it is the DB monitor entry
+        String cn = ConnectionUtils.getFirstValue(sr, "cn");
+        if ((cn != null) && cn.endsWith(DATABASE_ENVIRONMENT_SUFFIX))
+        {
+          String monitorBackendID = cn.substring(0, cn.length() -
+              DATABASE_ENVIRONMENT_SUFFIX.length());
+          for (BackendDescriptor backend : backends)
+          {
+            if (backend.getBackendID().equalsIgnoreCase(monitorBackendID))
+            {
+              CustomSearchResult csr = new CustomSearchResult(sr, searchBaseDN);
+              backend.setMonitoringEntry(csr);
+            }
+          }
+        }
+      }
     }
   }
 

--
Gitblit v1.10.0