in src/main/java/com/amazonaws/services/cloudtrail/processinglibrary/serializer/AbstractEventSerializer.java [319:360]
private void parseInsightDetails(CloudTrailEventData eventData) throws IOException {
JsonToken nextToken = jsonParser.nextToken();
if (nextToken == JsonToken.VALUE_NULL) {
eventData.add(CloudTrailEventField.insightDetails.name(), null);
return;
}
if (nextToken != JsonToken.START_OBJECT) {
throw new JsonParseException("Not a InsightDetails object", jsonParser.getCurrentLocation());
}
InsightDetails insightDetails = new InsightDetails();
while (jsonParser.nextToken() != JsonToken.END_OBJECT) {
String key = jsonParser.getCurrentName();
switch (key) {
case "eventName":
insightDetails.add(CloudTrailEventField.eventName.name(), jsonParser.nextTextValue());
break;
case "eventSource":
insightDetails.add(CloudTrailEventField.eventSource.name(), jsonParser.nextTextValue());
break;
case "insightType":
insightDetails.add(CloudTrailEventField.insightType.name(), jsonParser.nextTextValue());
break;
case "state":
insightDetails.add(CloudTrailEventField.state.name(), jsonParser.nextTextValue());
break;
case "insightContext":
this.parseInsightContext(insightDetails);
break;
case "errorCode":
insightDetails.add(CloudTrailEventField.errorCode.name(), jsonParser.nextTextValue());
break;
default:
insightDetails.add(key, parseDefaultValue(key));
break;
}
}
eventData.add(CloudTrailEventField.insightDetails.name(), insightDetails);
}