You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nlpcraft.apache.org by se...@apache.org on 2022/08/25 10:28:47 UTC
[incubator-nlpcraft] 06/11: IDL fragments related fixes.
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 <sk...@gmail.com>
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