public static Map<String, SupervisorInfo> get_all_SupervisorInfo(
            StormClusterState stormClusterState, RunnableCallback callback) throws Exception {
        Map<String, SupervisorInfo> rtn = new TreeMap<>();
        // get /ZK/supervisors
        List<String> supervisorIds = stormClusterState.supervisors(callback);
        // ignore any supervisors in blacklist
        List<String> blacklist = stormClusterState.get_blacklist();

        if (supervisorIds != null) {
            for (Iterator<String> iter = supervisorIds.iterator(); iter.hasNext(); ) {
                String supervisorId = iter.next();
                // get /supervisors/supervisorid
                SupervisorInfo supervisorInfo = stormClusterState.supervisor_info(supervisorId);
                if (supervisorInfo == null) {
                    LOG.warn("Failed to get SupervisorInfo of " + supervisorId);
                } else if (blacklist.contains(supervisorInfo.getHostName())) {
                    LOG.warn(" hostname:" + supervisorInfo.getHostName() + " is in blacklist");
                } else {
                    rtn.put(supervisorId, supervisorInfo);
                }
            }
        } else {
            LOG.info("No alive supervisor");
        }

        return rtn;
    }
public static Map < String , SupervisorInfo > get_all_SupervisorInfo ( StormClusterState stormClusterState , RunnableCallback callback ) throws Exception { Map < String , SupervisorInfo > rtn = new TreeMap < > ( ) ; List < String > supervisorIds = stormClusterState . supervisors ( callback ) ; List < String > blacklist = stormClusterState . get_blacklist ( ) ; if ( supervisorIds != null ) { for ( Iterator < String > iter = supervisorIds . iterator ( ) ; iter . hasNext ( ) ; ) { String supervisorId = iter . next ( ) ; SupervisorInfo supervisorInfo = stormClusterState . supervisor_info ( supervisorId ) ; if ( supervisorInfo == null ) { LOG . warn ( "Failed to get SupervisorInfo of " + supervisorId ) ; } else if ( blacklist . contains ( supervisorInfo . getHostName ( ) ) ) { LOG . warn ( " hostname:" + supervisorInfo . getHostName ( ) + " is in blacklist" ) ; } else { rtn . put ( supervisorId , supervisorInfo ) ; } } } else { LOG . info ( "No alive supervisor" ) ; } return rtn ; }
get all SupervisorInfo of storm cluster

@param stormClusterState storm cluster state
@param callback          watcher callback
@return Map[supervisorId, SupervisorInfo]