WIP.
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/compiler/NCIdlCompilerBase.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/compiler/NCIdlCompilerBase.scala
index 0954141..210b684 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/compiler/NCIdlCompilerBase.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/compiler/NCIdlCompilerBase.scala
@@ -867,12 +867,12 @@
// Company data.
case "comp_id" ⇒ z0(() ⇒ Z(termCtx.req.getCompany.getId, 0))
case "comp_name" ⇒ z0(() ⇒ Z(termCtx.req.getCompany.getName, 0))
- case "comp_website" ⇒ z0(() ⇒ Z(termCtx.req.getCompany.getWebsite, 0))
- case "comp_country" ⇒ z0(() ⇒ Z(termCtx.req.getCompany.getCountry, 0))
- case "comp_region" ⇒ z0(() ⇒ Z(termCtx.req.getCompany.getRegion, 0))
- case "comp_city" ⇒ z0(() ⇒ Z(termCtx.req.getCompany.getCity, 0))
- case "comp_addr" ⇒ z0(() ⇒ Z(termCtx.req.getCompany.getAddress, 0))
- case "comp_postcode" ⇒ z0(() ⇒ Z(termCtx.req.getCompany.getPostalCode, 0))
+ case "comp_website" ⇒ z0(() ⇒ Z(termCtx.req.getCompany.getWebsite.orElse(null), 0))
+ case "comp_country" ⇒ z0(() ⇒ Z(termCtx.req.getCompany.getCountry.orElse(null), 0))
+ case "comp_region" ⇒ z0(() ⇒ Z(termCtx.req.getCompany.getRegion.orElse(null), 0))
+ case "comp_city" ⇒ z0(() ⇒ Z(termCtx.req.getCompany.getCity.orElse(null), 0))
+ case "comp_addr" ⇒ z0(() ⇒ Z(termCtx.req.getCompany.getAddress.orElse(null), 0))
+ case "comp_postcode" ⇒ z0(() ⇒ Z(termCtx.req.getCompany.getPostalCode.orElse(null), 0))
// String functions.
case "trim" | "strip" ⇒ z[ST](arg1, { x ⇒ val Z(v, f) = x(); Z(toStr(v).trim, f) })
diff --git a/nlpcraft/src/test/scala/org/apache/nlpcraft/model/intent/idl/compiler/functions/NCIdlFunctionsCompany.scala b/nlpcraft/src/test/scala/org/apache/nlpcraft/model/intent/idl/compiler/functions/NCIdlFunctionsCompany.scala
index bb82d90..4f81bc9 100644
--- a/nlpcraft/src/test/scala/org/apache/nlpcraft/model/intent/idl/compiler/functions/NCIdlFunctionsCompany.scala
+++ b/nlpcraft/src/test/scala/org/apache/nlpcraft/model/intent/idl/compiler/functions/NCIdlFunctionsCompany.scala
@@ -31,7 +31,7 @@
@Test
def test(): Unit = {
test(new NCCompany {
- override def getId: Long = -1 // TODO: No REST API data (comp_id() cannot be used)
+ override def getId: Long = -1
override def getName: String = "name"
override def getWebsite: Optional[String] = Optional.of("website")
override def getCountry: Optional[String] = Optional.of("country")
@@ -44,7 +44,7 @@
})
test(new NCCompany {
- override def getId: Long = -1 // TODO: No REST API data (comp_id() cannot be used)
+ override def getId: Long = -1
override def getName: String = "name"
override def getWebsite: Optional[String] = Optional.empty()
override def getCountry: Optional[String] = Optional.empty()
@@ -62,16 +62,16 @@
val idlCtx = ctx(comp = comp)
def mkTestDesc(truth: String): TestDesc = TestDesc(truth = truth, idlCtx = idlCtx)
- def get(opt: Optional[String]): String = if (opt.isEmpty) null else opt.get()
+ def get(opt: Optional[String]): String = if (opt.isEmpty) null else s"'${opt.get()}'"
test(
mkTestDesc(s"comp_name() == '${comp.getName}'"),
- mkTestDesc(s"comp_website() == '${get(comp.getWebsite)}'"),
- mkTestDesc(s"comp_country() == '${get(comp.getCity)}'"),
- mkTestDesc(s"comp_region() == '${get(comp.getRegion)}'"),
- mkTestDesc(s"comp_city() == '${get(comp.getCity)}'"),
- mkTestDesc(s"comp_addr() == '${get(comp.getAddress)}'"),
- mkTestDesc(s"comp_postcode() == '${get(comp.getPostalCode)}'")
+ mkTestDesc(s"comp_website() == ${get(comp.getWebsite)}"),
+ mkTestDesc(s"comp_country() == ${get(comp.getCountry)}"),
+ mkTestDesc(s"comp_region() == ${get(comp.getRegion)}"),
+ mkTestDesc(s"comp_city() == ${get(comp.getCity)}"),
+ mkTestDesc(s"comp_addr() == ${get(comp.getAddress)}"),
+ mkTestDesc(s"comp_postcode() == ${get(comp.getPostalCode)}")
)
}
}