in src/main/software/amazon/event/ruler/Event.java [282:309]
private static void flattenObject(final JsonNode object, final Map<String, List<String>> map, final Stack<String> path) {
final Iterator<Map.Entry<String, JsonNode>> fields = object.fields();
while (fields.hasNext()) {
final Map.Entry<String, JsonNode> field = fields.next();
final JsonNode val = field.getValue();
path.push(field.getKey());
switch (val.getNodeType()) {
case OBJECT:
flattenObject(val, map, path);
break;
case ARRAY:
flattenArray(val, map, path);
break;
case STRING:
recordNameVal(map, path, '"' + val.asText() + '"');
break;
case NULL:
case BOOLEAN:
case NUMBER:
recordNameVal(map, path, val.asText());
break;
default:
throw new RuntimeException("Unknown JsonNode type for: " + val.asText());
}
path.pop();
}
}