in src/main/software/amazon/event/ruler/Event.java [311:342]
private void loadArray(final JsonNode array, final Map<String, List<Value>> fieldMap, final Progress progress) {
final int arrayID = progress.arrayCount++;
final Iterator<JsonNode> elements = array.elements();
int arrayIndex = 0;
while (elements.hasNext()) {
final JsonNode element = elements.next();
switch (element.getNodeType()) {
case OBJECT:
progress.membership.putMembership(arrayID, arrayIndex);
loadObject(element, fieldMap, progress);
progress.membership.deleteMembership(arrayID);
break;
case ARRAY:
progress.membership.putMembership(arrayID, arrayIndex);
loadArray(element, fieldMap, progress);
progress.membership.deleteMembership(arrayID);
break;
case STRING:
addField(fieldMap, progress, '"' + element.asText() + '"');
break;
case NULL:
case BOOLEAN:
case NUMBER:
addField(fieldMap, progress, element.asText());
break;
default:
throw new RuntimeException("Unknown JsonNode type for: " + element.asText());
}
arrayIndex++;
}
}