fun parse()

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