diff --git a/.metals/metals.h2.db b/.metals/metals.h2.db new file mode 100644 index 0000000000000000000000000000000000000000..470c5fe95f3562aafdc138d7d0e9de74b9249aa6 Binary files /dev/null and b/.metals/metals.h2.db differ diff --git a/.metals/metals.log b/.metals/metals.log new file mode 100644 index 0000000000000000000000000000000000000000..4d5e63977e1b12065fb99fc9373ad834e14c6186 --- /dev/null +++ b/.metals/metals.log @@ -0,0 +1,1542 @@ +[0m2021.06.18 14:35:38 INFO Started: Metals version 0.10.4 in workspace '/home/hammouda/VS2N' for client Visual Studio Code 1.56.2.[0m +[0m2021.06.18 14:35:41 INFO time: initialize in 3.05s[0m +[0m2021.06.18 14:35:41 WARN Build server is not auto-connectable.[0m +[0m2021.06.18 14:35:41 WARN no build tool detected in workspace '/home/hammouda/VS2N'. The most common cause for this problem is that the editor was opened in the wrong working directory, for example if you use sbt then the workspace directory should contain build.sbt. [0m +[0m2021.06.18 14:35:41 WARN no build target for: /home/hammouda/n2s3/n2s3_examples/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/apps/ExampleFreeWayLogged.scala[0m +[0m2021.06.18 14:35:45 INFO no build target: using presentation compiler with only scala-library: 2.12.14[0m +[0m2021.06.18 14:35:48 WARN no build target for: /home/hammouda/n2s3/n2s3_examples/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/apps/ExampleFreeWayLogged.scala[0m +Jun 18, 2021 2:35:51 PM scala.meta.internal.pc.CompilerAccess handleError +SEVERE: file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:136: error: ) expected but . found + n2s3.runAndWait() + ^ +file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:136: error: ) expected but . found + n2s3.runAndWait() + ^ + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.ScalametaParser.syntaxErrorExpected(ScalametaParser.scala:897) + at scala.meta.internal.parsers.ScalametaParser.accept(ScalametaParser.scala:903) + at scala.meta.internal.parsers.ScalametaParser.inParens(ScalametaParser.scala:744) + at scala.meta.internal.parsers.ScalametaParser.argumentExprsWithUsing(ScalametaParser.scala:3060) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$4(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$1(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.simpleExprRest(ScalametaParser.scala:2975) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$5(ScalametaParser.scala:2921) + at scala.util.Success.$anonfun$map$1(Try.scala:255) + at scala.util.Success.map(Try.scala:213) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$1(ScalametaParser.scala:2921) + at scala.meta.internal.parsers.ScalametaParser.atPosTry(ScalametaParser.scala:871) + at scala.meta.internal.parsers.ScalametaParser.autoPosTry(ScalametaParser.scala:881) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr0(ScalametaParser.scala:2870) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr(ScalametaParser.scala:2868) + at scala.meta.internal.parsers.ScalametaParser.prefixExpr(ScalametaParser.scala:2852) + at scala.meta.internal.parsers.ScalametaParser.postfixExpr(ScalametaParser.scala:2832) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$12(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$2(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.expr(ScalametaParser.scala:2285) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4983) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4969) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.templateStats(ScalametaParser.scala:4985) + at scala.meta.internal.parsers.ScalametaParser.templateStatSeq(ScalametaParser.scala:4965) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateBody$1(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.inBraces(ScalametaParser.scala:759) + at scala.meta.internal.parsers.ScalametaParser.templateBody(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.templateBodyOpt(ScalametaParser.scala:4821) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4755) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$template$1(ScalametaParser.scala:4774) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4759) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateOpt$1(ScalametaParser.scala:4799) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.templateOpt(ScalametaParser.scala:4791) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$objectDef$1(ScalametaParser.scala:4555) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.objectDef(ScalametaParser.scala:4547) + at scala.meta.internal.parsers.ScalametaParser.tmplDef(ScalametaParser.scala:4431) + at scala.meta.internal.parsers.ScalametaParser.topLevelTmplDef(ScalametaParser.scala:4413) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4934) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4922) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.topStatSeq(ScalametaParser.scala:4921) + at scala.meta.internal.parsers.ScalametaParser.bracelessPackageStats$1(ScalametaParser.scala:5137) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$9(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$1(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.batchSource(ScalametaParser.scala:5111) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$source$1(ScalametaParser.scala:5094) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.source(ScalametaParser.scala:5093) + at scala.meta.internal.parsers.ScalametaParser.entrypointSource(ScalametaParser.scala:5099) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$parseSource$2(ScalametaParser.scala:143) + at scala.meta.internal.parsers.ScalametaParser.parseRule(ScalametaParser.scala:53) + at scala.meta.internal.parsers.ScalametaParser.parseSource(ScalametaParser.scala:143) + at scala.meta.parsers.Parse$.$anonfun$parseSource$1(Parse.scala:29) + at scala.meta.internal.parsers.ScalametaParser$$anon$261.apply(ScalametaParser.scala:5156) + at scala.meta.parsers.Api$XtensionParseDialectInput.parse(Api.scala:25) + at scala.meta.internal.semanticdb.scalac.ParseOps$XtensionCompilationUnitSource.toSource(ParseOps.scala:17) + at scala.meta.internal.semanticdb.scalac.TextDocumentOps$XtensionCompilationUnitDocument.toTextDocument(TextDocumentOps.scala:201) + at scala.meta.internal.pc.SemanticdbTextDocumentProvider.textDocument(SemanticdbTextDocumentProvider.scala:51) + +Jun 18, 2021 2:35:52 PM scala.meta.internal.pc.CompilerAccess handleError +SEVERE: file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:105: error: ) expected but . found + n2s3.runAndWait() + ^ +file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:105: error: ) expected but . found + n2s3.runAndWait() + ^ + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.ScalametaParser.syntaxErrorExpected(ScalametaParser.scala:897) + at scala.meta.internal.parsers.ScalametaParser.accept(ScalametaParser.scala:903) + at scala.meta.internal.parsers.ScalametaParser.inParens(ScalametaParser.scala:744) + at scala.meta.internal.parsers.ScalametaParser.argumentExprsWithUsing(ScalametaParser.scala:3060) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$4(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$1(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.simpleExprRest(ScalametaParser.scala:2975) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$5(ScalametaParser.scala:2921) + at scala.util.Success.$anonfun$map$1(Try.scala:255) + at scala.util.Success.map(Try.scala:213) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$1(ScalametaParser.scala:2921) + at scala.meta.internal.parsers.ScalametaParser.atPosTry(ScalametaParser.scala:871) + at scala.meta.internal.parsers.ScalametaParser.autoPosTry(ScalametaParser.scala:881) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr0(ScalametaParser.scala:2870) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr(ScalametaParser.scala:2868) + at scala.meta.internal.parsers.ScalametaParser.prefixExpr(ScalametaParser.scala:2852) + at scala.meta.internal.parsers.ScalametaParser.postfixExpr(ScalametaParser.scala:2832) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$12(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$2(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.expr(ScalametaParser.scala:2285) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4983) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4969) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.templateStats(ScalametaParser.scala:4985) + at scala.meta.internal.parsers.ScalametaParser.templateStatSeq(ScalametaParser.scala:4965) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateBody$1(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.inBraces(ScalametaParser.scala:759) + at scala.meta.internal.parsers.ScalametaParser.templateBody(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.templateBodyOpt(ScalametaParser.scala:4821) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4755) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$template$1(ScalametaParser.scala:4774) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4759) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateOpt$1(ScalametaParser.scala:4799) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.templateOpt(ScalametaParser.scala:4791) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$objectDef$1(ScalametaParser.scala:4555) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.objectDef(ScalametaParser.scala:4547) + at scala.meta.internal.parsers.ScalametaParser.tmplDef(ScalametaParser.scala:4431) + at scala.meta.internal.parsers.ScalametaParser.topLevelTmplDef(ScalametaParser.scala:4413) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4934) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4922) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.topStatSeq(ScalametaParser.scala:4921) + at scala.meta.internal.parsers.ScalametaParser.bracelessPackageStats$1(ScalametaParser.scala:5137) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$9(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$1(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.batchSource(ScalametaParser.scala:5111) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$source$1(ScalametaParser.scala:5094) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.source(ScalametaParser.scala:5093) + at scala.meta.internal.parsers.ScalametaParser.entrypointSource(ScalametaParser.scala:5099) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$parseSource$2(ScalametaParser.scala:143) + at scala.meta.internal.parsers.ScalametaParser.parseRule(ScalametaParser.scala:53) + at scala.meta.internal.parsers.ScalametaParser.parseSource(ScalametaParser.scala:143) + at scala.meta.parsers.Parse$.$anonfun$parseSource$1(Parse.scala:29) + at scala.meta.internal.parsers.ScalametaParser$$anon$261.apply(ScalametaParser.scala:5156) + at scala.meta.parsers.Api$XtensionParseDialectInput.parse(Api.scala:25) + at scala.meta.internal.semanticdb.scalac.ParseOps$XtensionCompilationUnitSource.toSource(ParseOps.scala:17) + at scala.meta.internal.semanticdb.scalac.TextDocumentOps$XtensionCompilationUnitDocument.toTextDocument(TextDocumentOps.scala:201) + at scala.meta.internal.pc.SemanticdbTextDocumentProvider.textDocument(SemanticdbTextDocumentProvider.scala:51) + +Jun 18, 2021 2:35:53 PM scala.meta.internal.pc.CompilerAccess handleError +SEVERE: file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:105: error: ) expected but . found + n2s3.runAndWait() + ^ +file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:105: error: ) expected but . found + n2s3.runAndWait() + ^ + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.ScalametaParser.syntaxErrorExpected(ScalametaParser.scala:897) + at scala.meta.internal.parsers.ScalametaParser.accept(ScalametaParser.scala:903) + at scala.meta.internal.parsers.ScalametaParser.inParens(ScalametaParser.scala:744) + at scala.meta.internal.parsers.ScalametaParser.argumentExprsWithUsing(ScalametaParser.scala:3060) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$4(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$1(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.simpleExprRest(ScalametaParser.scala:2975) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$5(ScalametaParser.scala:2921) + at scala.util.Success.$anonfun$map$1(Try.scala:255) + at scala.util.Success.map(Try.scala:213) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$1(ScalametaParser.scala:2921) + at scala.meta.internal.parsers.ScalametaParser.atPosTry(ScalametaParser.scala:871) + at scala.meta.internal.parsers.ScalametaParser.autoPosTry(ScalametaParser.scala:881) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr0(ScalametaParser.scala:2870) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr(ScalametaParser.scala:2868) + at scala.meta.internal.parsers.ScalametaParser.prefixExpr(ScalametaParser.scala:2852) + at scala.meta.internal.parsers.ScalametaParser.postfixExpr(ScalametaParser.scala:2832) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$12(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$2(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.expr(ScalametaParser.scala:2285) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4983) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4969) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.templateStats(ScalametaParser.scala:4985) + at scala.meta.internal.parsers.ScalametaParser.templateStatSeq(ScalametaParser.scala:4965) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateBody$1(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.inBraces(ScalametaParser.scala:759) + at scala.meta.internal.parsers.ScalametaParser.templateBody(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.templateBodyOpt(ScalametaParser.scala:4821) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4755) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$template$1(ScalametaParser.scala:4774) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4759) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateOpt$1(ScalametaParser.scala:4799) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.templateOpt(ScalametaParser.scala:4791) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$objectDef$1(ScalametaParser.scala:4555) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.objectDef(ScalametaParser.scala:4547) + at scala.meta.internal.parsers.ScalametaParser.tmplDef(ScalametaParser.scala:4431) + at scala.meta.internal.parsers.ScalametaParser.topLevelTmplDef(ScalametaParser.scala:4413) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4934) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4922) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.topStatSeq(ScalametaParser.scala:4921) + at scala.meta.internal.parsers.ScalametaParser.bracelessPackageStats$1(ScalametaParser.scala:5137) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$9(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$1(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.batchSource(ScalametaParser.scala:5111) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$source$1(ScalametaParser.scala:5094) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.source(ScalametaParser.scala:5093) + at scala.meta.internal.parsers.ScalametaParser.entrypointSource(ScalametaParser.scala:5099) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$parseSource$2(ScalametaParser.scala:143) + at scala.meta.internal.parsers.ScalametaParser.parseRule(ScalametaParser.scala:53) + at scala.meta.internal.parsers.ScalametaParser.parseSource(ScalametaParser.scala:143) + at scala.meta.parsers.Parse$.$anonfun$parseSource$1(Parse.scala:29) + at scala.meta.internal.parsers.ScalametaParser$$anon$261.apply(ScalametaParser.scala:5156) + at scala.meta.parsers.Api$XtensionParseDialectInput.parse(Api.scala:25) + at scala.meta.internal.semanticdb.scalac.ParseOps$XtensionCompilationUnitSource.toSource(ParseOps.scala:17) + at scala.meta.internal.semanticdb.scalac.TextDocumentOps$XtensionCompilationUnitDocument.toTextDocument(TextDocumentOps.scala:201) + at scala.meta.internal.pc.SemanticdbTextDocumentProvider.textDocument(SemanticdbTextDocumentProvider.scala:51) + +Jun 18, 2021 2:35:54 PM scala.meta.internal.pc.CompilerAccess handleError +SEVERE: file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:105: error: ) expected but . found + n2s3.runAndWait() + ^ +file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:105: error: ) expected but . found + n2s3.runAndWait() + ^ + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.ScalametaParser.syntaxErrorExpected(ScalametaParser.scala:897) + at scala.meta.internal.parsers.ScalametaParser.accept(ScalametaParser.scala:903) + at scala.meta.internal.parsers.ScalametaParser.inParens(ScalametaParser.scala:744) + at scala.meta.internal.parsers.ScalametaParser.argumentExprsWithUsing(ScalametaParser.scala:3060) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$4(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$1(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.simpleExprRest(ScalametaParser.scala:2975) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$5(ScalametaParser.scala:2921) + at scala.util.Success.$anonfun$map$1(Try.scala:255) + at scala.util.Success.map(Try.scala:213) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$1(ScalametaParser.scala:2921) + at scala.meta.internal.parsers.ScalametaParser.atPosTry(ScalametaParser.scala:871) + at scala.meta.internal.parsers.ScalametaParser.autoPosTry(ScalametaParser.scala:881) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr0(ScalametaParser.scala:2870) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr(ScalametaParser.scala:2868) + at scala.meta.internal.parsers.ScalametaParser.prefixExpr(ScalametaParser.scala:2852) + at scala.meta.internal.parsers.ScalametaParser.postfixExpr(ScalametaParser.scala:2832) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$12(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$2(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.expr(ScalametaParser.scala:2285) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4983) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4969) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.templateStats(ScalametaParser.scala:4985) + at scala.meta.internal.parsers.ScalametaParser.templateStatSeq(ScalametaParser.scala:4965) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateBody$1(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.inBraces(ScalametaParser.scala:759) + at scala.meta.internal.parsers.ScalametaParser.templateBody(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.templateBodyOpt(ScalametaParser.scala:4821) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4755) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$template$1(ScalametaParser.scala:4774) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4759) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateOpt$1(ScalametaParser.scala:4799) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.templateOpt(ScalametaParser.scala:4791) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$objectDef$1(ScalametaParser.scala:4555) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.objectDef(ScalametaParser.scala:4547) + at scala.meta.internal.parsers.ScalametaParser.tmplDef(ScalametaParser.scala:4431) + at scala.meta.internal.parsers.ScalametaParser.topLevelTmplDef(ScalametaParser.scala:4413) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4934) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4922) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.topStatSeq(ScalametaParser.scala:4921) + at scala.meta.internal.parsers.ScalametaParser.bracelessPackageStats$1(ScalametaParser.scala:5137) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$9(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$1(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.batchSource(ScalametaParser.scala:5111) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$source$1(ScalametaParser.scala:5094) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.source(ScalametaParser.scala:5093) + at scala.meta.internal.parsers.ScalametaParser.entrypointSource(ScalametaParser.scala:5099) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$parseSource$2(ScalametaParser.scala:143) + at scala.meta.internal.parsers.ScalametaParser.parseRule(ScalametaParser.scala:53) + at scala.meta.internal.parsers.ScalametaParser.parseSource(ScalametaParser.scala:143) + at scala.meta.parsers.Parse$.$anonfun$parseSource$1(Parse.scala:29) + at scala.meta.internal.parsers.ScalametaParser$$anon$261.apply(ScalametaParser.scala:5156) + at scala.meta.parsers.Api$XtensionParseDialectInput.parse(Api.scala:25) + at scala.meta.internal.semanticdb.scalac.ParseOps$XtensionCompilationUnitSource.toSource(ParseOps.scala:17) + at scala.meta.internal.semanticdb.scalac.TextDocumentOps$XtensionCompilationUnitDocument.toTextDocument(TextDocumentOps.scala:201) + at scala.meta.internal.pc.SemanticdbTextDocumentProvider.textDocument(SemanticdbTextDocumentProvider.scala:51) + +[0m2021.06.18 14:35:54 INFO time: code lens generation in 6.15s[0m +Jun 18, 2021 2:35:54 PM scala.meta.internal.pc.CompilerAccess handleError +SEVERE: file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:105: error: ) expected but . found + n2s3.runAndWait() + ^ +file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:105: error: ) expected but . found + n2s3.runAndWait() + ^ + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.ScalametaParser.syntaxErrorExpected(ScalametaParser.scala:897) + at scala.meta.internal.parsers.ScalametaParser.accept(ScalametaParser.scala:903) + at scala.meta.internal.parsers.ScalametaParser.inParens(ScalametaParser.scala:744) + at scala.meta.internal.parsers.ScalametaParser.argumentExprsWithUsing(ScalametaParser.scala:3060) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$4(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$1(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.simpleExprRest(ScalametaParser.scala:2975) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$5(ScalametaParser.scala:2921) + at scala.util.Success.$anonfun$map$1(Try.scala:255) + at scala.util.Success.map(Try.scala:213) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$1(ScalametaParser.scala:2921) + at scala.meta.internal.parsers.ScalametaParser.atPosTry(ScalametaParser.scala:871) + at scala.meta.internal.parsers.ScalametaParser.autoPosTry(ScalametaParser.scala:881) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr0(ScalametaParser.scala:2870) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr(ScalametaParser.scala:2868) + at scala.meta.internal.parsers.ScalametaParser.prefixExpr(ScalametaParser.scala:2852) + at scala.meta.internal.parsers.ScalametaParser.postfixExpr(ScalametaParser.scala:2832) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$12(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$2(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.expr(ScalametaParser.scala:2285) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4983) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4969) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.templateStats(ScalametaParser.scala:4985) + at scala.meta.internal.parsers.ScalametaParser.templateStatSeq(ScalametaParser.scala:4965) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateBody$1(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.inBraces(ScalametaParser.scala:759) + at scala.meta.internal.parsers.ScalametaParser.templateBody(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.templateBodyOpt(ScalametaParser.scala:4821) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4755) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$template$1(ScalametaParser.scala:4774) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4759) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateOpt$1(ScalametaParser.scala:4799) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.templateOpt(ScalametaParser.scala:4791) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$objectDef$1(ScalametaParser.scala:4555) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.objectDef(ScalametaParser.scala:4547) + at scala.meta.internal.parsers.ScalametaParser.tmplDef(ScalametaParser.scala:4431) + at scala.meta.internal.parsers.ScalametaParser.topLevelTmplDef(ScalametaParser.scala:4413) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4934) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4922) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.topStatSeq(ScalametaParser.scala:4921) + at scala.meta.internal.parsers.ScalametaParser.bracelessPackageStats$1(ScalametaParser.scala:5137) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$9(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$1(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.batchSource(ScalametaParser.scala:5111) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$source$1(ScalametaParser.scala:5094) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.source(ScalametaParser.scala:5093) + at scala.meta.internal.parsers.ScalametaParser.entrypointSource(ScalametaParser.scala:5099) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$parseSource$2(ScalametaParser.scala:143) + at scala.meta.internal.parsers.ScalametaParser.parseRule(ScalametaParser.scala:53) + at scala.meta.internal.parsers.ScalametaParser.parseSource(ScalametaParser.scala:143) + at scala.meta.parsers.Parse$.$anonfun$parseSource$1(Parse.scala:29) + at scala.meta.internal.parsers.ScalametaParser$$anon$261.apply(ScalametaParser.scala:5156) + at scala.meta.parsers.Api$XtensionParseDialectInput.parse(Api.scala:25) + at scala.meta.internal.semanticdb.scalac.ParseOps$XtensionCompilationUnitSource.toSource(ParseOps.scala:17) + at scala.meta.internal.semanticdb.scalac.TextDocumentOps$XtensionCompilationUnitDocument.toTextDocument(TextDocumentOps.scala:201) + at scala.meta.internal.pc.SemanticdbTextDocumentProvider.textDocument(SemanticdbTextDocumentProvider.scala:51) + +Jun 18, 2021 2:35:54 PM scala.meta.internal.pc.CompilerAccess handleError +SEVERE: file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:105: error: ) expected but . found + n2s3.runAndWait() + ^ +file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:105: error: ) expected but . found + n2s3.runAndWait() + ^ + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.ScalametaParser.syntaxErrorExpected(ScalametaParser.scala:897) + at scala.meta.internal.parsers.ScalametaParser.accept(ScalametaParser.scala:903) + at scala.meta.internal.parsers.ScalametaParser.inParens(ScalametaParser.scala:744) + at scala.meta.internal.parsers.ScalametaParser.argumentExprsWithUsing(ScalametaParser.scala:3060) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$4(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$1(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.simpleExprRest(ScalametaParser.scala:2975) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$5(ScalametaParser.scala:2921) + at scala.util.Success.$anonfun$map$1(Try.scala:255) + at scala.util.Success.map(Try.scala:213) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$1(ScalametaParser.scala:2921) + at scala.meta.internal.parsers.ScalametaParser.atPosTry(ScalametaParser.scala:871) + at scala.meta.internal.parsers.ScalametaParser.autoPosTry(ScalametaParser.scala:881) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr0(ScalametaParser.scala:2870) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr(ScalametaParser.scala:2868) + at scala.meta.internal.parsers.ScalametaParser.prefixExpr(ScalametaParser.scala:2852) + at scala.meta.internal.parsers.ScalametaParser.postfixExpr(ScalametaParser.scala:2832) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$12(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$2(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.expr(ScalametaParser.scala:2285) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4983) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4969) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.templateStats(ScalametaParser.scala:4985) + at scala.meta.internal.parsers.ScalametaParser.templateStatSeq(ScalametaParser.scala:4965) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateBody$1(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.inBraces(ScalametaParser.scala:759) + at scala.meta.internal.parsers.ScalametaParser.templateBody(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.templateBodyOpt(ScalametaParser.scala:4821) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4755) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$template$1(ScalametaParser.scala:4774) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4759) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateOpt$1(ScalametaParser.scala:4799) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.templateOpt(ScalametaParser.scala:4791) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$objectDef$1(ScalametaParser.scala:4555) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.objectDef(ScalametaParser.scala:4547) + at scala.meta.internal.parsers.ScalametaParser.tmplDef(ScalametaParser.scala:4431) + at scala.meta.internal.parsers.ScalametaParser.topLevelTmplDef(ScalametaParser.scala:4413) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4934) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4922) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.topStatSeq(ScalametaParser.scala:4921) + at scala.meta.internal.parsers.ScalametaParser.bracelessPackageStats$1(ScalametaParser.scala:5137) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$9(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$1(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.batchSource(ScalametaParser.scala:5111) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$source$1(ScalametaParser.scala:5094) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.source(ScalametaParser.scala:5093) + at scala.meta.internal.parsers.ScalametaParser.entrypointSource(ScalametaParser.scala:5099) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$parseSource$2(ScalametaParser.scala:143) + at scala.meta.internal.parsers.ScalametaParser.parseRule(ScalametaParser.scala:53) + at scala.meta.internal.parsers.ScalametaParser.parseSource(ScalametaParser.scala:143) + at scala.meta.parsers.Parse$.$anonfun$parseSource$1(Parse.scala:29) + at scala.meta.internal.parsers.ScalametaParser$$anon$261.apply(ScalametaParser.scala:5156) + at scala.meta.parsers.Api$XtensionParseDialectInput.parse(Api.scala:25) + at scala.meta.internal.semanticdb.scalac.ParseOps$XtensionCompilationUnitSource.toSource(ParseOps.scala:17) + at scala.meta.internal.semanticdb.scalac.TextDocumentOps$XtensionCompilationUnitDocument.toTextDocument(TextDocumentOps.scala:201) + at scala.meta.internal.pc.SemanticdbTextDocumentProvider.textDocument(SemanticdbTextDocumentProvider.scala:51) + +Jun 18, 2021 2:35:55 PM scala.meta.internal.pc.CompilerAccess handleError +SEVERE: file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:105: error: ) expected but . found + n2s3.runAndWait() + ^ +file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:105: error: ) expected but . found + n2s3.runAndWait() + ^ + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.ScalametaParser.syntaxErrorExpected(ScalametaParser.scala:897) + at scala.meta.internal.parsers.ScalametaParser.accept(ScalametaParser.scala:903) + at scala.meta.internal.parsers.ScalametaParser.inParens(ScalametaParser.scala:744) + at scala.meta.internal.parsers.ScalametaParser.argumentExprsWithUsing(ScalametaParser.scala:3060) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$4(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$1(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.simpleExprRest(ScalametaParser.scala:2975) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$5(ScalametaParser.scala:2921) + at scala.util.Success.$anonfun$map$1(Try.scala:255) + at scala.util.Success.map(Try.scala:213) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$1(ScalametaParser.scala:2921) + at scala.meta.internal.parsers.ScalametaParser.atPosTry(ScalametaParser.scala:871) + at scala.meta.internal.parsers.ScalametaParser.autoPosTry(ScalametaParser.scala:881) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr0(ScalametaParser.scala:2870) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr(ScalametaParser.scala:2868) + at scala.meta.internal.parsers.ScalametaParser.prefixExpr(ScalametaParser.scala:2852) + at scala.meta.internal.parsers.ScalametaParser.postfixExpr(ScalametaParser.scala:2832) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$12(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$2(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.expr(ScalametaParser.scala:2285) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4983) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4969) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.templateStats(ScalametaParser.scala:4985) + at scala.meta.internal.parsers.ScalametaParser.templateStatSeq(ScalametaParser.scala:4965) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateBody$1(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.inBraces(ScalametaParser.scala:759) + at scala.meta.internal.parsers.ScalametaParser.templateBody(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.templateBodyOpt(ScalametaParser.scala:4821) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4755) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$template$1(ScalametaParser.scala:4774) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4759) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateOpt$1(ScalametaParser.scala:4799) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.templateOpt(ScalametaParser.scala:4791) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$objectDef$1(ScalametaParser.scala:4555) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.objectDef(ScalametaParser.scala:4547) + at scala.meta.internal.parsers.ScalametaParser.tmplDef(ScalametaParser.scala:4431) + at scala.meta.internal.parsers.ScalametaParser.topLevelTmplDef(ScalametaParser.scala:4413) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4934) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4922) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.topStatSeq(ScalametaParser.scala:4921) + at scala.meta.internal.parsers.ScalametaParser.bracelessPackageStats$1(ScalametaParser.scala:5137) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$9(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$1(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.batchSource(ScalametaParser.scala:5111) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$source$1(ScalametaParser.scala:5094) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.source(ScalametaParser.scala:5093) + at scala.meta.internal.parsers.ScalametaParser.entrypointSource(ScalametaParser.scala:5099) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$parseSource$2(ScalametaParser.scala:143) + at scala.meta.internal.parsers.ScalametaParser.parseRule(ScalametaParser.scala:53) + at scala.meta.internal.parsers.ScalametaParser.parseSource(ScalametaParser.scala:143) + at scala.meta.parsers.Parse$.$anonfun$parseSource$1(Parse.scala:29) + at scala.meta.internal.parsers.ScalametaParser$$anon$261.apply(ScalametaParser.scala:5156) + at scala.meta.parsers.Api$XtensionParseDialectInput.parse(Api.scala:25) + at scala.meta.internal.semanticdb.scalac.ParseOps$XtensionCompilationUnitSource.toSource(ParseOps.scala:17) + at scala.meta.internal.semanticdb.scalac.TextDocumentOps$XtensionCompilationUnitDocument.toTextDocument(TextDocumentOps.scala:201) + at scala.meta.internal.pc.SemanticdbTextDocumentProvider.textDocument(SemanticdbTextDocumentProvider.scala:51) + +[0m2021.06.18 14:35:55 INFO time: code lens generation in 12s[0m +Jun 18, 2021 2:36:01 PM scala.meta.internal.pc.CompilerAccess handleError +SEVERE: file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:105: error: ) expected but . found + n2s3.runAndWait() + ^ +file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:105: error: ) expected but . found + n2s3.runAndWait() + ^ + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.ScalametaParser.syntaxErrorExpected(ScalametaParser.scala:897) + at scala.meta.internal.parsers.ScalametaParser.accept(ScalametaParser.scala:903) + at scala.meta.internal.parsers.ScalametaParser.inParens(ScalametaParser.scala:744) + at scala.meta.internal.parsers.ScalametaParser.argumentExprsWithUsing(ScalametaParser.scala:3060) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$4(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$1(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.simpleExprRest(ScalametaParser.scala:2975) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$5(ScalametaParser.scala:2921) + at scala.util.Success.$anonfun$map$1(Try.scala:255) + at scala.util.Success.map(Try.scala:213) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$1(ScalametaParser.scala:2921) + at scala.meta.internal.parsers.ScalametaParser.atPosTry(ScalametaParser.scala:871) + at scala.meta.internal.parsers.ScalametaParser.autoPosTry(ScalametaParser.scala:881) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr0(ScalametaParser.scala:2870) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr(ScalametaParser.scala:2868) + at scala.meta.internal.parsers.ScalametaParser.prefixExpr(ScalametaParser.scala:2852) + at scala.meta.internal.parsers.ScalametaParser.postfixExpr(ScalametaParser.scala:2832) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$12(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$2(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.expr(ScalametaParser.scala:2285) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4983) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4969) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.templateStats(ScalametaParser.scala:4985) + at scala.meta.internal.parsers.ScalametaParser.templateStatSeq(ScalametaParser.scala:4965) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateBody$1(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.inBraces(ScalametaParser.scala:759) + at scala.meta.internal.parsers.ScalametaParser.templateBody(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.templateBodyOpt(ScalametaParser.scala:4821) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4755) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$template$1(ScalametaParser.scala:4774) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4759) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateOpt$1(ScalametaParser.scala:4799) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.templateOpt(ScalametaParser.scala:4791) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$objectDef$1(ScalametaParser.scala:4555) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.objectDef(ScalametaParser.scala:4547) + at scala.meta.internal.parsers.ScalametaParser.tmplDef(ScalametaParser.scala:4431) + at scala.meta.internal.parsers.ScalametaParser.topLevelTmplDef(ScalametaParser.scala:4413) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4934) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4922) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.topStatSeq(ScalametaParser.scala:4921) + at scala.meta.internal.parsers.ScalametaParser.bracelessPackageStats$1(ScalametaParser.scala:5137) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$9(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$1(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.batchSource(ScalametaParser.scala:5111) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$source$1(ScalametaParser.scala:5094) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.source(ScalametaParser.scala:5093) + at scala.meta.internal.parsers.ScalametaParser.entrypointSource(ScalametaParser.scala:5099) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$parseSource$2(ScalametaParser.scala:143) + at scala.meta.internal.parsers.ScalametaParser.parseRule(ScalametaParser.scala:53) + at scala.meta.internal.parsers.ScalametaParser.parseSource(ScalametaParser.scala:143) + at scala.meta.parsers.Parse$.$anonfun$parseSource$1(Parse.scala:29) + at scala.meta.internal.parsers.ScalametaParser$$anon$261.apply(ScalametaParser.scala:5156) + at scala.meta.parsers.Api$XtensionParseDialectInput.parse(Api.scala:25) + at scala.meta.internal.semanticdb.scalac.ParseOps$XtensionCompilationUnitSource.toSource(ParseOps.scala:17) + at scala.meta.internal.semanticdb.scalac.TextDocumentOps$XtensionCompilationUnitDocument.toTextDocument(TextDocumentOps.scala:201) + at scala.meta.internal.pc.SemanticdbTextDocumentProvider.textDocument(SemanticdbTextDocumentProvider.scala:51) + +Jun 18, 2021 2:36:04 PM scala.meta.internal.pc.CompilerAccess handleError +SEVERE: file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:105: error: ) expected but . found + n2s3.runAndWait() + ^ +file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:105: error: ) expected but . found + n2s3.runAndWait() + ^ + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.ScalametaParser.syntaxErrorExpected(ScalametaParser.scala:897) + at scala.meta.internal.parsers.ScalametaParser.accept(ScalametaParser.scala:903) + at scala.meta.internal.parsers.ScalametaParser.inParens(ScalametaParser.scala:744) + at scala.meta.internal.parsers.ScalametaParser.argumentExprsWithUsing(ScalametaParser.scala:3060) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$4(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$1(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.simpleExprRest(ScalametaParser.scala:2975) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$5(ScalametaParser.scala:2921) + at scala.util.Success.$anonfun$map$1(Try.scala:255) + at scala.util.Success.map(Try.scala:213) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$1(ScalametaParser.scala:2921) + at scala.meta.internal.parsers.ScalametaParser.atPosTry(ScalametaParser.scala:871) + at scala.meta.internal.parsers.ScalametaParser.autoPosTry(ScalametaParser.scala:881) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr0(ScalametaParser.scala:2870) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr(ScalametaParser.scala:2868) + at scala.meta.internal.parsers.ScalametaParser.prefixExpr(ScalametaParser.scala:2852) + at scala.meta.internal.parsers.ScalametaParser.postfixExpr(ScalametaParser.scala:2832) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$12(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$2(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.expr(ScalametaParser.scala:2285) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4983) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4969) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.templateStats(ScalametaParser.scala:4985) + at scala.meta.internal.parsers.ScalametaParser.templateStatSeq(ScalametaParser.scala:4965) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateBody$1(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.inBraces(ScalametaParser.scala:759) + at scala.meta.internal.parsers.ScalametaParser.templateBody(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.templateBodyOpt(ScalametaParser.scala:4821) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4755) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$template$1(ScalametaParser.scala:4774) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4759) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateOpt$1(ScalametaParser.scala:4799) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.templateOpt(ScalametaParser.scala:4791) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$objectDef$1(ScalametaParser.scala:4555) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.objectDef(ScalametaParser.scala:4547) + at scala.meta.internal.parsers.ScalametaParser.tmplDef(ScalametaParser.scala:4431) + at scala.meta.internal.parsers.ScalametaParser.topLevelTmplDef(ScalametaParser.scala:4413) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4934) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4922) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.topStatSeq(ScalametaParser.scala:4921) + at scala.meta.internal.parsers.ScalametaParser.bracelessPackageStats$1(ScalametaParser.scala:5137) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$9(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$1(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.batchSource(ScalametaParser.scala:5111) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$source$1(ScalametaParser.scala:5094) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.source(ScalametaParser.scala:5093) + at scala.meta.internal.parsers.ScalametaParser.entrypointSource(ScalametaParser.scala:5099) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$parseSource$2(ScalametaParser.scala:143) + at scala.meta.internal.parsers.ScalametaParser.parseRule(ScalametaParser.scala:53) + at scala.meta.internal.parsers.ScalametaParser.parseSource(ScalametaParser.scala:143) + at scala.meta.parsers.Parse$.$anonfun$parseSource$1(Parse.scala:29) + at scala.meta.internal.parsers.ScalametaParser$$anon$261.apply(ScalametaParser.scala:5156) + at scala.meta.parsers.Api$XtensionParseDialectInput.parse(Api.scala:25) + at scala.meta.internal.semanticdb.scalac.ParseOps$XtensionCompilationUnitSource.toSource(ParseOps.scala:17) + at scala.meta.internal.semanticdb.scalac.TextDocumentOps$XtensionCompilationUnitDocument.toTextDocument(TextDocumentOps.scala:201) + at scala.meta.internal.pc.SemanticdbTextDocumentProvider.textDocument(SemanticdbTextDocumentProvider.scala:51) + +Jun 18, 2021 2:36:06 PM scala.meta.internal.pc.CompilerAccess handleError +SEVERE: file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:105: error: ) expected but . found + n2s3.runAndWait() + ^ +file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:105: error: ) expected but . found + n2s3.runAndWait() + ^ + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.ScalametaParser.syntaxErrorExpected(ScalametaParser.scala:897) + at scala.meta.internal.parsers.ScalametaParser.accept(ScalametaParser.scala:903) + at scala.meta.internal.parsers.ScalametaParser.inParens(ScalametaParser.scala:744) + at scala.meta.internal.parsers.ScalametaParser.argumentExprsWithUsing(ScalametaParser.scala:3060) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$4(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$1(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.simpleExprRest(ScalametaParser.scala:2975) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$5(ScalametaParser.scala:2921) + at scala.util.Success.$anonfun$map$1(Try.scala:255) + at scala.util.Success.map(Try.scala:213) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$1(ScalametaParser.scala:2921) + at scala.meta.internal.parsers.ScalametaParser.atPosTry(ScalametaParser.scala:871) + at scala.meta.internal.parsers.ScalametaParser.autoPosTry(ScalametaParser.scala:881) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr0(ScalametaParser.scala:2870) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr(ScalametaParser.scala:2868) + at scala.meta.internal.parsers.ScalametaParser.prefixExpr(ScalametaParser.scala:2852) + at scala.meta.internal.parsers.ScalametaParser.postfixExpr(ScalametaParser.scala:2832) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$12(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$2(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.expr(ScalametaParser.scala:2285) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4983) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4969) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.templateStats(ScalametaParser.scala:4985) + at scala.meta.internal.parsers.ScalametaParser.templateStatSeq(ScalametaParser.scala:4965) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateBody$1(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.inBraces(ScalametaParser.scala:759) + at scala.meta.internal.parsers.ScalametaParser.templateBody(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.templateBodyOpt(ScalametaParser.scala:4821) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4755) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$template$1(ScalametaParser.scala:4774) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4759) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateOpt$1(ScalametaParser.scala:4799) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.templateOpt(ScalametaParser.scala:4791) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$objectDef$1(ScalametaParser.scala:4555) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.objectDef(ScalametaParser.scala:4547) + at scala.meta.internal.parsers.ScalametaParser.tmplDef(ScalametaParser.scala:4431) + at scala.meta.internal.parsers.ScalametaParser.topLevelTmplDef(ScalametaParser.scala:4413) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4934) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4922) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.topStatSeq(ScalametaParser.scala:4921) + at scala.meta.internal.parsers.ScalametaParser.bracelessPackageStats$1(ScalametaParser.scala:5137) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$9(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$1(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.batchSource(ScalametaParser.scala:5111) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$source$1(ScalametaParser.scala:5094) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.source(ScalametaParser.scala:5093) + at scala.meta.internal.parsers.ScalametaParser.entrypointSource(ScalametaParser.scala:5099) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$parseSource$2(ScalametaParser.scala:143) + at scala.meta.internal.parsers.ScalametaParser.parseRule(ScalametaParser.scala:53) + at scala.meta.internal.parsers.ScalametaParser.parseSource(ScalametaParser.scala:143) + at scala.meta.parsers.Parse$.$anonfun$parseSource$1(Parse.scala:29) + at scala.meta.internal.parsers.ScalametaParser$$anon$261.apply(ScalametaParser.scala:5156) + at scala.meta.parsers.Api$XtensionParseDialectInput.parse(Api.scala:25) + at scala.meta.internal.semanticdb.scalac.ParseOps$XtensionCompilationUnitSource.toSource(ParseOps.scala:17) + at scala.meta.internal.semanticdb.scalac.TextDocumentOps$XtensionCompilationUnitDocument.toTextDocument(TextDocumentOps.scala:201) + at scala.meta.internal.pc.SemanticdbTextDocumentProvider.textDocument(SemanticdbTextDocumentProvider.scala:51) + +Jun 18, 2021 2:36:10 PM scala.meta.internal.pc.CompilerAccess handleError +SEVERE: file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:105: error: ) expected but . found + n2s3.runAndWait() + ^ +file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:105: error: ) expected but . found + n2s3.runAndWait() + ^ + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.ScalametaParser.syntaxErrorExpected(ScalametaParser.scala:897) + at scala.meta.internal.parsers.ScalametaParser.accept(ScalametaParser.scala:903) + at scala.meta.internal.parsers.ScalametaParser.inParens(ScalametaParser.scala:744) + at scala.meta.internal.parsers.ScalametaParser.argumentExprsWithUsing(ScalametaParser.scala:3060) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$4(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$1(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.simpleExprRest(ScalametaParser.scala:2975) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$5(ScalametaParser.scala:2921) + at scala.util.Success.$anonfun$map$1(Try.scala:255) + at scala.util.Success.map(Try.scala:213) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$1(ScalametaParser.scala:2921) + at scala.meta.internal.parsers.ScalametaParser.atPosTry(ScalametaParser.scala:871) + at scala.meta.internal.parsers.ScalametaParser.autoPosTry(ScalametaParser.scala:881) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr0(ScalametaParser.scala:2870) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr(ScalametaParser.scala:2868) + at scala.meta.internal.parsers.ScalametaParser.prefixExpr(ScalametaParser.scala:2852) + at scala.meta.internal.parsers.ScalametaParser.postfixExpr(ScalametaParser.scala:2832) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$12(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$2(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.expr(ScalametaParser.scala:2285) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4983) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4969) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.templateStats(ScalametaParser.scala:4985) + at scala.meta.internal.parsers.ScalametaParser.templateStatSeq(ScalametaParser.scala:4965) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateBody$1(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.inBraces(ScalametaParser.scala:759) + at scala.meta.internal.parsers.ScalametaParser.templateBody(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.templateBodyOpt(ScalametaParser.scala:4821) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4755) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$template$1(ScalametaParser.scala:4774) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4759) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateOpt$1(ScalametaParser.scala:4799) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.templateOpt(ScalametaParser.scala:4791) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$objectDef$1(ScalametaParser.scala:4555) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.objectDef(ScalametaParser.scala:4547) + at scala.meta.internal.parsers.ScalametaParser.tmplDef(ScalametaParser.scala:4431) + at scala.meta.internal.parsers.ScalametaParser.topLevelTmplDef(ScalametaParser.scala:4413) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4934) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4922) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.topStatSeq(ScalametaParser.scala:4921) + at scala.meta.internal.parsers.ScalametaParser.bracelessPackageStats$1(ScalametaParser.scala:5137) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$9(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$1(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.batchSource(ScalametaParser.scala:5111) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$source$1(ScalametaParser.scala:5094) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.source(ScalametaParser.scala:5093) + at scala.meta.internal.parsers.ScalametaParser.entrypointSource(ScalametaParser.scala:5099) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$parseSource$2(ScalametaParser.scala:143) + at scala.meta.internal.parsers.ScalametaParser.parseRule(ScalametaParser.scala:53) + at scala.meta.internal.parsers.ScalametaParser.parseSource(ScalametaParser.scala:143) + at scala.meta.parsers.Parse$.$anonfun$parseSource$1(Parse.scala:29) + at scala.meta.internal.parsers.ScalametaParser$$anon$261.apply(ScalametaParser.scala:5156) + at scala.meta.parsers.Api$XtensionParseDialectInput.parse(Api.scala:25) + at scala.meta.internal.semanticdb.scalac.ParseOps$XtensionCompilationUnitSource.toSource(ParseOps.scala:17) + at scala.meta.internal.semanticdb.scalac.TextDocumentOps$XtensionCompilationUnitDocument.toTextDocument(TextDocumentOps.scala:201) + at scala.meta.internal.pc.SemanticdbTextDocumentProvider.textDocument(SemanticdbTextDocumentProvider.scala:51) + +Jun 18, 2021 2:36:10 PM scala.meta.internal.pc.CompilerAccess handleError +SEVERE: file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:105: error: ) expected but . found + n2s3.runAndWait() + ^ +file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:105: error: ) expected but . found + n2s3.runAndWait() + ^ + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.ScalametaParser.syntaxErrorExpected(ScalametaParser.scala:897) + at scala.meta.internal.parsers.ScalametaParser.accept(ScalametaParser.scala:903) + at scala.meta.internal.parsers.ScalametaParser.inParens(ScalametaParser.scala:744) + at scala.meta.internal.parsers.ScalametaParser.argumentExprsWithUsing(ScalametaParser.scala:3060) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$4(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$1(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.simpleExprRest(ScalametaParser.scala:2975) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$5(ScalametaParser.scala:2921) + at scala.util.Success.$anonfun$map$1(Try.scala:255) + at scala.util.Success.map(Try.scala:213) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$1(ScalametaParser.scala:2921) + at scala.meta.internal.parsers.ScalametaParser.atPosTry(ScalametaParser.scala:871) + at scala.meta.internal.parsers.ScalametaParser.autoPosTry(ScalametaParser.scala:881) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr0(ScalametaParser.scala:2870) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr(ScalametaParser.scala:2868) + at scala.meta.internal.parsers.ScalametaParser.prefixExpr(ScalametaParser.scala:2852) + at scala.meta.internal.parsers.ScalametaParser.postfixExpr(ScalametaParser.scala:2832) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$12(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$2(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.expr(ScalametaParser.scala:2285) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4983) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4969) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.templateStats(ScalametaParser.scala:4985) + at scala.meta.internal.parsers.ScalametaParser.templateStatSeq(ScalametaParser.scala:4965) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateBody$1(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.inBraces(ScalametaParser.scala:759) + at scala.meta.internal.parsers.ScalametaParser.templateBody(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.templateBodyOpt(ScalametaParser.scala:4821) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4755) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$template$1(ScalametaParser.scala:4774) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4759) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateOpt$1(ScalametaParser.scala:4799) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.templateOpt(ScalametaParser.scala:4791) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$objectDef$1(ScalametaParser.scala:4555) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.objectDef(ScalametaParser.scala:4547) + at scala.meta.internal.parsers.ScalametaParser.tmplDef(ScalametaParser.scala:4431) + at scala.meta.internal.parsers.ScalametaParser.topLevelTmplDef(ScalametaParser.scala:4413) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4934) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4922) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.topStatSeq(ScalametaParser.scala:4921) + at scala.meta.internal.parsers.ScalametaParser.bracelessPackageStats$1(ScalametaParser.scala:5137) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$9(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$1(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.batchSource(ScalametaParser.scala:5111) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$source$1(ScalametaParser.scala:5094) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.source(ScalametaParser.scala:5093) + at scala.meta.internal.parsers.ScalametaParser.entrypointSource(ScalametaParser.scala:5099) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$parseSource$2(ScalametaParser.scala:143) + at scala.meta.internal.parsers.ScalametaParser.parseRule(ScalametaParser.scala:53) + at scala.meta.internal.parsers.ScalametaParser.parseSource(ScalametaParser.scala:143) + at scala.meta.parsers.Parse$.$anonfun$parseSource$1(Parse.scala:29) + at scala.meta.internal.parsers.ScalametaParser$$anon$261.apply(ScalametaParser.scala:5156) + at scala.meta.parsers.Api$XtensionParseDialectInput.parse(Api.scala:25) + at scala.meta.internal.semanticdb.scalac.ParseOps$XtensionCompilationUnitSource.toSource(ParseOps.scala:17) + at scala.meta.internal.semanticdb.scalac.TextDocumentOps$XtensionCompilationUnitDocument.toTextDocument(TextDocumentOps.scala:201) + at scala.meta.internal.pc.SemanticdbTextDocumentProvider.textDocument(SemanticdbTextDocumentProvider.scala:51) + +Jun 18, 2021 2:36:11 PM scala.meta.internal.pc.CompilerAccess handleError +SEVERE: file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:105: error: ) expected but . found + n2s3.runAndWait() + ^ +file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:105: error: ) expected but . found + n2s3.runAndWait() + ^ + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.ScalametaParser.syntaxErrorExpected(ScalametaParser.scala:897) + at scala.meta.internal.parsers.ScalametaParser.accept(ScalametaParser.scala:903) + at scala.meta.internal.parsers.ScalametaParser.inParens(ScalametaParser.scala:744) + at scala.meta.internal.parsers.ScalametaParser.argumentExprsWithUsing(ScalametaParser.scala:3060) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$4(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$1(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.simpleExprRest(ScalametaParser.scala:2975) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$5(ScalametaParser.scala:2921) + at scala.util.Success.$anonfun$map$1(Try.scala:255) + at scala.util.Success.map(Try.scala:213) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$1(ScalametaParser.scala:2921) + at scala.meta.internal.parsers.ScalametaParser.atPosTry(ScalametaParser.scala:871) + at scala.meta.internal.parsers.ScalametaParser.autoPosTry(ScalametaParser.scala:881) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr0(ScalametaParser.scala:2870) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr(ScalametaParser.scala:2868) + at scala.meta.internal.parsers.ScalametaParser.prefixExpr(ScalametaParser.scala:2852) + at scala.meta.internal.parsers.ScalametaParser.postfixExpr(ScalametaParser.scala:2832) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$12(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$2(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.expr(ScalametaParser.scala:2285) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4983) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4969) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.templateStats(ScalametaParser.scala:4985) + at scala.meta.internal.parsers.ScalametaParser.templateStatSeq(ScalametaParser.scala:4965) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateBody$1(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.inBraces(ScalametaParser.scala:759) + at scala.meta.internal.parsers.ScalametaParser.templateBody(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.templateBodyOpt(ScalametaParser.scala:4821) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4755) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$template$1(ScalametaParser.scala:4774) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4759) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateOpt$1(ScalametaParser.scala:4799) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.templateOpt(ScalametaParser.scala:4791) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$objectDef$1(ScalametaParser.scala:4555) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.objectDef(ScalametaParser.scala:4547) + at scala.meta.internal.parsers.ScalametaParser.tmplDef(ScalametaParser.scala:4431) + at scala.meta.internal.parsers.ScalametaParser.topLevelTmplDef(ScalametaParser.scala:4413) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4934) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4922) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.topStatSeq(ScalametaParser.scala:4921) + at scala.meta.internal.parsers.ScalametaParser.bracelessPackageStats$1(ScalametaParser.scala:5137) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$9(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$1(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.batchSource(ScalametaParser.scala:5111) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$source$1(ScalametaParser.scala:5094) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.source(ScalametaParser.scala:5093) + at scala.meta.internal.parsers.ScalametaParser.entrypointSource(ScalametaParser.scala:5099) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$parseSource$2(ScalametaParser.scala:143) + at scala.meta.internal.parsers.ScalametaParser.parseRule(ScalametaParser.scala:53) + at scala.meta.internal.parsers.ScalametaParser.parseSource(ScalametaParser.scala:143) + at scala.meta.parsers.Parse$.$anonfun$parseSource$1(Parse.scala:29) + at scala.meta.internal.parsers.ScalametaParser$$anon$261.apply(ScalametaParser.scala:5156) + at scala.meta.parsers.Api$XtensionParseDialectInput.parse(Api.scala:25) + at scala.meta.internal.semanticdb.scalac.ParseOps$XtensionCompilationUnitSource.toSource(ParseOps.scala:17) + at scala.meta.internal.semanticdb.scalac.TextDocumentOps$XtensionCompilationUnitDocument.toTextDocument(TextDocumentOps.scala:201) + at scala.meta.internal.pc.SemanticdbTextDocumentProvider.textDocument(SemanticdbTextDocumentProvider.scala:51) + +Jun 18, 2021 2:36:13 PM scala.meta.internal.pc.CompilerAccess handleError +SEVERE: file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:105: error: ) expected but . found + n2s3.runAndWait() + ^ +file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:105: error: ) expected but . found + n2s3.runAndWait() + ^ + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.ScalametaParser.syntaxErrorExpected(ScalametaParser.scala:897) + at scala.meta.internal.parsers.ScalametaParser.accept(ScalametaParser.scala:903) + at scala.meta.internal.parsers.ScalametaParser.inParens(ScalametaParser.scala:744) + at scala.meta.internal.parsers.ScalametaParser.argumentExprsWithUsing(ScalametaParser.scala:3060) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$4(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$1(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.simpleExprRest(ScalametaParser.scala:2975) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$5(ScalametaParser.scala:2921) + at scala.util.Success.$anonfun$map$1(Try.scala:255) + at scala.util.Success.map(Try.scala:213) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$1(ScalametaParser.scala:2921) + at scala.meta.internal.parsers.ScalametaParser.atPosTry(ScalametaParser.scala:871) + at scala.meta.internal.parsers.ScalametaParser.autoPosTry(ScalametaParser.scala:881) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr0(ScalametaParser.scala:2870) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr(ScalametaParser.scala:2868) + at scala.meta.internal.parsers.ScalametaParser.prefixExpr(ScalametaParser.scala:2852) + at scala.meta.internal.parsers.ScalametaParser.postfixExpr(ScalametaParser.scala:2832) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$12(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$2(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.expr(ScalametaParser.scala:2285) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4983) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4969) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.templateStats(ScalametaParser.scala:4985) + at scala.meta.internal.parsers.ScalametaParser.templateStatSeq(ScalametaParser.scala:4965) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateBody$1(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.inBraces(ScalametaParser.scala:759) + at scala.meta.internal.parsers.ScalametaParser.templateBody(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.templateBodyOpt(ScalametaParser.scala:4821) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4755) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$template$1(ScalametaParser.scala:4774) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4759) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateOpt$1(ScalametaParser.scala:4799) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.templateOpt(ScalametaParser.scala:4791) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$objectDef$1(ScalametaParser.scala:4555) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.objectDef(ScalametaParser.scala:4547) + at scala.meta.internal.parsers.ScalametaParser.tmplDef(ScalametaParser.scala:4431) + at scala.meta.internal.parsers.ScalametaParser.topLevelTmplDef(ScalametaParser.scala:4413) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4934) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4922) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.topStatSeq(ScalametaParser.scala:4921) + at scala.meta.internal.parsers.ScalametaParser.bracelessPackageStats$1(ScalametaParser.scala:5137) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$9(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$1(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.batchSource(ScalametaParser.scala:5111) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$source$1(ScalametaParser.scala:5094) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.source(ScalametaParser.scala:5093) + at scala.meta.internal.parsers.ScalametaParser.entrypointSource(ScalametaParser.scala:5099) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$parseSource$2(ScalametaParser.scala:143) + at scala.meta.internal.parsers.ScalametaParser.parseRule(ScalametaParser.scala:53) + at scala.meta.internal.parsers.ScalametaParser.parseSource(ScalametaParser.scala:143) + at scala.meta.parsers.Parse$.$anonfun$parseSource$1(Parse.scala:29) + at scala.meta.internal.parsers.ScalametaParser$$anon$261.apply(ScalametaParser.scala:5156) + at scala.meta.parsers.Api$XtensionParseDialectInput.parse(Api.scala:25) + at scala.meta.internal.semanticdb.scalac.ParseOps$XtensionCompilationUnitSource.toSource(ParseOps.scala:17) + at scala.meta.internal.semanticdb.scalac.TextDocumentOps$XtensionCompilationUnitDocument.toTextDocument(TextDocumentOps.scala:201) + at scala.meta.internal.pc.SemanticdbTextDocumentProvider.textDocument(SemanticdbTextDocumentProvider.scala:51) + +[0m2021.06.18 14:36:13 WARN no build target for: /home/hammouda/n2s3/n2s3_examples/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/apps/ExampleFreeWayLogged.scala[0m +Jun 18, 2021 2:36:13 PM scala.meta.internal.pc.CompilerAccess handleError +SEVERE: file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:136: error: ) expected but . found + n2s3.runAndWait() + ^ +file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:136: error: ) expected but . found + n2s3.runAndWait() + ^ + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.ScalametaParser.syntaxErrorExpected(ScalametaParser.scala:897) + at scala.meta.internal.parsers.ScalametaParser.accept(ScalametaParser.scala:903) + at scala.meta.internal.parsers.ScalametaParser.inParens(ScalametaParser.scala:744) + at scala.meta.internal.parsers.ScalametaParser.argumentExprsWithUsing(ScalametaParser.scala:3060) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$4(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$1(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.simpleExprRest(ScalametaParser.scala:2975) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$5(ScalametaParser.scala:2921) + at scala.util.Success.$anonfun$map$1(Try.scala:255) + at scala.util.Success.map(Try.scala:213) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$1(ScalametaParser.scala:2921) + at scala.meta.internal.parsers.ScalametaParser.atPosTry(ScalametaParser.scala:871) + at scala.meta.internal.parsers.ScalametaParser.autoPosTry(ScalametaParser.scala:881) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr0(ScalametaParser.scala:2870) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr(ScalametaParser.scala:2868) + at scala.meta.internal.parsers.ScalametaParser.prefixExpr(ScalametaParser.scala:2852) + at scala.meta.internal.parsers.ScalametaParser.postfixExpr(ScalametaParser.scala:2832) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$12(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$2(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.expr(ScalametaParser.scala:2285) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4983) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4969) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.templateStats(ScalametaParser.scala:4985) + at scala.meta.internal.parsers.ScalametaParser.templateStatSeq(ScalametaParser.scala:4965) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateBody$1(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.inBraces(ScalametaParser.scala:759) + at scala.meta.internal.parsers.ScalametaParser.templateBody(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.templateBodyOpt(ScalametaParser.scala:4821) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4755) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$template$1(ScalametaParser.scala:4774) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4759) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateOpt$1(ScalametaParser.scala:4799) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.templateOpt(ScalametaParser.scala:4791) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$objectDef$1(ScalametaParser.scala:4555) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.objectDef(ScalametaParser.scala:4547) + at scala.meta.internal.parsers.ScalametaParser.tmplDef(ScalametaParser.scala:4431) + at scala.meta.internal.parsers.ScalametaParser.topLevelTmplDef(ScalametaParser.scala:4413) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4934) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4922) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.topStatSeq(ScalametaParser.scala:4921) + at scala.meta.internal.parsers.ScalametaParser.bracelessPackageStats$1(ScalametaParser.scala:5137) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$9(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$1(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.batchSource(ScalametaParser.scala:5111) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$source$1(ScalametaParser.scala:5094) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.source(ScalametaParser.scala:5093) + at scala.meta.internal.parsers.ScalametaParser.entrypointSource(ScalametaParser.scala:5099) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$parseSource$2(ScalametaParser.scala:143) + at scala.meta.internal.parsers.ScalametaParser.parseRule(ScalametaParser.scala:53) + at scala.meta.internal.parsers.ScalametaParser.parseSource(ScalametaParser.scala:143) + at scala.meta.parsers.Parse$.$anonfun$parseSource$1(Parse.scala:29) + at scala.meta.internal.parsers.ScalametaParser$$anon$261.apply(ScalametaParser.scala:5156) + at scala.meta.parsers.Api$XtensionParseDialectInput.parse(Api.scala:25) + at scala.meta.internal.semanticdb.scalac.ParseOps$XtensionCompilationUnitSource.toSource(ParseOps.scala:17) + at scala.meta.internal.semanticdb.scalac.TextDocumentOps$XtensionCompilationUnitDocument.toTextDocument(TextDocumentOps.scala:201) + at scala.meta.internal.pc.SemanticdbTextDocumentProvider.textDocument(SemanticdbTextDocumentProvider.scala:51) + +Jun 18, 2021 2:36:15 PM scala.meta.internal.pc.CompilerAccess handleError +SEVERE: file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:136: error: ) expected but . found + n2s3.runAndWait() + ^ +file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:136: error: ) expected but . found + n2s3.runAndWait() + ^ + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.ScalametaParser.syntaxErrorExpected(ScalametaParser.scala:897) + at scala.meta.internal.parsers.ScalametaParser.accept(ScalametaParser.scala:903) + at scala.meta.internal.parsers.ScalametaParser.inParens(ScalametaParser.scala:744) + at scala.meta.internal.parsers.ScalametaParser.argumentExprsWithUsing(ScalametaParser.scala:3060) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$4(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$1(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.simpleExprRest(ScalametaParser.scala:2975) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$5(ScalametaParser.scala:2921) + at scala.util.Success.$anonfun$map$1(Try.scala:255) + at scala.util.Success.map(Try.scala:213) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$1(ScalametaParser.scala:2921) + at scala.meta.internal.parsers.ScalametaParser.atPosTry(ScalametaParser.scala:871) + at scala.meta.internal.parsers.ScalametaParser.autoPosTry(ScalametaParser.scala:881) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr0(ScalametaParser.scala:2870) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr(ScalametaParser.scala:2868) + at scala.meta.internal.parsers.ScalametaParser.prefixExpr(ScalametaParser.scala:2852) + at scala.meta.internal.parsers.ScalametaParser.postfixExpr(ScalametaParser.scala:2832) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$12(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$2(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.expr(ScalametaParser.scala:2285) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4983) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4969) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.templateStats(ScalametaParser.scala:4985) + at scala.meta.internal.parsers.ScalametaParser.templateStatSeq(ScalametaParser.scala:4965) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateBody$1(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.inBraces(ScalametaParser.scala:759) + at scala.meta.internal.parsers.ScalametaParser.templateBody(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.templateBodyOpt(ScalametaParser.scala:4821) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4755) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$template$1(ScalametaParser.scala:4774) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4759) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateOpt$1(ScalametaParser.scala:4799) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.templateOpt(ScalametaParser.scala:4791) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$objectDef$1(ScalametaParser.scala:4555) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.objectDef(ScalametaParser.scala:4547) + at scala.meta.internal.parsers.ScalametaParser.tmplDef(ScalametaParser.scala:4431) + at scala.meta.internal.parsers.ScalametaParser.topLevelTmplDef(ScalametaParser.scala:4413) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4934) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4922) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.topStatSeq(ScalametaParser.scala:4921) + at scala.meta.internal.parsers.ScalametaParser.bracelessPackageStats$1(ScalametaParser.scala:5137) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$9(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$1(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.batchSource(ScalametaParser.scala:5111) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$source$1(ScalametaParser.scala:5094) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.source(ScalametaParser.scala:5093) + at scala.meta.internal.parsers.ScalametaParser.entrypointSource(ScalametaParser.scala:5099) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$parseSource$2(ScalametaParser.scala:143) + at scala.meta.internal.parsers.ScalametaParser.parseRule(ScalametaParser.scala:53) + at scala.meta.internal.parsers.ScalametaParser.parseSource(ScalametaParser.scala:143) + at scala.meta.parsers.Parse$.$anonfun$parseSource$1(Parse.scala:29) + at scala.meta.internal.parsers.ScalametaParser$$anon$261.apply(ScalametaParser.scala:5156) + at scala.meta.parsers.Api$XtensionParseDialectInput.parse(Api.scala:25) + at scala.meta.internal.semanticdb.scalac.ParseOps$XtensionCompilationUnitSource.toSource(ParseOps.scala:17) + at scala.meta.internal.semanticdb.scalac.TextDocumentOps$XtensionCompilationUnitDocument.toTextDocument(TextDocumentOps.scala:201) + at scala.meta.internal.pc.SemanticdbTextDocumentProvider.textDocument(SemanticdbTextDocumentProvider.scala:51) + +Jun 18, 2021 2:36:17 PM scala.meta.internal.pc.CompilerAccess handleError +SEVERE: file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:136: error: ) expected but . found + n2s3.runAndWait() + ^ +file%3A%2F%2F%2Fhome%2Fhammouda%2Fn2s3%2Fn2s3_examples%2Fsrc%2Fmain%2Fscala%2Ffr%2Funiv_lille%2Fcristal%2Femeraude%2Fn2s3%2Fapps%2FExampleFreeWayLogged.scala:136: error: ) expected but . found + n2s3.runAndWait() + ^ + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:16) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.Reporter.syntaxError(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter.syntaxError$(Reporter.scala:17) + at scala.meta.internal.parsers.Reporter$$anon$1.syntaxError(Reporter.scala:22) + at scala.meta.internal.parsers.ScalametaParser.syntaxErrorExpected(ScalametaParser.scala:897) + at scala.meta.internal.parsers.ScalametaParser.accept(ScalametaParser.scala:903) + at scala.meta.internal.parsers.ScalametaParser.inParens(ScalametaParser.scala:744) + at scala.meta.internal.parsers.ScalametaParser.argumentExprsWithUsing(ScalametaParser.scala:3060) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$4(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExprRest$1(ScalametaParser.scala:3009) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.simpleExprRest(ScalametaParser.scala:2975) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$5(ScalametaParser.scala:2921) + at scala.util.Success.$anonfun$map$1(Try.scala:255) + at scala.util.Success.map(Try.scala:213) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$simpleExpr0$1(ScalametaParser.scala:2921) + at scala.meta.internal.parsers.ScalametaParser.atPosTry(ScalametaParser.scala:871) + at scala.meta.internal.parsers.ScalametaParser.autoPosTry(ScalametaParser.scala:881) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr0(ScalametaParser.scala:2870) + at scala.meta.internal.parsers.ScalametaParser.simpleExpr(ScalametaParser.scala:2868) + at scala.meta.internal.parsers.ScalametaParser.prefixExpr(ScalametaParser.scala:2852) + at scala.meta.internal.parsers.ScalametaParser.postfixExpr(ScalametaParser.scala:2832) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$12(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$expr$2(ScalametaParser.scala:2402) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.expr(ScalametaParser.scala:2285) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4983) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$templateStat$1$1.applyOrElse(ScalametaParser.scala:4969) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.templateStats(ScalametaParser.scala:4985) + at scala.meta.internal.parsers.ScalametaParser.templateStatSeq(ScalametaParser.scala:4965) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateBody$1(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.inBraces(ScalametaParser.scala:759) + at scala.meta.internal.parsers.ScalametaParser.templateBody(ScalametaParser.scala:4813) + at scala.meta.internal.parsers.ScalametaParser.templateBodyOpt(ScalametaParser.scala:4821) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4755) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$template$1(ScalametaParser.scala:4774) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.template(ScalametaParser.scala:4759) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$templateOpt$1(ScalametaParser.scala:4799) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.templateOpt(ScalametaParser.scala:4791) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$objectDef$1(ScalametaParser.scala:4555) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.objectDef(ScalametaParser.scala:4547) + at scala.meta.internal.parsers.ScalametaParser.tmplDef(ScalametaParser.scala:4431) + at scala.meta.internal.parsers.ScalametaParser.topLevelTmplDef(ScalametaParser.scala:4413) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4934) + at scala.meta.internal.parsers.ScalametaParser$$anonfun$topStat$1.applyOrElse(ScalametaParser.scala:4922) + at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) + at scala.meta.internal.parsers.ScalametaParser.statSeq(ScalametaParser.scala:4912) + at scala.meta.internal.parsers.ScalametaParser.topStatSeq(ScalametaParser.scala:4921) + at scala.meta.internal.parsers.ScalametaParser.bracelessPackageStats$1(ScalametaParser.scala:5137) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$9(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$batchSource$1(ScalametaParser.scala:5143) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.batchSource(ScalametaParser.scala:5111) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$source$1(ScalametaParser.scala:5094) + at scala.meta.internal.parsers.ScalametaParser.atPos(ScalametaParser.scala:847) + at scala.meta.internal.parsers.ScalametaParser.autoPos(ScalametaParser.scala:878) + at scala.meta.internal.parsers.ScalametaParser.source(ScalametaParser.scala:5093) + at scala.meta.internal.parsers.ScalametaParser.entrypointSource(ScalametaParser.scala:5099) + at scala.meta.internal.parsers.ScalametaParser.$anonfun$parseSource$2(ScalametaParser.scala:143) + at scala.meta.internal.parsers.ScalametaParser.parseRule(ScalametaParser.scala:53) + at scala.meta.internal.parsers.ScalametaParser.parseSource(ScalametaParser.scala:143) + at scala.meta.parsers.Parse$.$anonfun$parseSource$1(Parse.scala:29) + at scala.meta.internal.parsers.ScalametaParser$$anon$261.apply(ScalametaParser.scala:5156) + at scala.meta.parsers.Api$XtensionParseDialectInput.parse(Api.scala:25) + at scala.meta.internal.semanticdb.scalac.ParseOps$XtensionCompilationUnitSource.toSource(ParseOps.scala:17) + at scala.meta.internal.semanticdb.scalac.TextDocumentOps$XtensionCompilationUnitDocument.toTextDocument(TextDocumentOps.scala:201) + at scala.meta.internal.pc.SemanticdbTextDocumentProvider.textDocument(SemanticdbTextDocumentProvider.scala:51) + +[0m2021.06.18 14:36:17 WARN no build target for: /home/hammouda/n2s3/n2s3_examples/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/apps/ExampleFreeWayLogged.scala[0m +[0m2021.06.18 14:47:18 INFO shutting down Metals[0m diff --git a/VS2N.py b/VS2N.py index eebab82c9fe6812eaf29e480a86e47643f9d1e25..9a63eae6e93288d0df661b65858dc0677cfc6295 100644 --- a/VS2N.py +++ b/VS2N.py @@ -31,7 +31,7 @@ mongo_exists = False app_vis = None users = dict() g = Global_Var() - +__name__ = "__main__" url = g.config.VS2N_HOST port = g.config.VS2N_PORT @@ -245,7 +245,7 @@ def Module(n, g): n (String): module name g (Global_Var): reference to access global variables """ - importlib.import_module("src.Modules." + n + ".spark").process(g) + importlib.import_module("src.Modules." + n + ".spark").init(g) def LoadingModules(): @@ -280,13 +280,13 @@ def processing(): continue # Loading Modules to Dashboard - layout().Vis(app_vis, g) + layout().load(app_vis, g) return "done" # Create dash app instance ------------------------------------------- app_vis = dash.Dash( - '__name__', + __name__, requests_pathname_prefix='/vis/', external_stylesheets=[dbc.themes.BOOTSTRAP], suppress_callback_exceptions=True, diff --git a/src/Modules/General/callbacks.py b/src/Modules/General/callbacks.py index bf16154de4c2c312c0b77572ef99cdf74e047b66..0cb5e635c0d6e3f32b663c56b1a0571af868f6f1 100644 --- a/src/Modules/General/callbacks.py +++ b/src/Modules/General/callbacks.py @@ -12,13 +12,13 @@ import plotly.graph_objects as go from dash.exceptions import PreventUpdate from plotly.subplots import make_subplots from dash.dependencies import Input, Output, State, MATCH +from src.templates.callbacksOp import callbacksOp - -class callbacks(): +class callbacks(callbacksOp): """ Callbacks class """ - def init(self, super, app, g): + def __init__(self, super, app, g): """ Initialize the callback . Args: diff --git a/src/Modules/General/layout.py b/src/Modules/General/layout.py index c86af49874439ce1ccaa1b0446231fd791cf5b9e..6ded01e7fb95e94ecf98a7185912c8aaad1f49f3 100644 --- a/src/Modules/General/layout.py +++ b/src/Modules/General/layout.py @@ -9,9 +9,9 @@ from .callbacks import callbacks import dash_core_components as dcc import dash_html_components as html import dash_bootstrap_components as dbc +from src.templates.layoutOp import layoutOp - -class layout(): +class layout(layoutOp): """ Layout class """ # InfoGraph Axis ------------------------------------------------- @@ -78,7 +78,7 @@ class layout(): self.Nodes = [] self.Edges = [] - def Vis(self, app, g): + def Vis(self): """ Create layer components Args: @@ -92,16 +92,16 @@ class layout(): # Table of network information ------------------------------- tablecontent = [ - html.Tr([html.Td("Neurons", style={"width": "25%", "fontWeight": "500"}), html.Td(g.NeuronsNbr, style={"width": "25%"}), html.Td( - "Layers", style={"width": "25%", "fontWeight": "500"}), html.Td(g.LayersNbr, style={"width": "25%"})]), - html.Tr([html.Td("Input", style={"width": "25%", "fontWeight": "500"}), html.Td(g.Input, style={"width": "25%"}), html.Td( - "Dataset", style={"width": "25%", "fontWeight": "500"}), html.Td(g.Dataset, style={"width": "25%"})]), - html.Tr([html.Td("Simulation Date", style={"width": "25%", "fontWeight": "500"}), html.Td(g.Date, style={"width": "25%"}), html.Td( - "Accuracy", style={"width": "25%", "fontWeight": "500"}), html.Td(str(g.Accuracy)+" %", style={"width": "25%"})]) + html.Tr([html.Td("Neurons", style={"width": "25%", "fontWeight": "500"}), html.Td(self.g.NeuronsNbr, style={"width": "25%"}), html.Td( + "Layers", style={"width": "25%", "fontWeight": "500"}), html.Td(self.g.LayersNbr, style={"width": "25%"})]), + html.Tr([html.Td("Input", style={"width": "25%", "fontWeight": "500"}), html.Td(self.g.Input, style={"width": "25%"}), html.Td( + "Dataset", style={"width": "25%", "fontWeight": "500"}), html.Td(self.g.Dataset, style={"width": "25%"})]), + html.Tr([html.Td("Simulation Date", style={"width": "25%", "fontWeight": "500"}), html.Td(self.g.Date, style={"width": "25%"}), html.Td( + "Accuracy", style={"width": "25%", "fontWeight": "500"}), html.Td(str(self.g.Accuracy)+" %", style={"width": "25%"})]) ] # Generate 2D View ------------------------------------------- - self.generate2DView(self.Nodes, self.Edges, g) + self.generate2DView(self.Nodes, self.Edges, self.g) # Tabs content ----------------------------------------------- info_vis = dbc.Card( @@ -143,14 +143,14 @@ class layout(): dcc.Dropdown( id='GeneralLayerFilter', options=[{'label': str(i), 'value': str(i)} for i in ( - i for i in g.Layer_Neuron if i != "Input")], + i for i in self.g.Layer_Neuron if i != "Input")], value=[str(i) for i in ( - i for i in g.Layer_Neuron if i != "Input")], + i for i in self.g.Layer_Neuron if i != "Input")], multi=True, style={"minWidth": "20%", "marginLeft": "15px", "textAlign": "start"})], className="row", style={"paddingLeft": "20px", 'width': '100%'}) ], className="col-12") ], className="row"), - html.Div([dcc.Graph(id='general-graph', animate=False, config={"displaylogo": False})])], className="col-lg-9 col-sm-12 col-xs-12" if(g.labelsExistance) else "col-lg-12 col-sm-12 col-xs-12"), + html.Div([dcc.Graph(id='general-graph', animate=False, config={"displaylogo": False})])], className="col-lg-9 col-sm-12 col-xs-12" if(self.g.labelsExistance) else "col-lg-12 col-sm-12 col-xs-12"), html.Div([ html.Div([ html.P("Inputs", style={ @@ -162,7 +162,7 @@ class layout(): color="#28a745", style={"marginLeft": "10px"} )], className="row"), - dcc.Graph(id='label-graph', animate=False, config={"displaylogo": False})], className="col-lg-3 col-sm-12 col-xs-12") if(g.labelsExistance) else []], className="row") + dcc.Graph(id='label-graph', animate=False, config={"displaylogo": False})], className="col-lg-3 col-sm-12 col-xs-12") if(self.g.labelsExistance) else []], className="row") ], style={"padding": "5px"})), label="General information", value="General information"), dcc.Tab(dbc.Card( dbc.CardBody([ @@ -203,15 +203,15 @@ class layout(): tabs = [dcc.Tab(info_vis, label="General")] # Add active modules - for m in [i for i in g.modules if i != "General"]: + for m in [i for i in self.g.modules if i != "General"]: try: tabs.append(dcc.Tab(importlib.import_module( - ".Modules."+m+".layout", package="src").layout().Vis(app, g), label=m)) + ".Modules."+m+".layout", package="src").layout().load(self.app, self.g), label=m)) except Exception as e: print("Tabs appending:"+str(e)) # App layout - app.layout = html.Div([ + self.app.layout = html.Div([ html.Nav(className="navbar sticky-top navbar-dark", children=[ dbc.Row([ html.Div([html.A("VS2N", className="navbar-brand", href="#")], className="col-12", style={ @@ -245,7 +245,7 @@ class layout(): html.Span("Update Interval (s)", className="input-group-text") ], className="input-group-prepend"), - dbc.Input(type="number", id="interval", value=g.updateInterval, min=0.005, + dbc.Input(type="number", id="interval", value=self.g.updateInterval, min=0.005, max=180, step=0.005, style={"width": "30%", "textAlign": "center"}) ], className="input-group col-md-4 col-sm-4 col-lg-4", style={"height": "38px", "paddingTop": "12px"}) ], className="d-flex justify-content-center"), dbc.Col( @@ -254,7 +254,7 @@ class layout(): dcc.Slider( id='vis-slider', min=0, - max=g.stepMax, + max=self.g.stepMax, step=1, value=0, )], style={"textAlign": "start", "padding": "5px"})], @@ -265,4 +265,4 @@ class layout(): ), html.Div(id='v-step', children="0", style={'display': 'none'}), html.Div(id='clear', children="False", style={'display': 'none'})]) # load callbacks - callbacks().init(self, app, g) + callbacks(self,self.app, self.g) diff --git a/src/Modules/General/spark.py b/src/Modules/General/spark.py index 04a6dc6f4126115ed17a30d677947b6cef8876f3..a2726b667cbd559ebde600eeec262efb54e4603b 100644 --- a/src/Modules/General/spark.py +++ b/src/Modules/General/spark.py @@ -5,91 +5,87 @@ from bson.json_util import dumps from bson.json_util import loads import traceback import pymongo +from src.templates.sparkOp import sparkOp +def init(g): + spark(g) + +class spark(sparkOp): + def __init__(self, g): + module = "General" + document = "" + output_document = "" + super().__init__(g, module, document, output_document) -def process(g): - """ Start processing and reduce module count . + # Spark operations and pre-processing -------------------------------- - Args: - g (Global_Var): reference to access global variables - """ - preProcessing(g) - g.modulesNbr = g.modulesNbr - 1 - -# Spark operations and pre-processing -------------------------------- + def preProcessing(self): + """ Apache Spark pre-processing. + """ + try: + # initial variables + self.g.LayersNeuronsInfo = [] + self.g.NeuronsNbr = 0 + self.g.LayersNbr = 0 + # get info collection + col = pymongo.collection.Collection(self.g.db, 'info').find() + data = next(col, None) + # get dataset name + self.g.Dataset = data["D"] + # get network layers and neurons + LN = data["L:N"] + LN = loads(dumps(LN)) + self.g.Layer_Neuron = LN + for l in LN: + if(l == "Input"): + self.g.Input = LN[l] + else: + self.g.LayersNeuronsInfo.append( + {"layer": l, "neuronNbr": int(LN[l])}) + self.g.NeuronsNbr += int(LN[l]) + self.g.LayersNbr += 1 + # get date & time of the simulation + self.g.Date = data["T"] + # calculate simulation time + try: + M = 0 + if ('spikes' in self.g.db.list_collection_names()): + M = max(M, pymongo.collection.Collection( + self.g.db, 'spikes').find_one(sort=[("T", -1)])["T"]) + if ('potential' in self.g.db.list_collection_names()): + M = max(M, pymongo.collection.Collection( + self.g.db, 'potential').find_one(sort=[("T", -1)])["T"]) + if ('synapseWeight' in self.g.db.list_collection_names()): + M = max(M, pymongo.collection.Collection( + self.g.db, 'synapseWeight').find_one(sort=[("T", -1)])["T"]) + if ('labels' in self.g.db.list_collection_names()): + self.g.labelsExistance = True + M = max(M, pymongo.collection.Collection( + self.g.db, 'labels').find_one(sort=[("T", -1)])["T"]) + else: + print("No labels") + except Exception as e: + print("MongoError:" + str(e)) + pass + self.g.Max = M + self.g.stepMax = int(M/self.g.updateInterval)+1 + # get accuracy and neurons labels (if exist) + try: + data = next(col, None) + self.g.Accuracy = data["MaxS"] + self.g.finalLabels = data["NLabel"] -def preProcessing(g): - """ Apache Spark pre-processing. + except Exception as e: + self.g.Accuracy = "--" + print("No label or accuracy recorded") + self.g.finalLabels = None + pass - Args: - g (Global_Var): reference to access global variables - """ - MODULE_NAME = "General" - try: - # initial variables - g.LayersNeuronsInfo = [] - g.NeuronsNbr = 0 - g.LayersNbr = 0 - # get info collection - col = pymongo.collection.Collection(g.db, 'info').find() - data = next(col, None) - # get dataset name - g.Dataset = data["D"] - # get network layers and neurons - LN = data["L:N"] - LN = loads(dumps(LN)) - g.Layer_Neuron = LN - for l in LN: - if(l == "Input"): - g.Input = LN[l] - else: - g.LayersNeuronsInfo.append( - {"layer": l, "neuronNbr": int(LN[l])}) - g.NeuronsNbr += int(LN[l]) - g.LayersNbr += 1 - # get date & time of the simulation - g.Date = data["T"] - # calculate simulation time - try: - M = 0 - if ('spikes' in g.db.list_collection_names()): - M = max(M, pymongo.collection.Collection( - g.db, 'spikes').find_one(sort=[("T", -1)])["T"]) - if ('potential' in g.db.list_collection_names()): - M = max(M, pymongo.collection.Collection( - g.db, 'potential').find_one(sort=[("T", -1)])["T"]) - if ('synapseWeight' in g.db.list_collection_names()): - M = max(M, pymongo.collection.Collection( - g.db, 'synapseWeight').find_one(sort=[("T", -1)])["T"]) - if ('labels' in g.db.list_collection_names()): - g.labelsExistance = True - M = max(M, pymongo.collection.Collection( - g.db, 'labels').find_one(sort=[("T", -1)])["T"]) - else: - print("No labels") + # ------------------------------------------------------------ + print("done ", self.MODULE_NAME) except Exception as e: - print("MongoError:" + str(e)) + print("Error:" + str(e)) + traceback.print_exc() pass - g.Max = M - g.stepMax = int(M/g.updateInterval)+1 - # get accuracy and neurons labels (if exist) - try: - data = next(col, None) - g.Accuracy = data["MaxS"] - g.finalLabels = data["NLabel"] - - except Exception as e: - g.Accuracy = "--" - print("No label or accuracy recorded") - g.finalLabels = None - pass - - # ------------------------------------------------------------ - print("done ", MODULE_NAME) - - except Exception as e: - print("Error:" + str(e)) - traceback.print_exc() - pass diff --git a/src/Modules/MultiLayer/callbacks.py b/src/Modules/MultiLayer/callbacks.py index 4bca02c47f85222cc66dc1bdce408be7ffd3cadd..2ad459c13a506cab4837eb4c62466d03aab15ab4 100644 --- a/src/Modules/MultiLayer/callbacks.py +++ b/src/Modules/MultiLayer/callbacks.py @@ -13,12 +13,13 @@ import dash_html_components as html from bson.json_util import dumps, loads from dash.exceptions import PreventUpdate from dash.dependencies import ALL, MATCH, Input, Output, State +from src.templates.callbacksOp import callbacksOp -class callbacks(): +class callbacks(callbacksOp): """Callbacks class """ - def init(self, super, app, g): + def __init__(self, super, app, g): """Initialize the callback . Args: @@ -55,17 +56,17 @@ class callbacks(): except Exception as e: print("CallbackName:" + str(e)) - # ---------------------------------------------------------------- - # Callback related Data retreiving functions - # ---------------------------------------------------------------- - try: + # ---------------------------------------------------------------- + # Callback related Data retreiving functions + # ---------------------------------------------------------------- + try: - print("Add functions here") - # ------------------------------------------------------------ - # Data gethering (MongoDB operations) - # ------------------------------------------------------------ + print("Add functions here") + # ------------------------------------------------------------ + # Data gethering (MongoDB operations) + # ------------------------------------------------------------ - print("Add MongoDB functions here") + print("Add MongoDB functions here") - except Exception as e: - print("Data process loading:"+str(e)) \ No newline at end of file + except Exception as e: + print("Data process loading:"+str(e)) \ No newline at end of file diff --git a/src/Modules/MultiLayer/layout.py b/src/Modules/MultiLayer/layout.py index da423e4a514e76841144072a9c895020126cdfa1..d7c7ebc2dd471f34a8c8aa04d9a278f72de6eacb 100644 --- a/src/Modules/MultiLayer/layout.py +++ b/src/Modules/MultiLayer/layout.py @@ -5,9 +5,9 @@ from collections import deque import dash_html_components as html import dash_bootstrap_components as dbc from .callbacks import callbacks +from src.templates.layoutOp import layoutOp - -class layout(): +class layout(layoutOp): """ Layout class """ # Needed variables for the graphs -------------------------------- @@ -21,7 +21,7 @@ class layout(): """ self.xAxisGraphName.clear() - def Vis(self, app, g): + def Vis(self): """ Create layer components Args: @@ -46,7 +46,7 @@ class layout(): ) ) # load callbacks - callbacks().init(self, app, g) + # callbacks(self.app, self.g) # Return the Layer return layer except Exception as e: diff --git a/src/Modules/MultiLayer/spark.py b/src/Modules/MultiLayer/spark.py index db7d04d8dedb0c60a692fff411f2dea0d3ec88b6..cf2195eef34f09798c0a44436bc3b292068b1847 100644 --- a/src/Modules/MultiLayer/spark.py +++ b/src/Modules/MultiLayer/spark.py @@ -2,55 +2,59 @@ """ import traceback +from src.templates.sparkOp import sparkOp -def process(g): - """ Start processing and reduce module count . +def init(g): + spark(g) - Args: - g (Global_Var): reference to access global variables - """ - preProcessing(g) - g.modulesNbr = g.modulesNbr - 1 +class spark(sparkOp): -# Spark operations and pre-processing -------------------------------- + def __init__(self, g): + """ + Args: + g (Global_Var): reference to access global variables + """ + module = "" + document = "" + output_document = "" + super().__init__(g, module, document, output_document) + # Spark operations and pre-processing -------------------------------- -def preProcessing(g): - """Loads the GDD database into BDD . - Args: - g (Global_Var): reference to access global variables - """ - MODULE_NAME = "" - DOCUMENT_NAME = "" - OUTPUT_DOCUMENT_NAME = "" - MONGODBURL = g.MONGODBURL - try: - if (not (OUTPUT_DOCUMENT_NAME in g.db.list_collection_names())) and (DOCUMENT_NAME in g.db.list_collection_names()): + def preProcessing(self): + """ Spark preprocessing . + """ + MODULE_NAME = "" + DOCUMENT_NAME = "" + OUTPUT_DOCUMENT_NAME = "" + MONGODBURL = self.g.MONGODBURL + try: + if (not (OUTPUT_DOCUMENT_NAME in self.g.db.list_collection_names())) and (DOCUMENT_NAME in self.g.db.list_collection_names()): - # Spark setup -------------------------------------------- + # Spark setup -------------------------------------------- - if g.sparkSession == None: - g.createSparkSession() + if self.g.sparkSession == None: + self.g.createSparkSession() - # doing the heavy work ----------------------------------- + # doing the heavy work ----------------------------------- - # Save data into Mongo------------------------------------ + # Save data into Mongo------------------------------------ - #df.write.format("com.mongodb.spark.sql.DefaultSource") \ - # .option("spark.mongodb.output.uri", - # MONGODBURL + g.name + "."+OUTPUT_DOCUMENT_NAME+"?authSource=admin&#readPreference=primaryPreferred").mode("overwrite").save() + #df.write.format("com.mongodb.spark.sql.DefaultSource") \ + # .option("spark.mongodb.output.uri", + # MONGODBURL + self.g.name + "."+OUTPUT_DOCUMENT_NAME+"?authSource=admin&#readPreference=primaryPreferred").mode("overwrite").save() - #print("Saved to BDD") + #print("Saved to BDD") - # ------------------------------------------------------------ - else: - if(not DOCUMENT_NAME in g.db.list_collection_names()): - print(DOCUMENT_NAME, "not found") - g.modules = [module for module in g.modules if module != MODULE_NAME] - print("done ", MODULE_NAME) + # ------------------------------------------------------------ + else: + if(not DOCUMENT_NAME in self.g.db.list_collection_names()): + print(DOCUMENT_NAME, "not found") + self.g.modules = [module for module in self.g.modules if module != MODULE_NAME] + print("done ", MODULE_NAME) - except Exception as e: - print("Error:" + str(e)) - traceback.print_exc() - pass \ No newline at end of file + except Exception as e: + print("Error:" + str(e)) + traceback.print_exc() + pass \ No newline at end of file diff --git a/src/Modules/Neuron/callbacks.py b/src/Modules/Neuron/callbacks.py index dc8aa9c1c37e85ed7f663430f3c0f01ef81d3bd7..4e409c79f6f26b62a3f71f19239d9912ffe82b49 100644 --- a/src/Modules/Neuron/callbacks.py +++ b/src/Modules/Neuron/callbacks.py @@ -14,12 +14,12 @@ import dash_html_components as html from bson.json_util import dumps, loads from dash.exceptions import PreventUpdate from dash.dependencies import ALL, MATCH, Input, Output, State - -class callbacks(): +from src.templates.callbacksOp import callbacksOp +class callbacks(callbacksOp): """ Callbacks class """ - def init(self, super, app, g): + def __init__(self, super, app, g): """ Initialize the callback . Args: @@ -59,10 +59,10 @@ class callbacks(): if len([item for item in graphsArea if item["props"]["id"] == "spaceHolder"]) == 1: updatedBody = [item for item in graphsArea if item["props"]["id"] != "spaceHolder"] - updatedBody.append(self.addNeuronArea(addButtonClick, selectedLayer, selectedNeuron, g)) + updatedBody.append(addNeuronArea(addButtonClick, selectedLayer, selectedNeuron, g)) return updatedBody else: - graphsArea.append(self.addNeuronArea(addButtonClick, selectedLayer, selectedNeuron, g)) + graphsArea.append(addNeuronArea(addButtonClick, selectedLayer, selectedNeuron, g)) return graphsArea else: return graphsArea @@ -95,12 +95,12 @@ class callbacks(): ["id"] != "VisComponent"+str(itemDeleted)] if(len(newGraphsArea) == 0): - newGraphsArea.append(self.addSpaceHolder(g,app)) + newGraphsArea.append(addSpaceHolder(app)) return newGraphsArea else: if(len(graphsArea) == 0): - graphsArea.append(self.addSpaceHolder(g,app)) + graphsArea.append(addSpaceHolder(app)) return graphsArea except Exception as e: print("InsertRemoveNewElement: " + str(e)) @@ -193,7 +193,7 @@ class callbacks(): if dash.callback_context.triggered[0]["prop_id"] != '.': # data processing if(sliderValue > 0 and sliderValue <= g.stepMax): - data = self.getSpikesOfNeuron( + data = getSpikesOfNeuron( int(sliderValue)*float(updateInterval), g, selectedItem) if (len(super.xAxisSpikeNbrLabel[selectedItem["index"]]) == 0 or super.xAxisSpikeNbrLabel[selectedItem["index"]][-1] != ("["+g.getLabelTime(g.updateInterval, sliderValue)+","+g.getLabelTime(g.updateInterval, sliderValue+1)+"]")): @@ -208,15 +208,15 @@ class callbacks(): super.xAxisSpikeNbrLabel[selectedItem["index"]].append( "["+g.getLabelTime(g.updateInterval, sliderValue)+","+g.getLabelTime(g.updateInterval, sliderValue+1)+"]") - output = [self.spikeCountDrawGraph(selectedItem["index"], data, super.xAxisSpikeNbrGraph[selectedItem["index"]], super.xAxisSpikeNbrLabel[selectedItem["index"]], super.yAxisSpikeNbrGraph, isOnSpike), - self.classDrawGraph(selectedItem["index"], data, isOnAcc, g.finalLabels)] + output = [spikeCountDrawGraph(selectedItem["index"], data, super.xAxisSpikeNbrGraph[selectedItem["index"]], super.xAxisSpikeNbrLabel[selectedItem["index"]], super.yAxisSpikeNbrGraph, isOnSpike), + classDrawGraph(selectedItem["index"], data, isOnAcc, g.finalLabels)] return output else: raise PreventUpdate else: if(sliderValue == 0): - data = self.getSpikesOfNeuron( + data = getSpikesOfNeuron( int(sliderValue)*float(updateInterval), g, selectedItem) super.xAxisSpikeNbrGraph[selectedItem["index"]].append(sliderValue) @@ -224,8 +224,8 @@ class callbacks(): super.xAxisSpikeNbrLabel[selectedItem["index"]].append( "["+g.getLabelTime(g.updateInterval, sliderValue)+","+g.getLabelTime(g.updateInterval, sliderValue+1)+"]") - output = [self.spikeCountDrawGraph(selectedItem["index"], data, super.xAxisSpikeNbrGraph[selectedItem["index"]], super.xAxisSpikeNbrLabel[selectedItem["index"]], super.yAxisSpikeNbrGraph, isOnSpike), - self.classDrawGraph(selectedItem["index"], data, isOnAcc, g.finalLabels)] + output = [spikeCountDrawGraph(selectedItem["index"], data, super.xAxisSpikeNbrGraph[selectedItem["index"]], super.xAxisSpikeNbrLabel[selectedItem["index"]], super.yAxisSpikeNbrGraph, isOnSpike), + classDrawGraph(selectedItem["index"], data, isOnAcc, g.finalLabels)] return output else: @@ -233,7 +233,7 @@ class callbacks(): else: # after adding to the screen if(selectedItem["index"] not in super.xAxisSpikeNbrLabel): - data = self.getSpikesOfNeuron( + data = getSpikesOfNeuron( int(sliderValue)*float(updateInterval), g, selectedItem) super.xAxisSpikeNbrGraph[selectedItem["index"]] = deque(maxlen=100) @@ -243,8 +243,8 @@ class callbacks(): super.xAxisSpikeNbrLabel[selectedItem["index"]].append("["+g.getLabelTime(g.updateInterval, sliderValue)+","+g.getLabelTime(g.updateInterval, sliderValue+1)+"]") - output = [self.spikeCountDrawGraph(selectedItem["index"], data, super.xAxisSpikeNbrGraph[selectedItem["index"]], super.xAxisSpikeNbrLabel[selectedItem["index"]], super.yAxisSpikeNbrGraph, isOnSpike), - self.classDrawGraph(selectedItem["index"], data, isOnAcc, g.finalLabels)] + output = [spikeCountDrawGraph(selectedItem["index"], data, super.xAxisSpikeNbrGraph[selectedItem["index"]], super.xAxisSpikeNbrLabel[selectedItem["index"]], super.yAxisSpikeNbrGraph, isOnSpike), + classDrawGraph(selectedItem["index"], data, isOnAcc, g.finalLabels)] return output else: @@ -275,7 +275,7 @@ class callbacks(): if dash.callback_context.triggered[0]["prop_id"] != '.': # data processing if(sliderValue > 0 and sliderValue <= g.stepMax): - data = self.getPotentialOfNeuron( + data = getPotentialOfNeuron( int(sliderValue)*float(updateInterval), g, selectedItem) if (len(super.xAxisPotentialLabel[selectedItem["index"]]) == 0 or super.xAxisPotentialLabel[selectedItem["index"]][-1] != ("["+g.getLabelTime(g.updateInterval, sliderValue)+","+g.getLabelTime(g.updateInterval, sliderValue+1)+"]")): @@ -290,13 +290,13 @@ class callbacks(): super.xAxisPotentialLabel[selectedItem["index"]].append( "["+g.getLabelTime(g.updateInterval, sliderValue)+","+g.getLabelTime(g.updateInterval, sliderValue+1)+"]") - output = [self.neuronPotentialDrawGraph(selectedItem["index"], data, super.xAxisPotentialGraph[selectedItem["index"]], super.xAxisPotentialLabel[selectedItem["index"]], super.yAxisPotentialGraph, isOn)] + output = [neuronPotentialDrawGraph(selectedItem["index"], data, super.xAxisPotentialGraph[selectedItem["index"]], super.xAxisPotentialLabel[selectedItem["index"]], super.yAxisPotentialGraph, isOn)] return output else: raise PreventUpdate else: if(sliderValue == 0): - data = self.getPotentialOfNeuron( + data = getPotentialOfNeuron( int(sliderValue)*float(updateInterval), g, selectedItem) super.xAxisPotentialGraph[selectedItem["index"]].append(sliderValue) @@ -304,7 +304,7 @@ class callbacks(): super.xAxisPotentialLabel[selectedItem["index"]].append( "["+g.getLabelTime(g.updateInterval, sliderValue)+","+g.getLabelTime(g.updateInterval, sliderValue+1)+"]") - output = [self.neuronPotentialDrawGraph(selectedItem["index"], data, super.xAxisPotentialGraph[selectedItem["index"]], super.xAxisPotentialLabel[selectedItem["index"]], super.yAxisPotentialGraph, isOn)] + output = [neuronPotentialDrawGraph(selectedItem["index"], data, super.xAxisPotentialGraph[selectedItem["index"]], super.xAxisPotentialLabel[selectedItem["index"]], super.yAxisPotentialGraph, isOn)] return output else: @@ -312,7 +312,7 @@ class callbacks(): else: # after adding to the screen if(selectedItem["index"] not in super.xAxisPotentialLabel): - data = self.getPotentialOfNeuron( + data = getPotentialOfNeuron( int(sliderValue)*float(updateInterval), g, selectedItem) super.xAxisPotentialGraph[selectedItem["index"]] = deque(maxlen=100) @@ -322,7 +322,7 @@ class callbacks(): super.xAxisPotentialLabel[selectedItem["index"]].append("["+g.getLabelTime(g.updateInterval, sliderValue)+","+g.getLabelTime(g.updateInterval, sliderValue+1)+"]") - output = [self.neuronPotentialDrawGraph(selectedItem["index"], data, super.xAxisPotentialGraph[selectedItem["index"]], super.xAxisPotentialLabel[selectedItem["index"]], super.yAxisPotentialGraph, isOn)] + output = [neuronPotentialDrawGraph(selectedItem["index"], data, super.xAxisPotentialGraph[selectedItem["index"]], super.xAxisPotentialLabel[selectedItem["index"]], super.yAxisPotentialGraph, isOn)] return output else: @@ -330,194 +330,242 @@ class callbacks(): except Exception as e: print("processPotential: " + str(e)) - try: + try: - # ------------------------------------------------------------ - # Helper functions - # ------------------------------------------------------------ + # ------------------------------------------------------------ + # Helper functions + # ------------------------------------------------------------ - def addNeuronArea(self, index, layer, neuron, g): - """ Adds a new neuron area that contains graphs. + def addNeuronArea(index, layer, neuron, g): + """ Adds a new neuron area that contains graphs. - Args: - index (int): index of the new added area - layer (String): layer id - neuron (String): neuron id - g (Global_Var): reference to access global variables + Args: + index (int): index of the new added area + layer (String): layer id + neuron (String): neuron id + g (Global_Var): reference to access global variables - Returns: - html component that contains the neuron area graphs - """ - return html.Div([ - html.Div([ + Returns: + html component that contains the neuron area graphs + """ + return html.Div([ html.Div([ - html.Div([html.P("Spikes", style={"textAlign": "start", "marginLeft": "20px", "marginTop": "6px", "fontSize": "13px"}), - daq.PowerButton( - id={"index": str(index), "layer": layer, "neuron": neuron, - "type": "Spikes-number-switch"}, - on='True', - size=25, - color="#28a745", - style={"marginLeft": "10px","marginRight": "10px"} - ), - html.Div("−", className="btn-danger btn-circle", style={"fontWeight": "500","fontSize":"16px"}, id={"index": str(index), "type": "DeleteComponent"})], className="row", style={"height": "35px"}), - dcc.Graph(id={"index": str(index), "type": "FreqGraph", "layer": layer, "neuron": neuron}, style={ - "width": "100%", "height": "290px"}, className="col-12", animate=False, config={"displaylogo": False}), - ], className="col-lg-4 col-sm-12 col-xs-12" if(g.finalLabels != None) else "col-lg-6 col-sm-6 col-xs-6"), - html.Div([ - html.Div([html.P("Potential", style={"textAlign": "start", "marginLeft": "20px", "marginTop": "6px", "fontSize": "13px"}), - daq.PowerButton( - id={"index": str(index), "type": "Neuron-potential-switch", - "layer": layer, "neuron": neuron}, - on='True', - size=25, - color="#28a745", - style={"marginLeft": "10px"} - )], className="row", style={"height": "35px"}), - dcc.Graph(id={"index": str(index), "type": "PotentialGraph", "layer": layer, "neuron": neuron}, style={ - "width": "100%", "height": "290px"}, className="col-12", animate=False, config={"displaylogo": False}), - ], className="col-lg-4 col-sm-6 col-xs-6" if(g.finalLabels != None) else "col-lg-6 col-sm-6 col-xs-6"), - html.Div([ - html.Div([html.P("Class", style={"textAlign": "start", "marginLeft": "20px", "marginTop": "6px", "fontSize": "13px"}), - daq.PowerButton( - id={"index": str(index), "type": "Neuron-class-switch", - "layer": layer, "neuron": neuron}, - on='True', - size=25, - color="#28a745", - style={"marginLeft": "10px"}), - html.Div([html.P(layer+" Neuron "+neuron, style={"fontSize": "13px", "paddingTop": "6px", "marginRight": "10px"})], - className="row", style={"direction": "rtl", "width": "70%"})], className="row", style={"height": "35px"}), - dcc.Graph(id={"index": str(index), "type": "AccuracyGraph", "layer": layer, "neuron": neuron}, style={ - "width": "100%", "height": "290px"}, className="col-12", animate=False, config={"displaylogo": False})], className="col-lg-4 col-sm-6 col-xs-6" if(g.finalLabels != None) else "", style={} if(g.finalLabels != None) else {'display': 'none'})],className="row")], style={"background": "rgb(242, 248, 255)", "paddingBottom": "10px", "marginBottom": "10px", "margin": "5px", "borderRadius": "10px"}, id="VisComponent"+str(index)) - - def addSpaceHolder(self,globalVar,app): - """ Adds a space holder area when no graphs are selected. - - Args: - globalVar (Global_Var): reference to access global variables - app : Flask app - Returns: - html component that contains the neuron area graphs - """ - return html.Div([ - html.Div([html.Img(src=app.get_asset_url('holderImg.png'), className="col-6", style={"marginTop":"60px"})], - className="col-12", style={"width": "100%"}) - ], style={"background": "rgb(244 244 244)", "paddingBottom": "10px", "marginBottom": "10px", "margin": "5px", "borderRadius": "10px", "height":"335px"}, - id="spaceHolder") - - - def spikeCountDrawGraph(self, index, data, xAxis, xAxisLabel, yAxisList, isOn): - """ Create bar chart for selected neuron, that contains - spikes count per interval. - - Args: - index (int): index of the new added area - data (list): data to be added to the graph - xAxis (deque): X axis values - xAxisLabel (deque): X axis labels - yAxisList (dict): dict contains Y axis values - isOn (bool): whether this graph is active or not - - Returns: - bar chart content (data and layout) - """ - try: - if isOn: - if data != None: - - # filtering data based on layer and neuron - if str(index) not in yAxisList: - yAxisList[str(index)] = deque(maxlen=100) - - # add data - yAxisList[str(index)].append(len(data)) + html.Div([ + html.Div([html.P("Spikes", style={"textAlign": "start", "marginLeft": "20px", "marginTop": "6px", "fontSize": "13px"}), + daq.PowerButton( + id={"index": str(index), "layer": layer, "neuron": neuron, + "type": "Spikes-number-switch"}, + on='True', + size=25, + color="#28a745", + style={"marginLeft": "10px","marginRight": "10px"} + ), + html.Div("−", className="btn-danger btn-circle", style={"fontWeight": "500","fontSize":"16px"}, id={"index": str(index), "type": "DeleteComponent"})], className="row", style={"height": "35px"}), + dcc.Graph(id={"index": str(index), "type": "FreqGraph", "layer": layer, "neuron": neuron}, style={ + "width": "100%", "height": "290px"}, className="col-12", animate=False, config={"displaylogo": False}), + ], className="col-lg-4 col-sm-12 col-xs-12" if(g.finalLabels != None) else "col-lg-6 col-sm-6 col-xs-6"), + html.Div([ + html.Div([html.P("Potential", style={"textAlign": "start", "marginLeft": "20px", "marginTop": "6px", "fontSize": "13px"}), + daq.PowerButton( + id={"index": str(index), "type": "Neuron-potential-switch", + "layer": layer, "neuron": neuron}, + on='True', + size=25, + color="#28a745", + style={"marginLeft": "10px"} + )], className="row", style={"height": "35px"}), + dcc.Graph(id={"index": str(index), "type": "PotentialGraph", "layer": layer, "neuron": neuron}, style={ + "width": "100%", "height": "290px"}, className="col-12", animate=False, config={"displaylogo": False}), + ], className="col-lg-4 col-sm-6 col-xs-6" if(g.finalLabels != None) else "col-lg-6 col-sm-6 col-xs-6"), + html.Div([ + html.Div([html.P("Class", style={"textAlign": "start", "marginLeft": "20px", "marginTop": "6px", "fontSize": "13px"}), + daq.PowerButton( + id={"index": str(index), "type": "Neuron-class-switch", + "layer": layer, "neuron": neuron}, + on='True', + size=25, + color="#28a745", + style={"marginLeft": "10px"}), + html.Div([html.P(layer+" Neuron "+neuron, style={"fontSize": "13px", "paddingTop": "6px", "marginRight": "10px"})], + className="row", style={"direction": "rtl", "width": "70%"})], className="row", style={"height": "35px"}), + dcc.Graph(id={"index": str(index), "type": "AccuracyGraph", "layer": layer, "neuron": neuron}, style={ + "width": "100%", "height": "290px"}, className="col-12", animate=False, config={"displaylogo": False})], className="col-lg-4 col-sm-6 col-xs-6" if(g.finalLabels != None) else "", style={} if(g.finalLabels != None) else {'display': 'none'})],className="row")], style={"background": "rgb(242, 248, 255)", "paddingBottom": "10px", "marginBottom": "10px", "margin": "5px", "borderRadius": "10px"}, id="VisComponent"+str(index)) + + def addSpaceHolder(app): + """ Adds a space holder area when no graphs are selected. + + Args: + app : Flask app + Returns: + html component that contains the neuron area graphs + """ + return html.Div([ + html.Div([html.Img(src=app.get_asset_url('holderImg.png'), className="col-6", style={"marginTop":"60px"})], + className="col-12", style={"width": "100%"}) + ], style={"background": "rgb(244 244 244)", "paddingBottom": "10px", "marginBottom": "10px", "margin": "5px", "borderRadius": "10px", "height":"335px"}, + id="spaceHolder") + + + def spikeCountDrawGraph(index, data, xAxis, xAxisLabel, yAxisList, isOn): + """ Create bar chart for selected neuron, that contains + spikes count per interval. + + Args: + index (int): index of the new added area + data (list): data to be added to the graph + xAxis (deque): X axis values + xAxisLabel (deque): X axis labels + yAxisList (dict): dict contains Y axis values + isOn (bool): whether this graph is active or not + + Returns: + bar chart content (data and layout) + """ + try: + if isOn: + if data != None: + + # filtering data based on layer and neuron + if str(index) not in yAxisList: + yAxisList[str(index)] = deque(maxlen=100) + + # add data + yAxisList[str(index)].append(len(data)) + + return {'data': [ + go.Bar( + x=list(xAxis), + y=list(yAxisList[str(index)]), + name='', + width=0.5, + marker_color='rgb(31, 119, 180)', + text=list(xAxisLabel), + hovertemplate="%{text} <b><br>%{y}</b>" + )], + 'layout': go.Layout( + xaxis_type='category', + margin={'l': 40, 'r': 0, 't': 0, 'b': 35}, + uirevision='no reset of zoom', + yaxis={'title': 'Number of Spikes'}, + xaxis={'title': 'Step'} + )} + else: + if str(index) not in yAxisList: + yAxisList[str(index)] = deque(maxlen=100) + yAxisList[str(index)].append(0) + return {'data': [ + go.Bar( + x=list(xAxis), + y=list(yAxisList[str(index)]), + marker_color='rgb(31, 119, 180)', + name='', + text=list(xAxisLabel), + hovertemplate="%{text} <b><br>%{y}</b>" + )], + 'layout': go.Layout( + margin={'l': 40, 'r': 0, 't': 0, 'b': 35}, + uirevision='no reset of zoom', + yaxis={'title': 'Number of Spikes'}, + xaxis={'title': 'Step'} + )} + else: return {'data': [ go.Bar( x=list(xAxis), y=list(yAxisList[str(index)]), - name='', - width=0.5, marker_color='rgb(31, 119, 180)', text=list(xAxisLabel), + name='', hovertemplate="%{text} <b><br>%{y}</b>" )], 'layout': go.Layout( - xaxis_type='category', margin={'l': 40, 'r': 0, 't': 0, 'b': 35}, uirevision='no reset of zoom', yaxis={'title': 'Number of Spikes'}, xaxis={'title': 'Step'} )} + except Exception as e: + print("spikeCountDrawGraph: "+str(e)) + + def neuronPotentialDrawGraph(index, data, xAxis, xAxisLabel, yAxisList, isOn): + """ Create scatter plot for selected neuron, that contains + membrane potential per interval. + + Args: + index (int): index of the new added area + data (list): data to be added to the graph + xAxis (deque): X axis values + xAxisLabel (deque): X axis labels + yAxisList (dict): dict contains Y axis values + isOn (bool): whether this graph is active or not + + Returns: + scatter plot content (data and layout) + """ + try: + + if isOn: + if data != None: + + # filtering data based on layer and neuron + if str(index) not in yAxisList: + yAxisList[str(index)] = deque(maxlen=100) + + # add data + if len(data) != 0: + yAxisList[str(index)].append( + statistics.mean([d["V"] for d in data])) + + return {'data': [ + go.Scatter( + x=list(xAxis), + y=list(yAxisList[str(index)]), + mode='lines+markers', + name='', + fill='tozeroy', + marker_color='rgb(44, 160, 44)', + text=list(xAxisLabel), + hovertemplate="%{text} <b><br>%{y}</b>" + )], + 'layout': go.Layout( + margin={'l': 40, 'r': 0, 't': 0, 'b': 35}, + uirevision='no reset of zoom', + yaxis={'title': 'Potential'}, + xaxis={'title': 'Step'} + + )} + else: + if str(index) not in yAxisList: + yAxisList[str(index)] = deque(maxlen=100) + yAxisList[str(index)].append(0) + else: + if(len(yAxisList[str(index)]) > 0): + yAxisList[str(index)].append(yAxisList[str(index)][-1]) + else: + yAxisList[str(index)].append(0) + + return {'data': [ + go.Scatter( + x=list(xAxis), + y=list(yAxisList[str(index)]), + mode='lines+markers', + name='', + fill='tozeroy', + marker_color='rgb(44, 160, 44)', + text=list(xAxisLabel), + hovertemplate="%{text} <b><br>%{y}</b>" + )], + 'layout': go.Layout( + margin={'l': 40, 'r': 0, 't': 0, 'b': 35}, + uirevision='no reset of zoom', + yaxis={'title': 'Potential'}, + xaxis={'title': 'Step'} + )} else: if str(index) not in yAxisList: yAxisList[str(index)] = deque(maxlen=100) - yAxisList[str(index)].append(0) - return {'data': [ - go.Bar( - x=list(xAxis), - y=list(yAxisList[str(index)]), - marker_color='rgb(31, 119, 180)', - name='', - text=list(xAxisLabel), - hovertemplate="%{text} <b><br>%{y}</b>" - )], - 'layout': go.Layout( - margin={'l': 40, 'r': 0, 't': 0, 'b': 35}, - uirevision='no reset of zoom', - yaxis={'title': 'Number of Spikes'}, - xaxis={'title': 'Step'} - )} - else: - return {'data': [ - go.Bar( - x=list(xAxis), - y=list(yAxisList[str(index)]), - marker_color='rgb(31, 119, 180)', - text=list(xAxisLabel), - name='', - hovertemplate="%{text} <b><br>%{y}</b>" - )], - 'layout': go.Layout( - margin={'l': 40, 'r': 0, 't': 0, 'b': 35}, - uirevision='no reset of zoom', - yaxis={'title': 'Number of Spikes'}, - xaxis={'title': 'Step'} - )} - except Exception as e: - print("spikeCountDrawGraph: "+str(e)) - - def neuronPotentialDrawGraph(self, index, data, xAxis, xAxisLabel, yAxisList, isOn): - """ Create scatter plot for selected neuron, that contains - membrane potential per interval. - - Args: - index (int): index of the new added area - data (list): data to be added to the graph - xAxis (deque): X axis values - xAxisLabel (deque): X axis labels - yAxisList (dict): dict contains Y axis values - isOn (bool): whether this graph is active or not - - Returns: - scatter plot content (data and layout) - """ - try: - - if isOn: - if data != None: - - # filtering data based on layer and neuron - if str(index) not in yAxisList: - yAxisList[str(index)] = deque(maxlen=100) - - # add data - if len(data) != 0: - yAxisList[str(index)].append( - statistics.mean([d["V"] for d in data])) - return {'data': [ go.Scatter( x=list(xAxis), @@ -534,207 +582,158 @@ class callbacks(): uirevision='no reset of zoom', yaxis={'title': 'Potential'}, xaxis={'title': 'Step'} - )} - else: - if str(index) not in yAxisList: - yAxisList[str(index)] = deque(maxlen=100) - yAxisList[str(index)].append(0) + except Exception as e: + print("neuronPotentialDrawGraph: "+str(e)) + + def classDrawGraph(index, data, isOn, labels): + """ Create scatter polar plot for selected neuron, that represents + class responsible on firing theis neuron. + + Args: + index (int): index of the new added area + data (list): data to be added to the graph + isOn (bool): whether this graph is active or not + labels (list): list of labels + Returns: + scatter polar plot content (data and layout) + """ + try: + if isOn: + if data != None and labels != None: + + labels = list(dict.fromkeys( + [("Class:"+str(l["Label"]), 0) for l in labels])) + labels = [list(l) for l in labels] + + for d in data: + for l in labels: + if "Class:"+str(d['Input']) == str(l[0]): + l[1] = l[1]+1 + + theta = [l[0] for l in labels] + labels = [l[1] for l in labels] + return {'data': [ + go.Scatterpolar( + theta=theta, + r=labels, + fill='toself', + fillcolor='rgba(255, 127, 14)', + line=dict(color="rgb(255, 127, 14)") + )], + 'layout': go.Layout( + polar=dict( + angularaxis=dict( + direction="clockwise", + period=6), + radialaxis=dict( + visible=False + ) + ), + showlegend=False, + margin={'l': 0, 'r': 0, 't': 25, 'b': 30}, + ) + } else: - if(len(yAxisList[str(index)]) > 0): - yAxisList[str(index)].append(yAxisList[str(index)][-1]) - else: - yAxisList[str(index)].append(0) - - return {'data': [ - go.Scatter( - x=list(xAxis), - y=list(yAxisList[str(index)]), - mode='lines+markers', - name='', - fill='tozeroy', - marker_color='rgb(44, 160, 44)', - text=list(xAxisLabel), - hovertemplate="%{text} <b><br>%{y}</b>" - )], - 'layout': go.Layout( - margin={'l': 40, 'r': 0, 't': 0, 'b': 35}, - uirevision='no reset of zoom', - yaxis={'title': 'Potential'}, - xaxis={'title': 'Step'} - )} - else: - if str(index) not in yAxisList: - yAxisList[str(index)] = deque(maxlen=100) - - return {'data': [ - go.Scatter( - x=list(xAxis), - y=list(yAxisList[str(index)]), - mode='lines+markers', - name='', - fill='tozeroy', - marker_color='rgb(44, 160, 44)', - text=list(xAxisLabel), - hovertemplate="%{text} <b><br>%{y}</b>" - )], - 'layout': go.Layout( - margin={'l': 40, 'r': 0, 't': 0, 'b': 35}, - uirevision='no reset of zoom', - yaxis={'title': 'Potential'}, - xaxis={'title': 'Step'} - )} - except Exception as e: - print("neuronPotentialDrawGraph: "+str(e)) - - def classDrawGraph(self, index, data, isOn, labels): - """ Create scatter polar plot for selected neuron, that represents - class responsible on firing theis neuron. - - Args: - index (int): index of the new added area - data (list): data to be added to the graph - isOn (bool): whether this graph is active or not - labels (list): list of labels - Returns: - scatter polar plot content (data and layout) - """ - try: - if isOn: - if data != None and labels != None: - - labels = list(dict.fromkeys( - [("Class:"+str(l["Label"]), 0) for l in labels])) - labels = [list(l) for l in labels] - - for d in data: - for l in labels: - if "Class:"+str(d['Input']) == str(l[0]): - l[1] = l[1]+1 - - theta = [l[0] for l in labels] - labels = [l[1] for l in labels] - return {'data': [ - go.Scatterpolar( - theta=theta, - r=labels, - fill='toself', - fillcolor='rgba(255, 127, 14)', - line=dict(color="rgb(255, 127, 14)") - )], - 'layout': go.Layout( - polar=dict( - angularaxis=dict( - direction="clockwise", - period=6), - radialaxis=dict( - visible=False - ) - ), - showlegend=False, - margin={'l': 0, 'r': 0, 't': 25, 'b': 30}, - ) - } + return {'data': [ + go.Scatterpolar( + theta=[], + r=[], + fill='toself', + fillcolor='rgba(255, 127, 14)', + line=dict(color="rgb(255, 127, 14)") + )], + 'layout': go.Layout( + polar=dict( + radialaxis=dict( + visible=True + ) + ), + showlegend=False, + margin={'l': 0, 'r': 0, 't': 25, 'b': 30}, + ) + } else: return {'data': [ - go.Scatterpolar( - theta=[], - r=[], - fill='toself', - fillcolor='rgba(255, 127, 14)', - line=dict(color="rgb(255, 127, 14)") - )], - 'layout': go.Layout( - polar=dict( - radialaxis=dict( - visible=True - ) - ), + go.Scatterpolar( + theta=[], + r=[], + fill='toself', + fillcolor='rgba(255, 127, 14)', + line=dict(color="rgb(255, 127, 14)") + )], + 'layout': go.Layout( + polar=dict( + radialaxis=dict( + visible=True + ) + ), showlegend=False, margin={'l': 0, 'r': 0, 't': 25, 'b': 30}, ) } - else: - return {'data': [ - go.Scatterpolar( - theta=[], - r=[], - fill='toself', - fillcolor='rgba(255, 127, 14)', - line=dict(color="rgb(255, 127, 14)") - )], - 'layout': go.Layout( - polar=dict( - radialaxis=dict( - visible=True - ) - ), - showlegend=False, - margin={'l': 0, 'r': 0, 't': 25, 'b': 30}, - ) - } - except Exception as e: - print("classDrawGraph: "+str(e)) - - # ------------------------------------------------------------ - # MongoDB operations - # ------------------------------------------------------------ - - def getSpikesOfNeuron(self, timestamp, g, neuronInfo): - """ Get spikes per neuron activity in a given interval. - - Args: - timestamp (int): timestamp value - g (Global_Var): reference to access global variables - neuronInfo (list): selected neuron information - - Returns: - spikes count - """ - layer = [neuronInfo["layer"]] - neuron = [int(neuronInfo["neuron"])] - - # MongoDB--------------------- - col = pymongo.collection.Collection(g.db, 'spikes') - spikeOfNeuron = col.find({"T": {'$gt': timestamp, '$lte': ( - timestamp+g.updateInterval)}, "i.L": {'$in': layer}, "i.N": {'$in': neuron}}) - # ---------------------------- - - # ToJson---------------------- - spikeOfNeuron = loads(dumps(spikeOfNeuron)) - # ---------------------------- - - if not spikeOfNeuron: - return None - return spikeOfNeuron - - def getPotentialOfNeuron(self, timestamp, g, neuronInfo): - """ Get neuron membrane potential activity in a given interval. - - Args: - timestamp (int): timestamp value - g (Global_Var): reference to access global variables - neuronInfo (list): selected neuron information - - Returns: - neuron membrane potential value - """ - layer = [neuronInfo["layer"]] - neuron = [int(neuronInfo["neuron"])] - # MongoDB--------------------- - col = pymongo.collection.Collection(g.db, 'potential') - FreqForNeuron = col.find( - {"T": {'$gt': timestamp, '$lte': (timestamp+g.updateInterval)}, - "L": {'$in': layer}, "N": {'$in': neuron}}) - # ---------------------------- - - # ToJson---------------------- - FreqForNeuron = loads(dumps(FreqForNeuron)) - # ---------------------------- - - if not FreqForNeuron: - return None - return FreqForNeuron - - except Exception as e: - print("Helper functions: "+str(e)) \ No newline at end of file + except Exception as e: + print("classDrawGraph: "+str(e)) + + # ------------------------------------------------------------ + # MongoDB operations + # ------------------------------------------------------------ + + def getSpikesOfNeuron(timestamp, g, neuronInfo): + """ Get spikes per neuron activity in a given interval. + + Args: + timestamp (int): timestamp value + g (Global_Var): reference to access global variables + neuronInfo (list): selected neuron information + + Returns: + spikes count + """ + layer = [neuronInfo["layer"]] + neuron = [int(neuronInfo["neuron"])] + + # MongoDB--------------------- + col = pymongo.collection.Collection(g.db, 'spikes') + spikeOfNeuron = col.find({"T": {'$gt': timestamp, '$lte': ( + timestamp+g.updateInterval)}, "i.L": {'$in': layer}, "i.N": {'$in': neuron}}) + # ---------------------------- + + # ToJson---------------------- + spikeOfNeuron = loads(dumps(spikeOfNeuron)) + # ---------------------------- + + if not spikeOfNeuron: + return None + return spikeOfNeuron + + def getPotentialOfNeuron(timestamp, g, neuronInfo): + """ Get neuron membrane potential activity in a given interval. + + Args: + timestamp (int): timestamp value + g (Global_Var): reference to access global variables + neuronInfo (list): selected neuron information + + Returns: + neuron membrane potential value + """ + layer = [neuronInfo["layer"]] + neuron = [int(neuronInfo["neuron"])] + # MongoDB--------------------- + col = pymongo.collection.Collection(g.db, 'potential') + FreqForNeuron = col.find( + {"T": {'$gt': timestamp, '$lte': (timestamp+g.updateInterval)}, + "L": {'$in': layer}, "N": {'$in': neuron}}) + # ---------------------------- + + # ToJson---------------------- + FreqForNeuron = loads(dumps(FreqForNeuron)) + # ---------------------------- + + if not FreqForNeuron: + return None + return FreqForNeuron + + except Exception as e: + print("Helper functions: "+str(e)) \ No newline at end of file diff --git a/src/Modules/Neuron/layout.py b/src/Modules/Neuron/layout.py index 9f47756115b5d38c97e668d083c3cd41fec6b7de..518969e656ddf1897f9091e79f73cf54436e7274 100644 --- a/src/Modules/Neuron/layout.py +++ b/src/Modules/Neuron/layout.py @@ -11,9 +11,9 @@ import plotly.graph_objects as go import dash_core_components as dcc import dash_html_components as html import dash_bootstrap_components as dbc +from src.templates.layoutOp import layoutOp - -class layout(): +class layout(layoutOp): """ Layout class """ # Needed variables for the graphs -------------------------------- @@ -45,7 +45,7 @@ class layout(): self.yAxisSpikeNbrGraph[index] = deque(maxlen=100) self.yAxisPotentialGraph[index] = deque(maxlen=100) - def Vis(self, app, g): + def Vis(self): """ Create layer components Args: @@ -58,7 +58,7 @@ class layout(): try: self.clearData([]) print("neuron-vis") - self.SpikePerNeuron = self.getSpikePerNeuron(g) + self.SpikePerNeuron = self.getSpikePerNeuron(self.g) layer = dbc.Card( dbc.CardBody( [ @@ -68,10 +68,10 @@ class layout(): dcc.Dropdown( id='LayerFilterNeuron', options=[{'label': str(i), 'value': str(i)} for i in ( - i for i in g.Layer_Neuron if i != "Input")], + i for i in self.g.Layer_Neuron if i != "Input")], multi=False, value=[{'label': str(i), 'value': str(i)} for i in ( - i for i in g.Layer_Neuron if i != "Input")][0]["value"], + i for i in self.g.Layer_Neuron if i != "Input")][0]["value"], style={'width': '150px', "marginLeft": "10px", "textAlign": "start"}), dcc.Dropdown( id='NeuronFilterNeuron', @@ -81,14 +81,14 @@ class layout(): dbc.Button("+", id="AddComponentNeuron", n_clicks=0, style={ "fontWeight": "500", "marginLeft": "20px", "height": "36px", "backgroundColor": "rgb(68, 71, 99)", "borderColor": "rgb(68, 71, 99)"}), html.Div(id='clear-Neuron', children="False", style={'display': 'none'}), html.Div(id='display-Neuron', children="False", style={'display': 'none'}) ], className="row"), - html.Div(id={'type': "GraphsAreaNeuron"}, children=[html.Div(id={'type': "OutputNeurons"}, children=[dcc.Graph(id="SpikePerNeuronFreq", figure=self.SpikePerNeuron3D(g), config={"displaylogo": False}, className="col-6"), - dcc.Graph(id="SpikePerNeuronNbr", animate=False, config={"displaylogo": False}, className="col-6")], className="row")], style={"textAlign": "-webkit-center", "paddingTop": "10px"}) if(g.finalLabels != None) else html.Div(id={'type': "GraphsAreaNeuron"}, children=[], style={"textAlign": "-webkit-center", "paddingTop": "10px"}) + html.Div(id={'type': "GraphsAreaNeuron"}, children=[html.Div(id={'type': "OutputNeurons"}, children=[dcc.Graph(id="SpikePerNeuronFreq", figure=self.SpikePerNeuron3D(self.g), config={"displaylogo": False}, className="col-6"), + dcc.Graph(id="SpikePerNeuronNbr", animate=False, config={"displaylogo": False}, className="col-6")], className="row")], style={"textAlign": "-webkit-center", "paddingTop": "10px"}) if(self.g.finalLabels != None) else html.Div(id={'type': "GraphsAreaNeuron"}, children=[], style={"textAlign": "-webkit-center", "paddingTop": "10px"}) ]) ], style={"textAlign": "center", "padding": "10px"} )) # load callbacks - callbacks().init(self, app, g) + callbacks(self,self.app, self.g) # Return the Layer return layer except Exception as e: diff --git a/src/Modules/Neuron/spark.py b/src/Modules/Neuron/spark.py index e2acfe179f4057832770fcbb6b097623bdeab045..69705a6be5d4dd891b42ca64c88add867f0de785 100644 --- a/src/Modules/Neuron/spark.py +++ b/src/Modules/Neuron/spark.py @@ -2,63 +2,62 @@ """ import traceback - -def process(g): - """ Start processing and reduce module count . - - Args: - g (Global_Var): reference to access global variables - """ - preProcessing(g) - g.modulesNbr = g.modulesNbr - 1 - -# Spark operations and preprocessing---------------------------------- - - -def preProcessing(g): - """ Apache Spark pre-processing. - - Args: - g (Global_Var): reference to access global variables - """ - MODULE_NAME = "Neuron" - DOCUMENT_NAME = "spikes" - OUTPUT_DOCUMENT_NAME = "SpikePerNeuron" - MONGODB_URL = g.MONGODBURL - try: - if (not (OUTPUT_DOCUMENT_NAME in g.db.list_collection_names())) and (DOCUMENT_NAME in g.db.list_collection_names()): - - # Spark setup -------------------------------------------- - if g.sparkSession == None: - g.createSparkSession() - # -------------------------------------------------------- - # Spike per neuron - df = g.sparkSession.read.format("com.mongodb.spark.sql") \ - .option("spark.mongodb.input.uri", MONGODB_URL + g.name + "."+DOCUMENT_NAME+"?authSource=admin&readPreference=primaryPreferred") \ - .option("pipeline", "[{ $sort : { T : 1} }]") - - df = df.load() - - print("done reading ...") - - # doing the heavy work ----------------------------------- - - df = df.groupBy(df["i"]).count() - - # Data save into MongoDB --------------------------------- - - df.write.format("com.mongodb.spark.sql.DefaultSource") \ - .option("spark.mongodb.output.uri", - MONGODB_URL + g.name + "."+OUTPUT_DOCUMENT_NAME+"?authSource=admin&readPreference=primaryPreferred").mode("overwrite").save() - - # -------------------------------------------------------- - else: - if(not DOCUMENT_NAME in g.db.list_collection_names()): - print(DOCUMENT_NAME, "not found") - g.modules = [module for module in g.modules if module != MODULE_NAME] - print("done ", MODULE_NAME) - - except Exception as e: - print("Error:" + str(e)) - traceback.print_exc() - pass +from src.templates.sparkOp import sparkOp + +def init(g): + spark(g) + +class spark(sparkOp): + + def __init__(self, g): + """ + Args: + g (Global_Var): reference to access global variables + """ + module = "Neuron" + document = "spikes" + output_document = "SpikePerNeuron" + super().__init__(g, module, document, output_document) + + # Spark operations and preprocessing---------------------------------- + + def preProcessing(self): + """ Apache Spark pre-processing. + """ + try: + if (not (self.OUTPUT_DOCUMENT_NAME in self.g.db.list_collection_names())) and (self.DOCUMENT_NAME in self.g.db.list_collection_names()): + + # Spark setup -------------------------------------------- + if self.g.sparkSession == None: + self.g.createSparkSession() + # -------------------------------------------------------- + # Spike per neuron + df = self.g.sparkSession.read.format("com.mongodb.spark.sql") \ + .option("spark.mongodb.input.uri", self.MONGODB_URL + self.g.name + "."+self.DOCUMENT_NAME+"?authSource=admin&readPreference=primaryPreferred") \ + .option("pipeline", "[{ $sort : { T : 1} }]") + + df = df.load() + + print("done reading ...") + + # doing the heavy work ----------------------------------- + + df = df.groupBy(df["i"]).count() + + # Data save into MongoDB --------------------------------- + + df.write.format("com.mongodb.spark.sql.DefaultSource") \ + .option("spark.mongodb.output.uri", + self.MONGODB_URL + self.g.name + "."+self.OUTPUT_DOCUMENT_NAME+"?authSource=admin&readPreference=primaryPreferred").mode("overwrite").save() + + # -------------------------------------------------------- + else: + if(not self.DOCUMENT_NAME in self.g.db.list_collection_names()): + print(self.DOCUMENT_NAME, "not found") + self.g.modules = [module for module in self.g.modules if module != self.MODULE_NAME] + print("done ", self.MODULE_NAME) + + except Exception as e: + print("Error:" + str(e)) + traceback.print_exc() + pass diff --git a/src/Modules/Synapse/callbacks.py b/src/Modules/Synapse/callbacks.py index b7259448a34d8305366fa2d5ee9a8fc5a3057635..99e63de3c966e2809f255919ec9f31af42a0a8d7 100644 --- a/src/Modules/Synapse/callbacks.py +++ b/src/Modules/Synapse/callbacks.py @@ -20,13 +20,13 @@ import statistics from itertools import groupby import numpy as np import pandas as pd +from src.templates.callbacksOp import callbacksOp - -class callbacks(): +class callbacks(callbacksOp): """ Callbacks class """ - def init(self, super, app, g): + def __init__(self, super, app, g): """ Initialize the callback . Args: diff --git a/src/Modules/Synapse/layout.py b/src/Modules/Synapse/layout.py index df175adef4231e751ecfc421aa1ec869161ef62d..d2f8e6a87488a569f3b1b50989e65bf277975ba7 100644 --- a/src/Modules/Synapse/layout.py +++ b/src/Modules/Synapse/layout.py @@ -6,9 +6,9 @@ import dash_html_components as html import dash_bootstrap_components as dbc from .callbacks import callbacks import dash_core_components as dcc +from src.templates.layoutOp import layoutOp - -class layout(): +class layout(layoutOp): """ Layout class """ # Needed variables for the graphs -------------------------------- @@ -38,7 +38,7 @@ class layout(): self.globalHeatMap.clear() - def Vis(self,app,g): + def Vis(self): """ Create layer components Args: @@ -59,7 +59,7 @@ class layout(): dcc.Dropdown( id='LayerFilterSynapse', options=[{'label': str(i), 'value': str(i)} for i in ( - i for i in g.Layer_Neuron if i != "Input")], multi=False, + i for i in self.g.Layer_Neuron if i != "Input")], multi=False, style={'width': '150px', "marginLeft": "10px", "textAlign": "start"}), dcc.Dropdown( id='NeuronFilterSynapse', options=[], multi=False, @@ -91,7 +91,7 @@ class layout(): ) ) # load callbacks - callbacks().init(self,app,g) + callbacks(self,self.app,self.g) # Return the Layer return layer except Exception as e: diff --git a/src/Modules/Synapse/spark.py b/src/Modules/Synapse/spark.py index 3118a9fdea825fdc19513fcd3d73eca2b4ed1118..6ee4246b8c9a15a45a7f8b2466440625deb02385 100644 --- a/src/Modules/Synapse/spark.py +++ b/src/Modules/Synapse/spark.py @@ -4,70 +4,67 @@ import pymongo import traceback from pyspark.sql import functions as F - - -def process(g): - """ Start processing and reduce module count . - - Args: - g (Global_Var): reference to access global variables - """ - preProcessing(g) - g.modulesNbr = g.modulesNbr - 1 - -# Spark operations and preprocessing---------------------------------- - - -def preProcessing(g): - """ Apache Spark pre-processing. - - Args: - g (Global_Var): reference to access global variables - """ - MODULE_NAME = "Synapse" - DOCUMENT_NAME = "synapseWeight" - OUTPUT_DOCUMENT_NAME_FINAL = "synapseWeightFinal" - MONGODB_URL = g.MONGODBURL - try: - if (not (OUTPUT_DOCUMENT_NAME_FINAL in g.db.list_collection_names())) and (DOCUMENT_NAME in g.db.list_collection_names()): - - # Spark setup--------------------------------------- - if g.sparkSession == None: - g.createSparkSession() - # -------------------------------------------------- - df = g.sparkSession.read.format("com.mongodb.spark.sql") \ - .option("spark.mongodb.input.uri", MONGODB_URL + g.name + "."+DOCUMENT_NAME+"?authSource=admin&readPreference=primaryPreferred") \ - .option("pipeline", "[{ $sort: { T: 1 } },{$group : { _id : {To:'$To', C:'$C'}, L : { $last: '$L'}, T : { $last: '$T'},V : { $last: '$V'},index : { $last: '$index'} } }]") - - df = df.load() - - # Data save into MongoDB --------------------------------- - - df.write.format("com.mongodb.spark.sql.DefaultSource") \ - .option("spark.mongodb.output.uri", - MONGODB_URL + g.name + "."+OUTPUT_DOCUMENT_NAME_FINAL+"?authSource=admin&readPreference=primaryPreferred").mode('append').save() - - # Indexes creation --------------------------------------- - - print("Indexes creation (please wait...)") - - col = pymongo.collection.Collection(g.db, OUTPUT_DOCUMENT_NAME_FINAL) - col.create_index([("_id.L", 1)]) - col.create_index([("_id", 1)]) - col.create_index([("_id.To", 1),("_id.C", 1)]) - col.create_index([("T", 1)]) - col.create_index([("index", 1)]) - col.create_index([("V", 1)]) +from src.templates.sparkOp import sparkOp + +def init(g): + spark(g) + +class spark(sparkOp): + + def __init__(self, g): + """ + Args: + g (Global_Var): reference to access global variables + """ + module = "Synapse" + document = "synapseWeight" + output_document = "synapseWeightFinal" + super().__init__(g, module, document, output_document) + + # Spark operations and preprocessing---------------------------------- + + def preProcessing(self): + """ Apache Spark pre-processing. + """ + try: + if (not (self.OUTPUT_DOCUMENT_NAME in self.g.db.list_collection_names())) and (self.DOCUMENT_NAME in self.g.db.list_collection_names()): + + # Spark setup--------------------------------------- + if self.g.sparkSession == None: + self.g.createSparkSession() + # -------------------------------------------------- + df = self.g.sparkSession.read.format("com.mongodb.spark.sql") \ + .option("spark.mongodb.input.uri", self.MONGODBURL + self.g.name + "."+self.DOCUMENT_NAME+"?authSource=admin&readPreference=primaryPreferred") \ + .option("pipeline", "[{ $sort: { T: 1 } },{$group : { _id : {To:'$To', C:'$C'}, L : { $last: '$L'}, T : { $last: '$T'},V : { $last: '$V'},index : { $last: '$index'} } }]") + + df = df.load() - - # -------------------------------------------------------- - else: - if(not DOCUMENT_NAME in g.db.list_collection_names()): - print(DOCUMENT_NAME, "not found") - g.modules = [module for module in g.modules if module != MODULE_NAME] - print("done", MODULE_NAME) - - except Exception as e: - print("Error:" + str(e)) - traceback.print_exc() - pass + # Data save into MongoDB --------------------------------- + + df.write.format("com.mongodb.spark.sql.DefaultSource") \ + .option("spark.mongodb.output.uri", + self.MONGODBURL + self.g.name + "."+self.OUTPUT_DOCUMENT_NAME+"?authSource=admin&readPreference=primaryPreferred").mode('append').save() + + # Indexes creation --------------------------------------- + + print("Indexes creation (please wait...)") + + col = pymongo.collection.Collection(self.g.db, self.OUTPUT_DOCUMENT_NAME) + col.create_index([("_id.L", 1)]) + col.create_index([("_id", 1)]) + col.create_index([("_id.To", 1),("_id.C", 1)]) + col.create_index([("T", 1)]) + col.create_index([("index", 1)]) + col.create_index([("V", 1)]) + + # -------------------------------------------------------- + else: + if(not self.DOCUMENT_NAME in self.g.db.list_collection_names()): + print(self.DOCUMENT_NAME, "not found") + self.g.modules = [module for module in self.g.modules if module != self.MODULE_NAME] + print("done", self.MODULE_NAME) + + except Exception as e: + print("Error:" + str(e)) + traceback.print_exc() + pass diff --git a/src/templates/Template Module/__init__.py b/src/templates/Template Module/__init__.py deleted file mode 100755 index 0519ecba6ea913e21689ec692e81e9e4973fbf73..0000000000000000000000000000000000000000 --- a/src/templates/Template Module/__init__.py +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/templates/Template Module/callbacks.py b/src/templates/Template Module/callbacks.py deleted file mode 100644 index c89ac8d96445024c676076c46e3aa4add33dd36b..0000000000000000000000000000000000000000 --- a/src/templates/Template Module/callbacks.py +++ /dev/null @@ -1,62 +0,0 @@ -""" This class contains Dash callbacks - - Dash callbacks are the responsible on updating graphs each step. -""" - - -class callbacks(): - """Callbacks class - """ - - def init(self, super, app, g): - """Initialize the callback . - - Args: - app : Flask app - g (Global_Var): reference to access global variables - """ - # ------------------------------------------------------------ - # Callbacks - # ------------------------------------------------------------ - # to prevent creating duplicate callbacks next use - if not g.checkExistance(app, "name of one element from layout"): - - # Add callbacks here - # Use Input("v-step", "children"),State("interval", - # "value") to keep track of time slider - try: - # @app.callback([Output()], [Input()]) - # def NeuronSelection(input): - # do process here - # return output - print("Add Callbacks here") - - try: - @app.callback([Output("display-template", "children"), Output("clear-template", "children")], - [Input("v-step", "children")], [State("interval", "value"), State("clear", "children"), - State("clear-Neuron", "children"), State("display-Neuron", "children")]) - def display(value, step, clear, localClear, display): - if(localClear != clear): - super.clearData() - - return [display, clear] - except Exception as e: - print("display:"+str(e)) - - except Exception as e: - print("CallbackName:" + str(e)) - - # ---------------------------------------------------------------- - # Callback related Data retreiving functions - # ---------------------------------------------------------------- - try: - - print("Add functions here") - # ------------------------------------------------------------ - # Data gethering (MongoDB operations) - # ------------------------------------------------------------ - - print("Add MongoDB functions here") - - except Exception as e: - print("Data process loading:"+str(e)) diff --git a/src/templates/Template Module/layout.py b/src/templates/Template Module/layout.py deleted file mode 100644 index dd3e78a13743588253eb369db25c34db47722365..0000000000000000000000000000000000000000 --- a/src/templates/Template Module/layout.py +++ /dev/null @@ -1,53 +0,0 @@ -"""Create a dash layout for the module -""" - -from collections import deque -import dash_html_components as html -import dash_bootstrap_components as dbc -from .callbacks import callbacks - - -class layout(): - """ Layout class - """ - # Needed variables for the graphs -------------------------------- - # - xAxisGraphName = deque(maxlen=100) - # - # ---------------------------------------------------------------- - - def clearData(self): - """ Clear the data when moved forward or backward for more than one step - """ - self.xAxisGraphName.clear() - - def Vis(self, app, g): - """ Create layer components - - Args: - app : Flask app - g (Global_Var): reference to access global variables - - Returns: - Dash app layer - """ - try: - - layer = dbc.Card( - dbc.CardBody( - [ - html.Div(id="template-vis", children=[ - # Global show based on selected layer - html.H3("Your Layer here"), - html.Div(id='clear-template', children="False", style={'display': 'none'}), - html.Div(id='display-template', children="False", style={'display': 'none'}) - ]) - ], style={"textAlign": "center", "padding": "10px"} - ) - ) - # load callbacks - callbacks().init(self, app, g) - # Return the Layer - return layer - except Exception as e: - print("Layer:" + str(e)) diff --git a/src/templates/Template Module/spark.py b/src/templates/Template Module/spark.py deleted file mode 100644 index 5432f84913cf1773f14ebe503ccbc97fabc054b7..0000000000000000000000000000000000000000 --- a/src/templates/Template Module/spark.py +++ /dev/null @@ -1,56 +0,0 @@ -""" Spark pre-processing operations . -""" - -import traceback - -def process(g): - """ Start processing and reduce module count . - - Args: - g (Global_Var): reference to access global variables - """ - preProcessing(g) - g.modulesNbr = g.modulesNbr - 1 - -# Spark operations and pre-processing -------------------------------- - - -def preProcessing(g): - """Loads the GDD database into BDD . - - Args: - g (Global_Var): reference to access global variables - """ - MODULE_NAME = "" - DOCUMENT_NAME = "" - OUTPUT_DOCUMENT_NAME = "" - MONGODBURL = g.MONGODBURL - try: - if (not (OUTPUT_DOCUMENT_NAME in g.db.list_collection_names())) and (DOCUMENT_NAME in g.db.list_collection_names()): - - # Spark setup -------------------------------------------- - - if g.sparkSession == None: - g.createSparkSession() - - # doing the heavy work ----------------------------------- - - # Save data into Mongo------------------------------------ - - #df.write.format("com.mongodb.spark.sql.DefaultSource") \ - # .option("spark.mongodb.output.uri", - # MONGODBURL + g.name + "."+OUTPUT_DOCUMENT_NAME+"?authSource=admin&readPreference=primaryPreferred").mode("overwrite").save() - - #print("Saved to BDD") - - # ------------------------------------------------------------ - else: - if(not DOCUMENT_NAME in g.db.list_collection_names()): - print(DOCUMENT_NAME, "not found") - g.modules = [module for module in g.modules if module != MODULE_NAME] - print("done ", MODULE_NAME) - - except Exception as e: - print("Error:" + str(e)) - traceback.print_exc() - pass diff --git a/src/templates/callbacksOp.py b/src/templates/callbacksOp.py new file mode 100644 index 0000000000000000000000000000000000000000..9345902131794e1dcf25a1e61d0868533ccda518 --- /dev/null +++ b/src/templates/callbacksOp.py @@ -0,0 +1,36 @@ +""" Dash callbacks template. +""" + + +from dash.dependencies import Output, Input, State + + +class callbacksOp(): + + def __init__(self, app, g): + self.app = app + self.g = g + + """Initialize the callback . + + Args: + app : Flask app + g (Global_Var): reference to access global variables + """ + # ------------------------------------------------------------ + # Callbacks + # ------------------------------------------------------------ + # to prevent creating duplicate callbacks next use (to be copied) + if not g.checkExistance(app, "name of one element from layout"): + + try: + @app.callback([Output("display-template", "children"), Output("clear-template", "children")], + [Input("v-step", "children")], [State("interval", "value"), State("clear", "children"), + State("clear-Neuron", "children"), State("display-Neuron", "children")]) + def display(value, step, clear, localClear, display): + if(localClear != clear): + super.clearData() + + return [display, clear] + except Exception as e: + print("display:"+str(e)) \ No newline at end of file diff --git a/src/templates/layoutOp.py b/src/templates/layoutOp.py new file mode 100644 index 0000000000000000000000000000000000000000..b45a1b4a260aeb42e3bd4b78c70a0c0e3e57890e --- /dev/null +++ b/src/templates/layoutOp.py @@ -0,0 +1,29 @@ +""" Dash layout template . +""" + +class layoutOp(): + """ Layout class + """ + + def load(self, app, g): + """ + Args: + app : Flask app + g (Global_Var): reference to access global variables + """ + self.app = app + self.g = g + return self.Vis() + + def clearData(self): + """ Clear the data when moved forward or backward for more than one step + """ + print("Clear different deques") + + def Vis(self): + """ Create layer components + + Returns: + Dash app layer + """ + print("Layout here") \ No newline at end of file diff --git a/src/templates/sparkOp.py b/src/templates/sparkOp.py new file mode 100644 index 0000000000000000000000000000000000000000..8593ed1a1fdd9aa44a8489cef9faf46b2c6b7c93 --- /dev/null +++ b/src/templates/sparkOp.py @@ -0,0 +1,23 @@ +""" Spark pre-processing template . +""" + +class sparkOp(): + def __init__(self,g,module,document,output_document): + """ + Args: + g (Global_Var): reference to access global variables + """ + self.g = g + self.MODULE_NAME = module + self.DOCUMENT_NAME = document + self.OUTPUT_DOCUMENT_NAME = output_document + self.MONGODBURL = g.MONGODBURL + self.preProcessing() + self.g.modulesNbr = self.g.modulesNbr - 1 + + # Spark operations and pre-processing -------------------------------- + + def preProcessing(self): + """ Preprocessing using Spark and storing data again in DB. + """ + print("Add spark operations here") \ No newline at end of file