Console: Fix display of n/a for events that never happened on floodfill profiles

This commit is contained in:
zzz
2015-06-03 20:45:15 +00:00
parent e2ca74963f
commit 27f56776ca

View File

@ -227,28 +227,19 @@ class ProfileOrganizerRenderer {
else
buf.append("<td>&nbsp;</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);