private void printCluster()

in src/main/java/org/apache/sling/discovery/oak/TopologyWebConsolePlugin.java [1012:1078]


    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();
        }
    }