public Map<String, Map<String, JsonNode>> computeDisplayValues(DisplayHints displayHints) {
_displayValues = new HashMap<>();
for (Entry<String, Extraction> entry : displayHints.getExtractions().entrySet()) {
JsonPathExtractionHint jpeHint = null;
try {
jpeHint = JsonPathExtractionHint.fromExtractionHint(entry.getValue());
} catch (IOException e) {
throw new BatfishException(
"Could not extract JsonPathExtractionHint from ExtractionHint", e);
}
switch (jpeHint.getUse()) {
case PREFIX:
extractValuesFromPrefix(entry.getKey(), entry.getValue(), jpeHint);
break;
case FUNCOFSUFFIX:
case PREFIXOFSUFFIX:
case SUFFIXOFSUFFIX:
extractValuesFromSuffix(entry.getKey(), entry.getValue(), jpeHint);
break;
default:
throw new BatfishException("Unknown use type " + jpeHint.getUse());
}
}
if (displayHints.getCompositions() != null) {
doCompositions(displayHints.getCompositions(), displayHints.getExtractions());
}
return _displayValues;
}