def searchGraph()

in app/controllers/FileListController.scala [163:187]


  def searchGraph(userInfo:UserInfo, searchTerm:SearchTerm) =
    GraphDSL.create() { implicit builder =>
      import akka.stream.scaladsl.GraphDSL.Implicits._

      val src = builder.add(new OMSearchSource(userInfo, Some(searchTerm), None))
      val lookup = builder.add(new OMLookupMetadata(userInfo).async)

      src ~> lookup

      val outlet = lookup.out
        .log("FileListController.searchGraph")
        .map(PresentableFile.fromObjectMatrixEntry)
        .map(elem=>{
          try {
            elem.asJson.noSpaces
          } catch {
            case err:Throwable=>
              logger.error(s"json conversion for ${elem.oid} failed: ${err.getMessage}", err)
              throw err
          }
        })
        .map(jsonString => ByteString(jsonString + "\n"))
        .outlet
      SourceShape(outlet)
    }