private void parseInsightDetails()

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