in associated-press/app/model/FeedResponse.scala [27:49]
private def getItemArrayFromJsValue(jsValue: JsValue): Array[ImageItem] = {
jsValue match {
case jsArray: JsArray =>
jsArray.value.toArray
.filter(item =>
(item \ "item" \ "type").as[String] == "picture" &&
(item \ "item" \ "altids" \ "itemid").toOption.isDefined &&
(item \ "item" \ "renditions" \ "main" \ "originalfilename").toOption.isDefined &&
(item \ "item" \ "renditions" \ "main" \ "href").toOption.isDefined
)
.map(item =>
ImageItem(
contentId = (item \ "item" \ "altids" \ "itemid").as[String],
fileName =
(item \ "item" \ "renditions" \ "main" \ "originalfilename")
.as[String],
downloadLink =
(item \ "item" \ "renditions" \ "main" \ "href").as[String]
)
)
case _ => Array.empty
}
}