How to debug code in Scala Future ?
I am using IntelliJ.
Apart from registering everyone, I donβt see how to do it.
Consult how to proceed?
EDIT1:
Here is the error I get:
java.lang.IllegalAccessError: tried to access the org.iadb.poolpartyconnector.conceptsrecommendation.RelevantConceptsRecommendationServicePoolPartyImpl $$ anonfun $ 2 $$ anonfun $ field apply $ 1 $$ anonfun $ apply $ 2 $$ anonfun $ apply anonfun $ 3 anonfun $ apply ... apply $ 1 $$ anonfun $ apply $ 2 $$ anonfun $ apply $ 3 $ GeneratedEvaluatorClass $ 3 $ 1.invoke (FileToCompile0.scala: 173) in org.iadb.poolpartyconnector.conceptsrecommendation.RelevantConceptsRecommendationServicePoolPartyIm pl $$ anonfun $ 2 $$ anonfun $ apply $ 1 $$ anonfun $ apply $ 2 $$ anonfun $ apply $ 3.Apply (RelevantConceptsRecommendationService.scala: 169) in org.iadb.poolpartyconnector.conceptsrecommendation.RelevantConceptsRecomun $fon $ $ apply $ 1 $$ anonfun $ apply $ 2 $$ anonfun $ apply $ 3.Apply (RelevantConceptsRecommendationService.scala: 166) in scala.concurrent.impl.Future $ PromiseCompletingRunnable.liftedTree1 $ 1 (Future.scala: 24) in scala.concurrent. Future $ PromiseCompletingRunnable.run (Future.scala: 24) at akka.dispatch.TaskInvocation.run (AbstractDispatcher.scala: 40) at akka.dispatch.ForkJoinExecutorConfigurator $ AkkaForkJoinTask.exec (AbstractDispatcher.fala .ForkJoinTask.doExec (ForkJoinTask.java:260) in scala.concurrent.forkjoin.ForkJoinPool $ WorkQueue.runTask (ForkJoinPool.java:1339) in scala.concurrent.forkjoin. ForkJoinPool.runWorker (ForkJoinPool.java:1979) at scala.concurrent.forkjoin.ForkJoinWorkerThread.run (ForkJoinWorkerThread.java:107) java.lang.NoSuchFieldErcept. $ CommendPerception.ocomprement.ocomplendment.ocomprement.ocompartment.confrement.ocommit $ anonfun $ apply $ 1 $$ anonfun $ apply $ 2 $$ anonfun $ apply $ 3 $ GeneratedEvaluatorClass $ 4 $ 1.invoke (FileToCompile1.scala: 173) in org.iadb.poolpartyconnector.conceptsrecommendation.RelevantConceptsRecommendationServiceplun $ $$$$ $ $ $$ anonfun $ apply $ 2 $$ anonfun $ apply $ 3.Apply (RelevantConceptsRecommendationService.scala: 169) in org.iadb.poolpartyconnector.conceptsrecommendation.RelevantConceptsRecommendationServicePoolPartyImpl $ 2 $on $ 2 $onfun $ 2 $on $ 2$on $ 1 $$$ $ apply $ 3.Apply (RelevantConceptsR ecommendationService.scala: 166) at scala.concurrent.impl.Future $ PromiseCompletingRunnable.liftedTree1 $ 1 (Future.scala: 24) at scala.concurrent.impl.Future $ PromiseCompletingRunnable.run (Future.scala: 24) at akkad. TaskInvocation.run (AbstractDispatcher.scala: 40) at akka.dispatch.ForkJoinExecutorConfigurator $ AkkaForkJoinTask.exec (AbstractDispatcher.scala: 397) in scala.concurrent.forkjoin.ForkJoinTask.doExec (ForkJocurnto.curcnoctork.jocurcto.fcurconfork.jocurctork.jocurconfork.jocurt60.curcurfork.jocurconfork.jcurconfork.jo .ForkJoinPool $ WorkQueue.runTask (ForkJoinPool.java:1339) in scala.concurrent.forkjoin.ForkJoinPool.runWorker (ForkJoinPool.java:1979) in scala.concurrent.forkjoin.ForkJoinWorkerThreadjun.
My code is:
def filterResultsWithExtractionSettings(conceptResults: ConceptResults): ConceptResults = { import system.dispatcher val mylist: Iterable[Future[List[Concept]]] = for (fieldSettings <- fieldSettingsList if fieldSettings.maxConceptsExtraction > 0; doc <- conceptResults.document; concepts <- doc.concepts) yield { Future { val schemefiltered = concepts.withFilter(e => e.conceptSchemes.contains(fieldSettings.scheme)).flatMap(e=> List(e)) schemefiltered.size match { case e if e > fieldSettings.maxConceptsExtraction => schemefiltered.take(fieldSettings.maxConceptsExtraction) case _ => schemefiltered } } } val res = Await.result(Future.sequence(mylist), Duration.Inf).flatten.toList val distinctRes = res.distinct conceptResults.copy(document = Some(conceptResults.document.get.copy(concepts = Some(distinctRes)))) }
source share