1
0
mirror of https://bitbucket.org/anguist/ntpa synced 2025-10-06 02:51:23 +00:00

Allow peers without org id

This commit is contained in:
2016-03-28 00:15:31 +02:00
parent 54fc71f790
commit e7583ad37a
7 changed files with 56 additions and 33 deletions

View File

@ -52,18 +52,22 @@ namespace Ntp.Analyzer.Render.Peer
/// <param name="graphs">Graphs.</param>
public BootstrapPeerGraphRender(
string webPath,
string peerName,
Objects.Host host,
PeerPageConfiguration page,
TimeServer server,
IEnumerable<GraphSetConfiguration> graphs)
: base(webPath)
{
this.peerName = peerName;
this.host = host;
this.page = page;
this.server = server;
this.graphs = new List<GraphSetConfiguration>(graphs);
}
private readonly string peerName;
public override string RenderHead()
{
StringBuilder builder = new StringBuilder();
@ -118,10 +122,11 @@ namespace Ntp.Analyzer.Render.Peer
builder.Append(@""">");
}
string name = server != null ? server.Name : peerName;
builder.Append(@"<img class=""img-responsive"" src=""");
builder.Append(graph.GetLink(graphSet, server.Name));
builder.Append(graph.GetLink(graphSet, name));
builder.Append(@""" alt=""");
builder.Append(graph.GetAltName(graphSet, server.Name));
builder.Append(graph.GetAltName(graphSet, name));
builder.Append(@""">");
if (page.GraphPages.Count() != 0)

View File

@ -37,14 +37,18 @@ namespace Ntp.Analyzer.Render.Peer
private readonly DateTime now;
private readonly TimeServer server;
public BootstrapPeerInfoRender(string webPath, TimeServer server, DateTime now, DateTime next)
public BootstrapPeerInfoRender(string webPath, TimeServer server, DateTime now, DateTime next, string name)
: base(webPath)
{
this.server = server;
this.now = now;
this.next = next;
this.name = name;
}
private const string na = "N&#47;A";
private readonly string name;
public override string RenderHead()
{
StringBuilder builder = new StringBuilder();
@ -53,9 +57,9 @@ namespace Ntp.Analyzer.Render.Peer
builder.AppendLine(@" <div class=""jumbotron"">");
builder.Append(" <h1>");
builder.Append(server.Name);
builder.Append(server != null ? server.Name : name);
builder.Append("</h1>&nbsp;&nbsp;&nbsp;&nbsp;<h3>Stratum ");
builder.Append(GetStratumText());
builder.Append(server != null ? GetStratumText() : na);
builder.AppendLine(" server</h3>");
builder.Append(" <p>");
@ -74,51 +78,62 @@ namespace Ntp.Analyzer.Render.Peer
builder.AppendLine(@" <div class=""row"">");
builder.AppendLine(@" <div class=""col-md-2""><b>Server location</b></div>");
builder.AppendLine(String.Format(@" <div class=""col-md-10"">{0}</div>", server.Location));
builder.AppendLine(String.Format(@" <div class=""col-md-10"">{0}</div>",
server != null ? server.Location : na));
builder.AppendLine(@" </div>");
builder.AppendLine(@" <div class=""row"">");
builder.AppendLine(@" <div class=""col-md-2""><b>Synchronization</b></div>");
builder.AppendFormat(@" <div class=""col-md-10"">{0}</div>", GetServerSync());
builder.AppendFormat(@" <div class=""col-md-10"">{0}</div>",
server != null ? GetServerSync() : na);
builder.AppendLine(@" </div>");
builder.AppendLine(@" <div class=""row"">");
builder.AppendLine(@" <div class=""col-md-2""><b>IP address</b></div>");
builder.AppendLine(String.Format(@" <div class=""col-md-4"">{0}</div>", server.Address));
builder.AppendLine(String.Format(@" <div class=""col-md-4"">{0}</div>",
server != null && server.Address != null ? server.Address.ToString() : String.Empty));
builder.AppendLine(@" <div class=""col-md-2""><b>Access policy</b></div>");
builder.AppendLine(String.Format(@" <div class=""col-md-4"">{0}</div>", GetServerAccess()));
builder.AppendLine(String.Format(@" <div class=""col-md-4"">{0}</div>",
server != null ? GetServerAccess() : na));
builder.AppendLine(@" </div>");
builder.AppendLine(@" <div class=""row"">");
builder.AppendLine(@" <div class=""col-md-2""><b>IPv6 address</b></div>");
builder.AppendLine(String.Format(@" <div class=""col-md-4"">{0}</div>", server.V6Address ?? "N/A"));
builder.AppendLine(String.Format(@" <div class=""col-md-4"">{0}</div>",
server != null && server.V6Address != null ? server.V6Address.ToString() : na));
builder.AppendLine(@" <div class=""col-md-2""><b>Service area</b></div>");
builder.AppendLine(String.Format(@" <div class=""col-md-4"">{0}</div>", GetServiceArea()));
builder.AppendLine(String.Format(@" <div class=""col-md-4"">{0}</div>",
server != null ? GetServiceArea() : na));
builder.AppendLine(@" </div>");
builder.AppendLine(@" <div class=""row"">");
builder.AppendLine(@" <div class=""col-md-2""><b>Pool member</b></div>");
builder.AppendLine(String.Format(@" <div class=""col-md-4"">{0}</div>", GetPoolMemberStatus()));
builder.AppendLine(String.Format(@" <div class=""col-md-4"">{0}</div>",
server != null ? GetPoolMemberStatus() : na));
builder.AppendLine(@" <div class=""col-md-2""><b>Description</b></div>");
builder.AppendLine(String.Format(@" <div class=""col-md-4"">{0}</div>", server.Updated.ToLongDateString()));
builder.AppendLine(String.Format(@" <div class=""col-md-4"">{0}</div>",
server != null ? server.Updated.ToLongDateString() : na ));
builder.AppendLine(@" </div>");
builder.AppendLine(@" <p class=""pool"">");
if (server.IsPoolMember)
if (server != null && server.IsPoolMember)
{
builder.AppendLine(String.Format(@" {0}&nbsp;&nbsp;&nbsp;", GetPoolMemberLink()));
}
if (server.ProviderPage != null)
if (server != null && server.ProviderPage != null)
{
builder.AppendLine(String.Format(@" {0}&nbsp;&nbsp;&nbsp;", GetProviderLink()));
}
builder.AppendLine(
String.Format(
@" <a class=""btn btn-lg btn-primary"" href=""http://support.ntp.org/bin/view/Servers/PublicTimeServer{0}"">View info on support.ntp.org &raquo;</a>",
server.Id.ToString(CultureInfo.InvariantCulture).PadLeft(6, '0')));
if (server != null) {
builder.AppendLine(
String.Format(
@" <a class=""btn btn-lg btn-primary"" href=""http://support.ntp.org/bin/view/Servers/PublicTimeServer{0}"">View info on support.ntp.org &raquo;</a>",
server.Id.ToString(CultureInfo.InvariantCulture).PadLeft(6, '0')));
}
builder.AppendLine(@" </p>");
return builder.ToString();

View File

@ -40,14 +40,18 @@ namespace Ntp.Analyzer.Render.Peer
public DefaultPeerGraphRender(
string webPath,
string peerName,
TimeServer server,
IEnumerable<GraphSetConfiguration> graphs)
: base(webPath)
{
this.peerName = peerName;
this.server = server;
this.graphs = new List<GraphSetConfiguration>(graphs);
}
private readonly string peerName;
public override string RenderHead()
{
return String.Empty;
@ -61,10 +65,11 @@ namespace Ntp.Analyzer.Render.Peer
{
foreach (GraphBaseConfiguration graph in graphSet.Graphs)
{
string name = server != null ? server.Name : peerName;
builder.Append(@"<br><img src=""");
builder.Append(graph.GetLink(graphSet, server.Name));
builder.Append(graph.GetLink(graphSet, name));
builder.Append(@""" alt=""");
builder.Append(graph.GetAltName(graphSet, server.Name));
builder.Append(graph.GetAltName(graphSet, name));
builder.AppendLine(@"""><br>");
}
}

View File

@ -42,7 +42,7 @@ namespace Ntp.Analyzer.Render.Peer
this.name = name;
}
private const string na = "N/A";
private const string na = "N&#47;A";
private readonly string name;
public override string RenderHead()