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 1a5461246..ef70b170a 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(" "); buf.append("").append(num(prof.getIntegrationValue())).append(""); - long time; - time = now - prof.getLastHeardAbout(); - buf.append("").append(DataHelper.formatDuration2(time)).append(""); - time = now - prof.getLastHeardFrom(); - buf.append("").append(DataHelper.formatDuration2(time)).append(""); - time = now - prof.getLastSendSuccessful(); - buf.append("").append(DataHelper.formatDuration2(time)).append(""); - time = now - prof.getLastSendFailed(); - buf.append("").append(DataHelper.formatDuration2(time)).append(""); + buf.append("").append(formatInterval(now, prof.getLastHeardAbout())).append(""); + buf.append("").append(formatInterval(now, prof.getLastHeardFrom())).append(""); + buf.append("").append(formatInterval(now, prof.getLastSendSuccessful())).append(""); + buf.append("").append(formatInterval(now, prof.getLastSendFailed())).append(""); buf.append("").append(avg(prof, 10*60*1000l, ra)).append(""); buf.append("").append(avg(prof, 60*60*1000l, ra)).append(""); buf.append("").append(avg(prof, 24*60*60*1000l, ra)).append(""); DBHistory dbh = prof.getDBHistory(); if (dbh != null) { - time = now - dbh.getLastLookupSuccessful(); - buf.append("").append(DataHelper.formatDuration2(time)).append(""); - time = now - dbh.getLastLookupFailed(); - buf.append("").append(DataHelper.formatDuration2(time)).append(""); - time = now - dbh.getLastStoreSuccessful(); - buf.append("").append(DataHelper.formatDuration2(time)).append(""); - time = now - dbh.getLastStoreFailed(); - buf.append("").append(DataHelper.formatDuration2(time)).append(""); + buf.append("").append(formatInterval(now, dbh.getLastLookupSuccessful())).append(""); + buf.append("").append(formatInterval(now, dbh.getLastLookupFailed())).append(""); + buf.append("").append(formatInterval(now, dbh.getLastStoreSuccessful())).append(""); + buf.append("").append(formatInterval(now, dbh.getLastStoreFailed())).append(""); buf.append("").append(davg(dbh, 60*60*1000l, ra)).append(""); buf.append("").append(davg(dbh, 24*60*60*1000l, ra)).append(""); } 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);