in opensearch-notebooks/src/main/kotlin/org/opensearch/notebooks/model/Notebook.kt [187:225]
fun parse(parser: XContentParser): Paragraph {
var output: List<Output>? = null
var input: Input? = null
var dateCreated: String? = null
var dateModified: String? = null
var id: 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) {
OUTPUT_TAG -> output = parseItemList(parser)
INPUT_TAG -> input = Input.parse(parser)
DATE_CREATED_TAG -> dateCreated = parser.text()
DATE_MODIFIED_TAG -> dateModified = parser.text()
ID_TAG -> id = parser.text()
else -> {
parser.skipChildren()
log.info("$LOG_PREFIX:Source Skipping Unknown field $fieldName")
}
}
}
output ?: throw IllegalArgumentException("$OUTPUT_TAG field absent")
input ?: throw IllegalArgumentException("$INPUT_TAG field absent")
dateCreated ?: throw IllegalArgumentException("$DATE_CREATED_TAG field absent")
dateModified ?: throw IllegalArgumentException("$DATE_MODIFIED_TAG field absent")
id ?: throw IllegalArgumentException("$ID_TAG field absent")
return Paragraph(
output,
input,
dateCreated,
dateModified,
id
)
}