in app/services/DuplicateFinderService.scala [19:54]
def loadExistingContent(vaultId: String) = {
val interestingFields = Array(
"MXFS_PATH",
"MXFS_FILENAME",
"GNM_ASSET_FOLDER",
"GNM_TYPE",
"GNM_PROJECT_ID"
)
val catchAllSearchTerm = SearchTerm.createNOTTerm(SearchTerm.createSimpleTerm("oid", ""))
val finalSink = Sink.seq[CachedEntry]
val content = userInfoCache.infoForVaultId(vaultId)
val graph = GraphDSL.create(finalSink) { implicit builder =>
sink =>
import akka.stream.scaladsl.GraphDSL.Implicits._
val src = builder.add(new OMFastSearchSource(content.head, Array(catchAllSearchTerm), interestingFields, atOnce = 100))
src.out.map(elem => {
val ent = CachedEntry(
elem.oid,
elem.attributes.flatMap(_.stringValues.get("MXFS_PATH")).getOrElse("(no path)"),
elem.attributes.flatMap(_.stringValues.get("MXFS_FILENAME")).getOrElse("(no filename)"),
elem.attributes.flatMap(_.stringValues.get("GNM_ASSET_FOLDER")),
elem.attributes.flatMap(_.stringValues.get("GNM_TYPE")),
elem.attributes.flatMap(_.stringValues.get("GNM_PROJECT_ID")),
""
)
logger.debug(s"Got entry $ent")
ent
}) ~> sink
ClosedShape
}
RunnableGraph.fromGraph(graph).run()
}