Collection<TopologyConnectorClientInformation> outgoingConnections = connectorRegistry
.listOutgoingConnectors();
for (Iterator<TopologyConnectorClientInformation> it = outgoingConnections
.iterator(); it.hasNext();) {
TopologyConnectorClientInformation topologyConnectorClient = it
.next();
final String oddEven = odd ? "odd" : "even";
odd = !odd;
final String remoteSlingId = topologyConnectorClient.getRemoteSlingId();
final boolean isConnected = topologyConnectorClient.isConnected() && remoteSlingId != null;
final boolean autoStopped = topologyConnectorClient.isAutoStopped();
final boolean representsLoop = topologyConnectorClient.representsLoop();
if (isConnected || autoStopped || representsLoop) {
pw.println("<tr class=\"" + oddEven + " ui-state-default\">");
} else {
pw.println("<tr class=\"" + oddEven + " ui-state-error\">");
}
pw.println("<td>"
+ topologyConnectorClient.getConnectorUrl().toString()
+ "</td>");
if (autoStopped) {
pw.println("<td><b>auto-stopped</b></td>");
pw.println("<td><b>auto-stopped due to local-loop</b></td>");
} else if (isConnected && !representsLoop) {
pw.println("<td>" + remoteSlingId + "</td>");
pw.println("<td>ok, in use</td>");
} else if (representsLoop) {
pw.println("<td>" + remoteSlingId + "</td>");
pw.println("<td>ok, unused (loop or duplicate): standby</td>");
} else {
final int statusCode = topologyConnectorClient.getStatusCode();
final String statusDetails = topologyConnectorClient.getStatusDetails();
final String tooltipText;
switch(statusCode) {
case HttpServletResponse.SC_UNAUTHORIZED:
tooltipText = HttpServletResponse.SC_UNAUTHORIZED +
": possible setup issue of discovery.impl on target instance, or wrong URL";
break;
case HttpServletResponse.SC_NOT_FOUND:
tooltipText = HttpServletResponse.SC_NOT_FOUND +
": possible white list rejection by target instance";
break;
case -1:
tooltipText = "-1: check error log. possible connection refused.";
break;
default:
tooltipText = null;
}
final String tooltip = tooltipText==null ? "" : (" title=\""+tooltipText+"\"");
pw.println("<td><b>not connected</b></td>");
pw.println("<td"+tooltip+"><b>not ok (HTTP Status-Code: "+statusCode+", "+statusDetails+")</b></td>");
}
pw.println("<td>"+beautifiedTimeDiff(topologyConnectorClient.getLastHeartbeatSent())+"</td>");
pw.println("<td>"+beautifiedDueTime(topologyConnectorClient.getNextHeartbeatDue())+"</td>");
pw.println("<td>"+topologyConnectorClient.getLastRequestEncoding()+"</td>");
pw.println("<td>"+topologyConnectorClient.getLastResponseEncoding()+"</td>");
// //TODO fallback urls are not yet implemented!
// String fallbackConnectorUrls;
// List<String> urls = topologyConnectorClient
// .listFallbackConnectorUrls();
// if (urls == null || urls.size() == 0) {