From e1f7ebfa7dd4bda26a9a2963cbd240306b35d4cc Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Tue, 29 Jan 2008 17:59:28 +0000
Subject: [PATCH] Fix for issue 2870: status and dsreplication status do not show replication monitoring The changes consist basically in using the new attributes "approx-older-change-not-synchronized-millis" and "missing-changes" in status and replication status command-lines.  In fact a millisecond version of approx-older-change-not-synchronized-millis has been added in order the remote command-line to be able to provide a localized version of the date (instead of directly presenting the date that was written by the server).

---
 opends/src/guitools/org/opends/guitools/statuspanel/ui/DatabasesTableModel.java |   41 ++++++++++++++++++++++-------------------
 1 files changed, 22 insertions(+), 19 deletions(-)

diff --git a/opends/src/guitools/org/opends/guitools/statuspanel/ui/DatabasesTableModel.java b/opends/src/guitools/org/opends/guitools/statuspanel/ui/DatabasesTableModel.java
index 35b5372..230b4d9 100644
--- a/opends/src/guitools/org/opends/guitools/statuspanel/ui/DatabasesTableModel.java
+++ b/opends/src/guitools/org/opends/guitools/statuspanel/ui/DatabasesTableModel.java
@@ -22,13 +22,14 @@
  * CDDL HEADER END
  *
  *
- *      Portions Copyright 2007 Sun Microsystems, Inc.
+ *      Portions Copyright 2007-2008 Sun Microsystems, Inc.
  */
 
 package org.opends.guitools.statuspanel.ui;
 
 import java.util.ArrayList;
 import java.util.Comparator;
+import java.util.Date;
 import java.util.HashSet;
 import java.util.Set;
 import java.util.TreeSet;
@@ -431,6 +432,19 @@
     return -1;
   }
 
+  private int compareLongs(long n1, long n2)
+  {
+    if (n1 == n2)
+    {
+      return 0;
+    }
+    if (n1 > n2)
+    {
+      return 1;
+    }
+    return -1;
+  }
+
   private int compareDns(BaseDNDescriptor desc1, BaseDNDescriptor desc2)
   {
     return desc1.getUnescapedDn().compareTo(desc2.getUnescapedDn());
@@ -452,7 +466,7 @@
   private int compareAgeOfOldestMissingChange(BaseDNDescriptor desc1,
       BaseDNDescriptor desc2)
   {
-    return compareIntegers(desc1.getAgeOfOldestMissingChange(),
+    return compareLongs(desc1.getAgeOfOldestMissingChange(),
         desc2.getAgeOfOldestMissingChange());
   }
 
@@ -504,27 +518,16 @@
     Object v;
     if (rep.getType() == BaseDNDescriptor.Type.REPLICATED)
     {
-      int age = rep.getAgeOfOldestMissingChange();
-      if (age >= 0)
+      long age = rep.getAgeOfOldestMissingChange();
+      if (age > 0)
       {
-        int remainingSeconds = age % 60;
-        int minutes = age / 60;
-        int remainingMinutes = minutes % 60;
-        int hours = minutes / 60;
-
-        String sMinutes = (remainingMinutes>=10)?
-        String.valueOf(remainingMinutes) : "0"+remainingMinutes;
-
-        String sSeconds = (remainingSeconds>=10)?
-        String.valueOf(remainingSeconds) : "0"+remainingSeconds;
-
-        String sHours = (hours>=10)?String.valueOf(hours):"0"+hours;
-
-        v = sHours+":"+sMinutes+":"+sSeconds;
+        Date date = new Date(age);
+        v = date.toString();
       }
       else
       {
-        v = new Integer(age);
+        // Not available
+        v = new Integer(-1);
       }
     }
     else

--
Gitblit v1.10.0