From 8a8a81b8bac1333b0eeae6f07ca58741ab063722 Mon Sep 17 00:00:00 2001
From: Ludovic Poitou <ludovic.poitou@forgerock.com>
Date: Tue, 15 Dec 2015 15:10:56 +0000
Subject: [PATCH] OPENDJ-2539 - Control-Panel: Nothing displayed in Monitoring > General Information > Db Env Now that we have pluggable backends, the name of entries containing the monitoring information for databases has changed, and there are 2 kinds of statistics : for JE and for PDB. BackendDescriptor.java: Adds support for the type of pluggable backend (JE or PDB) DBEnvironmentMonitoringPanel renamed as DatabaseMonitoringPanel, added support for type of pluggable backend. Renamed "operations" into "fields" (these are the statistics attributes we display). DBEnvironmentMonitoringTablePanel renamed as DatabaseMonitoringTableModel, code cleanup. BrowseGeneralMonitoringPanel.java: Replace DB Environment node by 2 Databases Information Nodes : one for JE backends, one for PDB backends GeneralMonitoringRightPanel.java: replaced the DBEnvironmentMonitoringPanel by 2 DatabaseMonitoringPanels (JE and PDB), reworked identifications of all panels (to avoid using className). ConfigFromDirContext.java: added detection of backend type in monitoring entries. MonitoringAttributesViewPanel.java : code cleanup admin_tool.properties: Update messages.

---
 opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/ConfigFromDirContext.java |   25 +++++++++++++++++++------
 1 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/ConfigFromDirContext.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/ConfigFromDirContext.java
index e9c9ec3..b237dbc 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/ConfigFromDirContext.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/ConfigFromDirContext.java
@@ -108,7 +108,8 @@
 {
   private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
 
-  private static final String DATABASE_ENVIRONMENT_SUFFIX = " Database Environment";
+  private static final String DATABASE_JE_MONITORING_ENTRY_SUFFIX = " JE Database";
+  private static final String DATABASE_PDB_MONITORING_ENTRY_SUFFIX = " PDB Database";
   private static final String SYNC_PROVIDER_NAME = "Multimaster Synchronization";
 
   private CustomSearchResult rootMonitor;
@@ -714,19 +715,19 @@
                 baseDN.setAgeOfOldestMissingChange(
                     Long.valueOf(ConnectionUtils.getFirstValue(sr, "approx-older-change-not-synchronized-millis")));
               }
-              catch (Throwable t)
+              catch (Throwable ignored)
               {
               }
               try
               {
                 baseDN.setMissingChanges(Integer.valueOf(missingChanges));
               }
-              catch (Throwable t)
+              catch (Throwable ignored)
               {
               }
             }
           }
-          catch (Throwable t)
+          catch (Throwable ignored)
           {
           }
         }
@@ -784,13 +785,25 @@
       {
         // Check if it is the DB monitor entry
         String cn = ConnectionUtils.getFirstValue(sr, "cn");
-        if (cn != null && cn.endsWith(DATABASE_ENVIRONMENT_SUFFIX))
+        String monitorBackendID = null;
+        BackendDescriptor.PluggableType pluggableType = BackendDescriptor.PluggableType.UNKNOWN;
+        if (cn != null && cn.endsWith(DATABASE_JE_MONITORING_ENTRY_SUFFIX))
         {
-          String monitorBackendID = cn.substring(0, cn.length() - DATABASE_ENVIRONMENT_SUFFIX.length());
+          pluggableType = BackendDescriptor.PluggableType.JE;
+          monitorBackendID = cn.substring(0, cn.length() - DATABASE_JE_MONITORING_ENTRY_SUFFIX.length());
+        }
+        if (cn != null && cn.endsWith(DATABASE_PDB_MONITORING_ENTRY_SUFFIX))
+        {
+          pluggableType = BackendDescriptor.PluggableType.PDB;
+          monitorBackendID = cn.substring(0, cn.length() - DATABASE_PDB_MONITORING_ENTRY_SUFFIX.length());
+        }
+        if (monitorBackendID != null)
+        {
           for (BackendDescriptor backend : backends)
           {
             if (backend.getBackendID().equalsIgnoreCase(monitorBackendID))
             {
+              backend.setPluggableType(pluggableType);
               backend.setMonitoringEntry(csr);
             }
           }

--
Gitblit v1.10.0