This is an automated email from the ASF dual-hosted git repository. sergeykamov pushed a commit to branch NLPCRAFT-500 in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft.git
commit 43eb7bfe57586fed96e8382e7d8e62a080e44091 Author: Sergey Kamov <[email protected]> AuthorDate: Thu Aug 25 12:19:41 2022 +0300 IDL fragments related fixes. --- .../nlpcraft/internal/intent/compiler/NCIDLCompiler.scala | 3 +-- .../intent/compiler/NCIDLFragmentsOverridingSpec.scala | 14 +++++++------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/intent/compiler/NCIDLCompiler.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/intent/compiler/NCIDLCompiler.scala index d54028d5..dbf93735 100644 --- a/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/intent/compiler/NCIDLCompiler.scala +++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/intent/compiler/NCIDLCompiler.scala @@ -260,12 +260,11 @@ class NCIDLCompiler(cfg: NCModelConfig) extends LazyLogging with mutable.Cloneab fragCache.get(frag.id) match case Some(exFrag) => - if frag.terms != exFrag.terms then logger.warn(s"Fragment '${frag.id}' was override for origin: '${this.origin}'.") + if frag.terms != exFrag.terms then logger.warn(s"Fragment '${frag.id}' was overriden for origin: '${this.origin}'.") case None => // No-op. fragCache += frag.id -> frag - terms.clear() fragId = null diff --git a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/intent/compiler/NCIDLFragmentsOverridingSpec.scala b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/intent/compiler/NCIDLFragmentsOverridingSpec.scala index 23f228a2..1940c2f6 100644 --- a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/intent/compiler/NCIDLFragmentsOverridingSpec.scala +++ b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/intent/compiler/NCIDLFragmentsOverridingSpec.scala @@ -29,11 +29,6 @@ import scala.util.Using class NCIDLFragmentsOverridingSpec: @NCIntent("fragment=f term(x)~{# == 'x'}") class M extends NCTestModelAdapter: - override val getPipeline: NCPipeline = - val pl = mkEnPipeline - pl.entParsers += NCTestUtils.mkEnSemanticParser(TE("x"), TE("y")) - pl - // Uses fragment defined on class level. @NCIntent("intent=i2 fragment(f)") private def onX(ctx: NCContext, im: NCIntentMatch): NCResult = NCResult("onX") @@ -41,10 +36,15 @@ class NCIDLFragmentsOverridingSpec: // Overrides fragment defined on class level. @NCIntent("fragment=f term(y)~{# == 'y'} intent=i1 fragment(f)") private def onY(ctx: NCContext, im: NCIntentMatch): NCResult = NCResult("onY") - + + override val getPipeline: NCPipeline = + val pl = mkEnPipeline + pl.entParsers += NCTestUtils.mkEnSemanticParser(TE("x"), TE("y")) + pl + @Test def test(): Unit = Using.resource(new NCModelClient(new M())) { client => require(client.ask("x", "usr").getBody == "onX") require(client.ask("y", "usr").getBody == "onY") - } + } \ No newline at end of file
