in src/main/software/amazon/event/ruler/Event.java [123:152]
private void traverseObject(final JsonParser parser, final TreeMap<String, List<Value>> fieldMap, final Progress progress) throws IOException {
while (parser.nextToken() != JsonToken.END_OBJECT) {
// step name
final String stepName = parser.getCurrentName();
JsonToken nextToken = parser.nextToken();
// If we know current step name hasn't been used by any rules, we don't parse into this step.
if (!progress.machine.isFieldStepUsed(stepName)) {
ignoreCurrentStep(parser);
continue;
}
progress.path.push(stepName);
switch (nextToken) {
case START_OBJECT:
traverseObject(parser, fieldMap, progress);
break;
case START_ARRAY:
traverseArray(parser, fieldMap, progress);
break;
case VALUE_STRING:
addField(fieldMap, progress, '"' + parser.getText() + '"');
break;
default:
addField(fieldMap, progress, parser.getText());
break;
}
progress.path.pop();
}
}