Show peer info for peers without org id

This commit is contained in:
2016-03-26 23:06:43 +01:00
parent 9d60c6d037
commit 9a53cab306
2 changed files with 24 additions and 16 deletions
+1 -1
View File
@@ -54,7 +54,7 @@ namespace Ntp.Analyzer.Page
{
// Create page
DefaultPeerPageRender peerPage = new DefaultPeerPageRender(config.WebPath, peer.Name);
peerPage.Add(new DefaultPeerInfoRender(config.WebPath, peer.Server));
peerPage.Add(new DefaultPeerInfoRender(config.WebPath, peer.Server, peer.Name));
peerPage.Add(new DefaultPeerGraphRender(config.WebPath, peer.Server, config.Graphs));
// Generate HTML
@@ -35,20 +35,24 @@ namespace Ntp.Analyzer.Render.Peer
{
private readonly TimeServer server;
public DefaultPeerInfoRender(string webPath, TimeServer server)
public DefaultPeerInfoRender(string webPath, TimeServer server, string name)
: base(webPath)
{
this.server = server;
this.name = name;
}
private const string na = "N/A";
private readonly string name;
public override string RenderHead()
{
StringBuilder builder = new StringBuilder();
builder.Append("<h2>");
builder.Append(server.Name);
builder.Append(server != null ? server.Name : name);
builder.Append("</h2>&nbsp;&nbsp;&nbsp;&nbsp;<h4>Stratum ");
builder.Append(GetStratumText());
builder.Append(server != null ? GetStratumText() : na);
builder.AppendLine(" server</h4>");
return builder.ToString();
@@ -64,50 +68,54 @@ namespace Ntp.Analyzer.Render.Peer
builder.AppendLine("<tr>");
builder.Append(@" <td>Server location</td><td colspan=""3"">");
builder.Append(server.Location);
builder.Append(server != null ? server.Location : na);
builder.AppendLine("</td>");
builder.AppendLine("</tr>");
builder.AppendLine("<tr>");
builder.Append(@" <td>Synchronization</td><td colspan=""3"">");
builder.Append(server.Server);
builder.Append(server != null ? server.Server : na);
builder.AppendLine("</td>");
builder.AppendLine("</tr>");
builder.AppendLine("<tr>");
builder.Append(" <td>IP address</td><td>");
builder.Append(server.Address);
builder.Append(server != null ? server.Address.ToString() : na);
builder.AppendLine("</td>");
builder.Append(" <td>Access policy</td><td>");
builder.Append(GetServerAccess());
builder.Append(server != null ? GetServerAccess() : na);
builder.AppendLine("</td>");
builder.AppendLine("</tr>");
builder.AppendLine("<tr>");
builder.Append(" <td>IPv6 address</td><td>");
builder.Append(server.V6Address ?? "N/A");
builder.Append(server != null ? server.V6Address ?? "N/A" : na);
builder.AppendLine("</td>");
builder.Append(" <td>Service area</td><td>");
builder.Append(GetServiceArea());
builder.Append(server != null ? GetServiceArea() : na);
builder.AppendLine("</td>");
builder.AppendLine("</tr>");
builder.AppendLine("<tr>");
builder.Append(@" <td>Pool member info</td><td>");
builder.Append(GetPoolMemberLink());
builder.Append(server != null ? GetPoolMemberLink() : na);
builder.AppendLine("</td>");
builder.Append(" <td>Provider page</td><td>");
builder.Append(GetProviderLink());
builder.Append(server != null ? GetProviderLink() : na);
builder.AppendLine("</td>");
builder.AppendLine("</tr>");
builder.AppendLine("<tr>");
builder.Append("<td>Description updated</td><td>");
builder.Append(server.Updated.ToLongDateString());
builder.Append(server != null ? server.Updated.ToLongDateString() : na);
builder.AppendLine("</td>");
builder.Append(@" <td>Additional info</td><td><a href=""http://support.ntp.org/bin/view/Servers/PublicTimeServer");
builder.Append(server.Id.ToString(CultureInfo.InvariantCulture).PadLeft(6, '0'));
builder.AppendLine(@""">support.ntp.org</a></td>");
if (server != null) {
builder.Append (@" <td>Additional info</td><td><a href=""http://support.ntp.org/bin/view/Servers/PublicTimeServer");
builder.Append (server.Id.ToString (CultureInfo.InvariantCulture).PadLeft (6, '0'));
builder.AppendLine (@""">support.ntp.org</a></td>");
} else {
builder.Append (@" <td>Additional info</td><td>" + na + "</td>");
}
builder.AppendLine("</tr>");
builder.AppendLine("</tbody>");