Split HTML rendering of summary bar into separate methods

This solidifies the summary bar design pattern of modular sections separated by
<hr>s which in future could be reordered or hidden without affecting the theme.
This commit is contained in:
str4d
2012-06-04 13:10:12 +00:00
parent 69d909d3eb
commit 910001e3a1

View File

@ -39,13 +39,10 @@ public class SummaryBarRenderer {
.append(_("I2P Router Console")) .append(_("I2P Router Console"))
.append("\" title=\"") .append("\" title=\"")
.append(_("I2P Router Console")) .append(_("I2P Router Console"))
.append("\"></a></div><hr>") .append("\"></a></div>\n")
.append("<hr>\n")
.append("<h3><a href=\"/help\" target=\"_top\" title=\"") .append(renderHelpAndFAQHTML())
.append(_("I2P Router Help &amp; FAQ")) .append("<hr>\n");
.append("\">")
.append(_("Help &amp; FAQ"))
.append("</a></h3><hr>");
File lpath = new File(_context.getBaseDir(), "docs/toolbar.html"); File lpath = new File(_context.getBaseDir(), "docs/toolbar.html");
// you better have target="_top" for the links in there... // you better have target="_top" for the links in there...
@ -55,6 +52,58 @@ public class SummaryBarRenderer {
linkhelper.setMaxLines("100"); linkhelper.setMaxLines("100");
buf.append(linkhelper.getContent()); buf.append(linkhelper.getContent());
} else { } else {
buf.append(renderI2PServicesHTML())
.append("<hr>\n")
.append(renderI2PInternalsHTML());
out.write(buf.toString());
buf.setLength(0);
}
buf.append("<hr>\n")
.append(renderGeneralHTML())
.append("<hr>\n")
.append(renderNetworkReachabilityHTML())
.append("<hr>\n")
.append(_helper.getUpdateStatus())
.append(_helper.getRestartStatus())
.append("<hr>\n")
.append(renderPeersHTML())
.append("<hr>\n");
out.write(buf.toString());
buf.setLength(0);
buf.append(_helper.getFirewallAndReseedStatus());
buf.append(renderBandwidthHTML())
.append("<hr>\n")
.append(renderTunnelsHTML())
.append("<hr>\n")
.append(renderCongestionHTML())
.append("<hr>\n")
.append(renderTunnelStatusHTML())
.append("<hr>\n")
.append(_helper.getDestinations())
.append("<hr>\n");
out.write(buf.toString());
}
public String renderHelpAndFAQHTML() {
StringBuilder buf = new StringBuilder(512);
buf.append("<h3><a href=\"/help\" target=\"_top\" title=\"")
.append(_("I2P Router Help &amp; FAQ"))
.append("\">")
.append(_("Help &amp; FAQ"))
.append("</a></h3>");
return buf.toString();
}
public String renderI2PServicesHTML() {
StringBuilder buf = new StringBuilder(512);
buf.append("<h3><a href=\"/configclients\" target=\"_top\" title=\"") buf.append("<h3><a href=\"/configclients\" target=\"_top\" title=\"")
.append(_("Configure startup of clients and webapps (services); manually start dormant services")) .append(_("Configure startup of clients and webapps (services); manually start dormant services"))
.append("\">") .append("\">")
@ -83,9 +132,13 @@ public class SummaryBarRenderer {
.append(NavHelper.getClientAppLinks(_context)) .append(NavHelper.getClientAppLinks(_context))
.append("</td></tr></table>\n" + .append("</td></tr></table>\n");
return buf.toString();
}
"<hr><h3><a href=\"/config\" target=\"_top\" title=\"") public String renderI2PInternalsHTML() {
StringBuilder buf = new StringBuilder(512);
buf.append("<h3><a href=\"/config\" target=\"_top\" title=\"")
.append(_("Configure I2P Router")) .append(_("Configure I2P Router"))
.append("\">") .append("\">")
.append(_("I2P Internals")) .append(_("I2P Internals"))
@ -159,14 +212,12 @@ public class SummaryBarRenderer {
if (javadoc.exists()) if (javadoc.exists())
buf.append("<a href=\"/javadoc/index.html\" target=\"_blank\">Javadoc</a>\n"); buf.append("<a href=\"/javadoc/index.html\" target=\"_blank\">Javadoc</a>\n");
buf.append("</td></tr></table>\n"); buf.append("</td></tr></table>\n");
return buf.toString();
out.write(buf.toString());
buf.setLength(0);
} }
public String renderGeneralHTML() {
StringBuilder buf = new StringBuilder(512);
buf.append("<hr><h3><a href=\"/help\" target=\"_top\" title=\"") buf.append("<h3><a href=\"/help\" target=\"_top\" title=\"")
.append(_("I2P Router Help")) .append(_("I2P Router Help"))
.append("\">") .append("\">")
.append(_("General")) .append(_("General"))
@ -202,24 +253,25 @@ public class SummaryBarRenderer {
.append(":</b></td>" + .append(":</b></td>" +
"<td align=\"right\">") "<td align=\"right\">")
.append(_helper.getUptime()) .append(_helper.getUptime())
.append("</td></tr></table>\n" + .append("</td></tr></table>\n");
return buf.toString();
}
"<hr><h4><a href=\"/confignet#help\" target=\"_top\" title=\"") public String renderNetworkReachabilityHTML() {
StringBuilder buf = new StringBuilder(512);
buf.append("<h4><a href=\"/confignet#help\" target=\"_top\" title=\"")
.append(_("Help with configuring your firewall and router for optimal I2P performance")) .append(_("Help with configuring your firewall and router for optimal I2P performance"))
.append("\">") .append("\">")
.append(_("Network")) .append(_("Network"))
.append(": ") .append(": ")
.append(_helper.getReachability()) .append(_helper.getReachability())
.append("</a></h4><hr>\n") .append("</a></h4>\n");
return buf.toString();
}
public String renderPeersHTML() {
.append(_helper.getUpdateStatus()) StringBuilder buf = new StringBuilder(512);
buf.append("<h3><a href=\"/peers\" target=\"_top\" title=\"")
.append(_helper.getRestartStatus())
.append("<hr><h3><a href=\"/peers\" target=\"_top\" title=\"")
.append(_("Show all current peer connections")) .append(_("Show all current peer connections"))
.append("\">") .append("\">")
.append(_("Peers")) .append(_("Peers"))
@ -260,14 +312,12 @@ public class SummaryBarRenderer {
.append(_helper.getAllPeers()) .append(_helper.getAllPeers())
.append("</td></tr>\n" + .append("</td></tr>\n" +
"</table><hr>\n"); "</table>\n");
return buf.toString();
}
out.write(buf.toString());
buf.setLength(0);
buf.append(_helper.getFirewallAndReseedStatus());
public String renderBandwidthHTML() {
StringBuilder buf = new StringBuilder(512);
buf.append("<h3><a href=\"/config\" title=\"") buf.append("<h3><a href=\"/config\" title=\"")
.append(_("Configure router bandwidth allocation")) .append(_("Configure router bandwidth allocation"))
.append("\" target=\"_top\">") .append("\" target=\"_top\">")
@ -303,9 +353,15 @@ public class SummaryBarRenderer {
.append(_helper.getInboundTransferred()) .append(_helper.getInboundTransferred())
.append(SummaryHelper.THINSP) .append(SummaryHelper.THINSP)
.append(_helper.getOutboundTransferred()) .append(_helper.getOutboundTransferred())
.append("</td></tr></table>\n" + .append("</td></tr>\n" +
"<hr><h3><a href=\"/tunnels\" target=\"_top\" title=\"") "</table>\n");
return buf.toString();
}
public String renderTunnelsHTML() {
StringBuilder buf = new StringBuilder(512);
buf.append("<h3><a href=\"/tunnels\" target=\"_top\" title=\"")
.append(_("View existing tunnels and tunnel build status")) .append(_("View existing tunnels and tunnel build status"))
.append("\">") .append("\">")
.append(_("Tunnels")) .append(_("Tunnels"))
@ -336,7 +392,13 @@ public class SummaryBarRenderer {
.append(_helper.getShareRatio()) .append(_helper.getShareRatio())
.append("</td></tr>\n" + .append("</td></tr>\n" +
"</table><hr><h3><a href=\"/jobs\" target=\"_top\" title=\"") "</table>\n");
return buf.toString();
}
public String renderCongestionHTML() {
StringBuilder buf = new StringBuilder(512);
buf.append("<h3><a href=\"/jobs\" target=\"_top\" title=\"")
.append(_("What's in the router's job queue?")) .append(_("What's in the router's job queue?"))
.append("\">") .append("\">")
.append(_("Congestion")) .append(_("Congestion"))
@ -369,16 +431,16 @@ public class SummaryBarRenderer {
.append(_helper.getInboundBacklog()) .append(_helper.getInboundBacklog())
.append("</td></tr>\n" + .append("</td></tr>\n" +
"</table><hr><h4>") "</table>\n");
return buf.toString();
}
public String renderTunnelStatusHTML() {
StringBuilder buf = new StringBuilder(50);
buf.append("<h4>")
.append(_(_helper.getTunnelStatus())) .append(_(_helper.getTunnelStatus()))
.append("</h4><hr>\n") .append("</h4>\n");
return buf.toString();
.append(_helper.getDestinations())
.append("<hr>\n");
out.write(buf.toString());
} }
/** translate a string */ /** translate a string */