public void handleTopologyEvent()

in src/main/java/org/apache/sling/commons/scheduler/impl/TopologyHandler.java [58:73]


    public void handleTopologyEvent(final TopologyEvent event) {
        if ( event.getType() == Type.TOPOLOGY_INIT || event.getType() == Type.TOPOLOGY_CHANGED ) {
            final List<String> ids = new ArrayList<>();
            for(final InstanceDescription desc : event.getNewView().getInstances()) {
                ids.add(desc.getSlingId());
            }
            Collections.sort(ids);
            QuartzJobExecutor.IS_LEADER.set(event.getNewView().getLocalInstance().isLeader());
            QuartzJobExecutor.DISCOVERY_INFO_AVAILABLE.set(true);
            QuartzJobExecutor.SLING_IDS.set(ids.toArray(new String[ids.size()]));
        } else if ( event.getType() == Type.TOPOLOGY_CHANGING ) {
            QuartzJobExecutor.IS_LEADER.set(false);
            QuartzJobExecutor.DISCOVERY_INFO_AVAILABLE.set(false);
            QuartzJobExecutor.SLING_IDS.set(null);
        }
    }