From 27f56776ca2b56e95c73480f93a2d4ee1c51bf1a Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Wed, 3 Jun 2015 20:45:15 +0000 Subject: [PATCH] Console: Fix display of n/a for events that never happened on floodfill profiles --- .../router/web/ProfileOrganizerRenderer.java | 32 +++++++++---------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ProfileOrganizerRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/ProfileOrganizerRenderer.java index 1a54612462..ef70b170ae 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ProfileOrganizerRenderer.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ProfileOrganizerRenderer.java @@ -227,28 +227,19 @@ class ProfileOrganizerRenderer { else buf.append("<td> </td>"); buf.append("<td align=\"right\">").append(num(prof.getIntegrationValue())).append("</td>"); - long time; - time = now - prof.getLastHeardAbout(); - buf.append("<td align=\"right\">").append(DataHelper.formatDuration2(time)).append("</td>"); - time = now - prof.getLastHeardFrom(); - buf.append("<td align=\"right\">").append(DataHelper.formatDuration2(time)).append("</td>"); - time = now - prof.getLastSendSuccessful(); - buf.append("<td align=\"right\">").append(DataHelper.formatDuration2(time)).append("</td>"); - time = now - prof.getLastSendFailed(); - buf.append("<td align=\"right\">").append(DataHelper.formatDuration2(time)).append("</td>"); + buf.append("<td align=\"right\">").append(formatInterval(now, prof.getLastHeardAbout())).append("</td>"); + buf.append("<td align=\"right\">").append(formatInterval(now, prof.getLastHeardFrom())).append("</td>"); + buf.append("<td align=\"right\">").append(formatInterval(now, prof.getLastSendSuccessful())).append("</td>"); + buf.append("<td align=\"right\">").append(formatInterval(now, prof.getLastSendFailed())).append("</td>"); buf.append("<td align=\"right\">").append(avg(prof, 10*60*1000l, ra)).append("</td>"); buf.append("<td align=\"right\">").append(avg(prof, 60*60*1000l, ra)).append("</td>"); buf.append("<td align=\"right\">").append(avg(prof, 24*60*60*1000l, ra)).append("</td>"); DBHistory dbh = prof.getDBHistory(); if (dbh != null) { - time = now - dbh.getLastLookupSuccessful(); - buf.append("<td align=\"right\">").append(DataHelper.formatDuration2(time)).append("</td>"); - time = now - dbh.getLastLookupFailed(); - buf.append("<td align=\"right\">").append(DataHelper.formatDuration2(time)).append("</td>"); - time = now - dbh.getLastStoreSuccessful(); - buf.append("<td align=\"right\">").append(DataHelper.formatDuration2(time)).append("</td>"); - time = now - dbh.getLastStoreFailed(); - buf.append("<td align=\"right\">").append(DataHelper.formatDuration2(time)).append("</td>"); + buf.append("<td align=\"right\">").append(formatInterval(now, dbh.getLastLookupSuccessful())).append("</td>"); + buf.append("<td align=\"right\">").append(formatInterval(now, dbh.getLastLookupFailed())).append("</td>"); + buf.append("<td align=\"right\">").append(formatInterval(now, dbh.getLastStoreSuccessful())).append("</td>"); + buf.append("<td align=\"right\">").append(formatInterval(now, dbh.getLastStoreFailed())).append("</td>"); buf.append("<td align=\"right\">").append(davg(dbh, 60*60*1000l, ra)).append("</td>"); buf.append("<td align=\"right\">").append(davg(dbh, 24*60*60*1000l, ra)).append("</td>"); } else { @@ -369,6 +360,13 @@ class ProfileOrganizerRenderer { return ((int) avg) + "%"; } + /** @since 0.9.21 */ + private String formatInterval(long now, long then) { + if (then <= 0) + return _(NA); + return DataHelper.formatDuration2(now - then); + } + /** translate a string */ private String _(String s) { return Messages.getString(s, _context); -- GitLab