Skip to content

Commit

Permalink
Rp/handle empty list (#50)
Browse files Browse the repository at this point in the history
* Use headOption on itemSimplified.item.shape

* Set pageSize limit to 100

* Add logging

* Refactor getPageOfFilesOfProject method to handle Future results properly

* Tidy up

* Remove unused dependencies

* Increate max-open-requests to 64

* Increase max-open-requests to 256

* Increase max-open-requests to 1024
  • Loading branch information
richpryce authored Apr 2, 2024
1 parent fcc5b2d commit 8fd36ca
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,8 @@ object VSOnlineOutputMessage {
): Option[VSOnlineOutputMessage] = {
val mediaTier = "ONLINE"
val itemId = Option(itemSimplified.id)
val likelyFile = itemSimplified.item.shape.head.getLikelyFile
val likelyFile = itemSimplified.item.shape.headOption.flatMap(_.getLikelyFile)
logger.debug(s"likelyFile: $likelyFile")
val filePath = likelyFile.flatMap(_.getAbsolutePath)
val fileSize = likelyFile.flatMap(_.sizeOption)
val projectIdAndContainingProjectIds = projectId +: safeGetContainingProjects(itemSimplified)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,14 @@ case class ShapeDocument(
val binaryFiles = binaryComponent.getOrElse(Seq.empty[SimplifiedComponent]).flatMap(_.file)

val allComponentFiles = containerComponent match {
case Some(container) => container.file ++ audioFiles ++ videoFiles ++ binaryFiles
case None => audioFiles ++ videoFiles ++ binaryFiles
case Some(container) =>
val files = container.file ++ audioFiles ++ videoFiles ++ binaryFiles
logger.debug(s"allComponentFiles with container: $files")
files
case None =>
val files = audioFiles ++ videoFiles ++ binaryFiles
logger.debug(s"allComponentFiles without container: $files")
files
}
val fileIdMap = allComponentFiles.foldLeft(Map[String, VSShapeFile]())((acc, elem)=>acc + (elem.id->elem))
if(fileIdMap.size>1) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -277,17 +277,18 @@ class VidispineCommunicator(config:VidispineConfig) (implicit ec:ExecutionContex
<intervals>generic</intervals>
</ItemSearchDocument>

val searchResult = callToVidispine[SearchResultDocument](
val searchResultFuture: Future[Option[SearchResultDocument]] = callToVidispine[SearchResultDocument](
HttpRequest(
uri = s"${config.baseUri}/API/search;first=$currentItem;number=$pageSize?content=shape,metadata&tag=original&field=title,gnm_category,gnm_containing_projects,gnm_nearline_id,itemId",
method = HttpMethods.PUT,
entity = HttpEntity(ContentType(MediaTypes.`application/xml`, HttpCharsets.`UTF-8`), doc.toString)))

searchResult.map({
case Some(searchResultDocument) =>
searchResultDocument.entry.map(simplifiedItem => VSOnlineOutputMessage.fromResponseItem(simplifiedItem, projectId))
case None => Seq[Option[VSOnlineOutputMessage]]()
})
searchResultFuture.flatMap {
case Some(SearchResultDocument(_, entries)) =>
Future.successful(entries.map(simplifiedItem => VSOnlineOutputMessage.fromResponseItem(simplifiedItem, projectId)))
case _ =>
Future.successful(Seq[Option[VSOnlineOutputMessage]]())
}
}


Expand Down
4 changes: 4 additions & 0 deletions project_restorer/src/main/resources/application.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
akka.http.host-connection-pool {
max-connections = 1024
max-open-requests = 1024 // Must be a power of 2
}

0 comments on commit 8fd36ca

Please sign in to comment.