in src/main/java/org/apache/sling/discovery/impl/TopologyWebConsolePlugin.java [931:997]
private void printCluster(final PrintWriter pw, final ClusterView renderCluster, final ClusterView localCluster) {
final Collection<Announcement> announcements = announcementRegistry.listAnnouncementsInSameCluster(localCluster);
for(final InstanceDescription instanceDescription : renderCluster.getInstances() ) {
final boolean inLocalCluster = renderCluster == localCluster;
Announcement parentAnnouncement = null;
for (Iterator<Announcement> it2 = announcements.iterator(); it2
.hasNext();) {
Announcement announcement = it2.next();
for (Iterator<InstanceDescription> it3 = announcement
.listInstances().iterator(); it3.hasNext();) {
InstanceDescription announcedInstance = it3.next();
if (announcedInstance.getSlingId().equals(
instanceDescription.getSlingId())) {
parentAnnouncement = announcement;
break;
}
}
}
final boolean isLocal = instanceDescription.isLocal();
final String slingId = instanceDescription.getSlingId();
pw.print("Sling ID : ");
pw.print(slingId);
pw.println();
pw.print("Cluster View ID : ");
pw.print(instanceDescription.getClusterView() == null ? "null"
: instanceDescription.getClusterView().getId());
pw.println();
pw.print("Local instance : ");
pw.print(isLocal);
pw.println();
pw.print("Leader instance : ");
pw.print(instanceDescription.isLeader());
pw.println();
pw.print("In local cluster : ");
if (inLocalCluster) {
pw.print("local");
} else {
pw.print("remote");
}
pw.println();
pw.print("Announced by : ");
if (inLocalCluster) {
pw.print("n/a");
} else {
if (parentAnnouncement != null) {
pw.print(parentAnnouncement.getOwnerId());
} else {
pw.print("(changing)");
}
}
pw.println();
pw.println("Properties:");
for(final Map.Entry<String, String> entry : instanceDescription.getProperties().entrySet()) {
pw.print("- ");
pw.print(entry.getKey());
pw.print(" : ");
pw.print(entry.getValue());
pw.println();
}
pw.println();
pw.println();
}
}