in src/main/kotlin/org/opensearch/commons/notifications/action/GetNotificationConfigRequest.kt [81:111]
fun parse(parser: XContentParser): GetNotificationConfigRequest {
var configIdList: 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) {
CONFIG_ID_LIST_TAG -> configIdList = 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 GetNotificationConfigRequest")
}
}
}
return GetNotificationConfigRequest(configIdList, fromIndex, maxItems, sortField, sortOrder, filterParams)
}