From 3d52125a92da769b0c1b61e78d0af26eefaa73e2 Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Tue, 10 Mar 2009 16:04:55 +0000
Subject: [PATCH] Fix for issue 3861 (control-panel is broken after the changes made in cn=monitor).

---
 opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/util/ConfigFromDirContext.java |   47 +++++++++++++++++++++++++++--------------------
 1 files changed, 27 insertions(+), 20 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 6bc4545..4d0ed92 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
@@ -22,7 +22,7 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2008 Sun Microsystems, Inc.
+ *      Copyright 2008-2009 Sun Microsystems, Inc.
  */
 
 package org.opends.guitools.controlpanel.util;
@@ -531,35 +531,42 @@
       }
     }
 
-    String dn = ConnectionUtils.getFirstValue(sr, "base-dn");
+    String dn = ConnectionUtils.getFirstValue(sr, "domain-name");
     String replicaId = ConnectionUtils.getFirstValue(sr, "server-id");
+    String missingChanges = ConnectionUtils.getFirstValue(sr,
+        "missing-changes");
 
-    if ((dn != null)  && (replicaId != null))
+    if ((dn != null)  && (replicaId != null) && (missingChanges != null))
     {
       for (BackendDescriptor backend : backends)
       {
         for (BaseDNDescriptor baseDN : backend.getBaseDns())
         {
-          if (Utilities.areDnsEqual(baseDN.getDn().toString(), dn) &&
-              String.valueOf(baseDN.getReplicaID()).equals(replicaId))
+          try
           {
-            try
+            if (baseDN.getDn().equals(DN.decode(dn)) &&
+                String.valueOf(baseDN.getReplicaID()).equals(replicaId))
             {
-              baseDN.setAgeOfOldestMissingChange(
-                  new Long(ConnectionUtils.getFirstValue(sr,
-              "approx-older-change-not-synchronized-millis")));
+              try
+              {
+                baseDN.setAgeOfOldestMissingChange(
+                    new Long(ConnectionUtils.getFirstValue(sr,
+                    "approx-older-change-not-synchronized-millis")));
+              }
+              catch (Throwable t)
+              {
+              }
+              try
+              {
+                baseDN.setMissingChanges(new Integer(missingChanges));
+              }
+              catch (Throwable t)
+              {
+              }
             }
-            catch (Throwable t)
-            {
-            }
-            try
-            {
-              baseDN.setMissingChanges(new Integer(
-                  ConnectionUtils.getFirstValue(sr, "missing-changes")));
-            }
-            catch (Throwable t)
-            {
-            }
+          }
+          catch (Throwable t)
+          {
           }
         }
       }

--
Gitblit v1.10.0