in app/models/CustomMXSMetadata.scala [37:62]
def fromMxsMetadata(incoming:MxsMetadata):Option[CustomMXSMetadata] = {
import cats.implicits._ //for .sequence; turns Option[Try[String]] into Try[Option[String]]
incoming.stringValues.get("GNM_TYPE").map(GnmType.withNameSafe).sequence match {
case Success(Some(itemType))=>
Some(new CustomMXSMetadata(Some(itemType),
incoming.stringValues.get("GNM_PROJECT_ID"),
incoming.stringValues.get("GNM_COMMISSION_ID"),
incoming.stringValues.get("GNM_MASTER_ID"),
incoming.stringValues.get("GNM_MASTER_NAME"),
incoming.stringValues.get("GNM_MASTER_USER"),
incoming.stringValues.get("GNM_PROJECT_NAME"),
incoming.stringValues.get("GNM_COMMISSION_NAME"),
incoming.stringValues.get("GNM_WORKING_GROUP_NAME"),
incoming.intValues.get("GNM_DELIVERABLE_ASSET_ID"),
incoming.intValues.get("GNM_DELIVERABLE_BUNDLE_ID"),
incoming.intValues.get("GNM_DELIVERABLE_VERSION"),
incoming.stringValues.get("GNM_DELIVERABLE_TYPE"),
incoming.boolValues.get("GNM_HIDDEN_FILE")
))
case Success(None)=>None
case Failure(_)=>
logger.error(s"Did not recognise GNM_TYPE value ${incoming.stringValues.get("GNM_TYPE")}")
None
}
}