in src/main/java/com/epam/grid/engine/provider/utils/sge/usage/SgeSummaryFilteredAccountingDataParser.java [52:70]
public UsageReport parseAccountingDataFromStdOut(final List<String> stdOut) {
final SgeUsageRawOutput sgeUsageRawOutput = parseSgeAccountingOutput(stdOut);
final EnumMap<SgeAccountingHeaders, String> accountingMap = new EnumMap<>(SgeAccountingHeaders.class);
final String valuesLine = Optional.ofNullable(sgeUsageRawOutput.getAccountingData()).orElse(EMPTY_STRING);
final List<String> headers = getHeaders(sgeUsageRawOutput);
try {
final String[] acctValues = parseResultValues(headers, valuesLine);
for (int i = 0; i < headers.size(); i++) {
accountingMap.put(SgeAccountingHeaders.valueOfName(headers.get(i))
.orElseThrow(IllegalArgumentException::new), acctValues[i]
);
}
} catch (ArrayIndexOutOfBoundsException | IllegalArgumentException e) {
throw new GridEngineException(HttpStatus.NOT_FOUND, "Cannot parse SGE output", e);
}
return buildFilteredUsageReportFromMap(headers, accountingMap);
}