private SlurmQueue getPartitionData()

in src/main/java/com/epam/grid/engine/provider/queue/slurm/SlurmQueueProvider.java [240:262]


    private SlurmQueue getPartitionData(final String resultOutputString) {
        final String[] nodeDataArray = resultOutputString.split(STANDARD_SLURM_DELIMETER);
        if (nodeDataArray.length != SCONTROL_OUPUT_SIZE) {
            throw new GridEngineException(HttpStatus.NOT_FOUND, "Node data is inconsistent: waiting for "
                    + SCONTROL_OUPUT_SIZE + " fields, but " + nodeDataArray.length + " were fetched.");
        }

        final String nodeName = nodeDataArray[SCONTROL_OUPUT_NODES_INDEX];

        final int cpusPerNode = Integer.parseInt(nodeDataArray[SCONTROL_OUPUT_CPUS_INDEX]);

        final List<String> userGroups = Arrays.stream(nodeDataArray[SCONTROL_OUPUT_USERGROUPS_INDEX].split(COMMA))
                .filter(StringUtils::hasText)
                .collect(Collectors.toList());

        return SlurmQueue.builder()
                .partition(nodeDataArray[SCONTROL_OUPUT_PARTNAME_INDEX])
                .nodelist(
                        Collections.singletonList(SlurmHost.builder()
                                .nodeName(nodeName).cpuTotal(cpusPerNode).build())
                ).groups(userGroups)
                .build();
    }