public Listing listHosts()

in src/main/java/com/epam/grid/engine/provider/host/slurm/SlurmHostProvider.java [67:90]


    public Listing<Host> listHosts(final HostFilter hostFilter) {
        final Context context = new Context();
        context.setVariable(FILTER, hostFilter);
        final String[] hostCommand = commandCompiler.compileCommand(
                getProviderType(), SCONTROL_SHOW_NODE_COMMAND, context);
        final CommandResult commandResult = simpleCmdExecutor.execute(hostCommand);
        if (commandResult.getExitCode() != 0) {
            CommandsUtils.throwExecutionDetails(commandResult);
        } else if (!commandResult.getStdErr().isEmpty()) {
            log.warn(commandResult.getStdErr().toString());
        }

        final List<String> stdOut = commandResult.getStdOut().stream()
                .filter(ScontrolShowNodeParser::checkStdOutLine)
                .collect(Collectors.toList());

        if (stdOut.isEmpty()) {
            CommandsUtils.throwExecutionDetails(commandResult);
        }

        return mapToHosts(commandResult.getStdOut().stream()
                .map(ScontrolShowNodeParser::mapHostDataToSlurmHost)
                .collect(Collectors.toList()));
    }