in src/main/java/com/amazonaws/services/neptune/profiles/neptune_ml/common/parsing/ParseSplitRate.java [33:61]
public Collection<Double> parseSplitRates() {
if (json.has("split_rate")){
if (json.get("split_rate").isArray()){
ArrayNode splitRatesArray = (ArrayNode) json.get("split_rate");
if (splitRatesArray.size() == 3) {
Collection<Double> splitRates = new ArrayList<>();
for (JsonNode jsonNode : splitRatesArray) {
if (jsonNode.isDouble()) {
splitRates.add(jsonNode.asDouble());
} else {
throw error();
}
}
Optional<Double> sum = splitRates.stream().reduce(Double::sum);
if (sum.orElse(0.0) != 1.0) {
throw error();
}
return splitRates;
} else {
throw error();
}
} else {
throw error();
}
} else {
return defaultSplitRates;
}
}