private void loadArray()

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++;
        }
    }