in src/main/kotlin/org/opensearch/commons/notifications/model/ChannelMessage.kt [72:104]
fun parse(parser: XContentParser): ChannelMessage {
var textDescription: String? = null
var htmlDescription: String? = null
var attachment: Attachment? = null
XContentParserUtils.ensureExpectedToken(
XContentParser.Token.START_OBJECT,
parser.currentToken(),
parser
)
while (parser.nextToken() != XContentParser.Token.END_OBJECT) {
val fieldName = parser.currentName()
parser.nextToken()
when (fieldName) {
TEXT_DESCRIPTION_TAG -> textDescription = parser.text()
HTML_DESCRIPTION_TAG -> htmlDescription = parser.textOrNull()
ATTACHMENT_TAG -> attachment = Attachment.parse(parser)
else -> {
parser.skipChildren()
log.info("Skipping Unknown field $fieldName")
}
}
}
textDescription ?: throw IllegalArgumentException("$TEXT_DESCRIPTION_TAG not present")
return ChannelMessage(
textDescription,
htmlDescription,
attachment
)
}