in src/main/kotlin/org/opensearch/commons/notifications/model/Attachment.kt [66:94]
fun parse(parser: XContentParser): Attachment {
var fileName: String? = null
var fileEncoding: String? = null
var fileData: String? = null
var fileContentType: String? = null
XContentParserUtils.ensureExpectedToken(
XContentParser.Token.START_OBJECT,
parser.currentToken(),
parser
)
while (parser.nextToken() != XContentParser.Token.END_OBJECT) {
val dataType = parser.currentName()
parser.nextToken()
when (dataType) {
FILE_NAME_TAG -> fileName = parser.text()
FILE_ENCODING_TAG -> fileEncoding = parser.text()
FILE_DATA_TAG -> fileData = parser.text()
FILE_CONTENT_TYPE_TAG -> fileContentType = parser.textOrNull()
else -> {
parser.skipChildren()
log.info("Skipping Unknown field $dataType")
}
}
}
fileName ?: throw IllegalArgumentException("attachment:fileName not present")
fileEncoding ?: throw IllegalArgumentException("attachment:fileEncoding not present")
fileData ?: throw IllegalArgumentException("attachment:fileData not present")
return Attachment(fileName, fileEncoding, fileData, fileContentType)
}