diff --git a/Ntp.Analyzer/Page/DefaultPeerPageBuilder.cs b/Ntp.Analyzer/Page/DefaultPeerPageBuilder.cs
index 18f43f2e..b0d3ffcb 100644
--- a/Ntp.Analyzer/Page/DefaultPeerPageBuilder.cs
+++ b/Ntp.Analyzer/Page/DefaultPeerPageBuilder.cs
@@ -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
diff --git a/Ntp.Analyzer/Render/Peer/DefaultPeerInfoRender.cs b/Ntp.Analyzer/Render/Peer/DefaultPeerInfoRender.cs
index 740bf3e1..6d9d70f9 100644
--- a/Ntp.Analyzer/Render/Peer/DefaultPeerInfoRender.cs
+++ b/Ntp.Analyzer/Render/Peer/DefaultPeerInfoRender.cs
@@ -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("
");
- builder.Append(server.Name);
+ builder.Append(server != null ? server.Name : name);
builder.Append("
Stratum ");
- builder.Append(GetStratumText());
+ builder.Append(server != null ? GetStratumText() : na);
builder.AppendLine(" server
");
return builder.ToString();
@@ -64,50 +68,54 @@ namespace Ntp.Analyzer.Render.Peer
builder.AppendLine("");
builder.Append(@" | Server location | ");
- builder.Append(server.Location);
+ builder.Append(server != null ? server.Location : na);
builder.AppendLine(" | ");
builder.AppendLine("
");
builder.AppendLine("");
builder.Append(@" | Synchronization | ");
- builder.Append(server.Server);
+ builder.Append(server != null ? server.Server : na);
builder.AppendLine(" | ");
builder.AppendLine("
");
builder.AppendLine("");
builder.Append(" | IP address | ");
- builder.Append(server.Address);
+ builder.Append(server != null ? server.Address.ToString() : na);
builder.AppendLine(" | ");
builder.Append(" Access policy | ");
- builder.Append(GetServerAccess());
+ builder.Append(server != null ? GetServerAccess() : na);
builder.AppendLine(" | ");
builder.AppendLine("
");
builder.AppendLine("");
builder.Append(" | IPv6 address | ");
- builder.Append(server.V6Address ?? "N/A");
+ builder.Append(server != null ? server.V6Address ?? "N/A" : na);
builder.AppendLine(" | ");
builder.Append(" Service area | ");
- builder.Append(GetServiceArea());
+ builder.Append(server != null ? GetServiceArea() : na);
builder.AppendLine(" | ");
builder.AppendLine("
");
builder.AppendLine("");
builder.Append(@" | Pool member info | ");
- builder.Append(GetPoolMemberLink());
+ builder.Append(server != null ? GetPoolMemberLink() : na);
builder.AppendLine(" | ");
builder.Append(" Provider page | ");
- builder.Append(GetProviderLink());
+ builder.Append(server != null ? GetProviderLink() : na);
builder.AppendLine(" | ");
builder.AppendLine("
");
builder.AppendLine("");
builder.Append("| Description updated | ");
- builder.Append(server.Updated.ToLongDateString());
+ builder.Append(server != null ? server.Updated.ToLongDateString() : na);
builder.AppendLine(" | ");
- builder.Append(@" Additional info | support.ntp.org | ");
+ if (server != null) {
+ builder.Append (@" Additional info | support.ntp.org | ");
+ } else {
+ builder.Append (@" Additional info | " + na + " | ");
+ }
builder.AppendLine("
");
builder.AppendLine("");