in opensearch-notebooks/src/main/kotlin/org/opensearch/notebooks/model/Notebook.kt [264:294]
fun parse(parser: XContentParser): Output {
var result: String? = null
var outputType: String? = null
var executionTime: String? = null
XContentParserUtils.ensureExpectedToken(
XContentParser.Token.START_OBJECT,
parser.currentToken(),
parser
)
while (XContentParser.Token.END_OBJECT != parser.nextToken()) {
val fieldName = parser.currentName()
parser.nextToken()
when (fieldName) {
RESULT_TAG -> result = parser.text()
OUTPUT_TYPE_TAG -> outputType = parser.text()
EXECUTION_TIME_TAG -> executionTime = parser.text()
else -> {
parser.skipChildren()
log.info("$LOG_PREFIX:Format Skipping Unknown field $fieldName")
}
}
}
result ?: throw IllegalArgumentException("$RESULT_TAG field absent")
outputType ?: throw IllegalArgumentException("$OUTPUT_TYPE_TAG field absent")
executionTime ?: throw IllegalArgumentException("$EXECUTION_TIME_TAG field absent")
return Output(
result,
outputType,
executionTime
)
}