fun parse()

in src/main/kotlin/org/opensearch/commons/notifications/action/GetNotificationEventRequest.kt [81:111]


        fun parse(parser: XContentParser): GetNotificationEventRequest {
            var eventIds: Set<String> = setOf()
            var fromIndex = 0
            var maxItems = DEFAULT_MAX_ITEMS
            var sortField: String? = null
            var sortOrder: SortOrder? = null
            var filterParams: Map<String, String> = mapOf()

            XContentParserUtils.ensureExpectedToken(
                XContentParser.Token.START_OBJECT,
                parser.currentToken(),
                parser
            )
            while (parser.nextToken() != XContentParser.Token.END_OBJECT) {
                val fieldName = parser.currentName()
                parser.nextToken()
                when (fieldName) {
                    EVENT_ID_LIST_TAG -> eventIds = parser.stringList().toSet()
                    FROM_INDEX_TAG -> fromIndex = parser.intValue()
                    MAX_ITEMS_TAG -> maxItems = parser.intValue()
                    SORT_FIELD_TAG -> sortField = parser.textOrNull()
                    SORT_ORDER_TAG -> sortOrder = SortOrder.fromString(parser.text())
                    FILTER_PARAM_LIST_TAG -> filterParams = parser.mapStrings()
                    else -> {
                        parser.skipChildren()
                        log.info("Unexpected field: $fieldName, while parsing GetNotificationEventRequest")
                    }
                }
            }
            return GetNotificationEventRequest(eventIds, fromIndex, maxItems, sortField, sortOrder, filterParams)
        }