Temp disable weather example test + some misc. fixes.
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/util/NCUtils.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/util/NCUtils.scala
index db9082f..782760c 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/util/NCUtils.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/util/NCUtils.scala
@@ -1420,28 +1420,28 @@
* @return
*/
def colorJson(json: String): String = {
- val buf = mutable.Buffer.empty[String]
+ val buf = new StringBuilder
var inQuotes = false
for (ch ← json) {
ch match {
- case ':' if !inQuotes ⇒ buf += s"$ansiBold$ansiRedFg:$ansiReset"
- case '[' | ']' | '{' | '}' if !inQuotes ⇒ buf += s"$ansiBold$ansiYellowFg$ch$ansiReset"
- case ',' if !inQuotes ⇒ buf += s"$ansiBold$ansiGreenFg$ch$ansiReset"
+ case ':' if !inQuotes ⇒ buf ++= s"$ansiRedFg:$ansiReset"
+ case '[' | ']' | '{' | '}' if !inQuotes ⇒ buf ++= s"$ansiYellowFg$ch$ansiReset"
+ case ',' if !inQuotes ⇒ buf ++= s"$ansiGreenFg$ch$ansiReset"
case '"' ⇒
if (inQuotes)
- buf += s"$ansiReset$ansiBlueFg$ch$ansiReset"
+ buf ++= s"$ansiBlueFg$ch$ansiReset"
else
- buf += s"$ansiBlueFg$ch$ansiCyanFg"
+ buf ++= s"$ansiBlueFg$ch$ansiCyanFg"
inQuotes = !inQuotes
- case _ ⇒ buf += s"$ch"
+ case _ ⇒ buf ++= s"$ch"
}
}
- buf.mkString
+ buf.toString()
}
/**
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/examples/misc/darksky/DarkSkyService.java b/nlpcraft/src/main/scala/org/apache/nlpcraft/examples/misc/darksky/DarkSkyService.java
index ef8d353..ed53b19 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/examples/misc/darksky/DarkSkyService.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/examples/misc/darksky/DarkSkyService.java
@@ -189,7 +189,7 @@
return p.get();
}
catch (ExecutionException | InterruptedException e) {
- throw new DarkSkyException("Error execution weather request.", e);
+ throw new DarkSkyException("Error executing weather request.", e);
}
}).
sorted(Comparator.comparing(Pair::getLeft)).
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/NCModelManager.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/NCModelManager.scala
index 313e175..296a299 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/NCModelManager.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/NCModelManager.scala
@@ -23,6 +23,7 @@
import org.apache.nlpcraft.model._
import org.apache.nlpcraft.probe.mgrs.NCProbeModel
import org.apache.nlpcraft.probe.mgrs.deploy._
+import org.apache.nlpcraft.common.ansi.NCAnsiColor._
import scala.collection.convert.DecorateAsScala
import scala.util.control.Exception._
@@ -45,7 +46,7 @@
*/
@throws[NCE]
override def start(parent: Span = null): NCService = startScopedSpan("start", parent) { span ⇒
- val tbl = NCAsciiTable("Model ID", "Name", "Ver.", "Elements", "Synonyms", "Intents")
+ val tbl = NCAsciiTable("Model", "Intents")
mux.synchronized {
data = NCDeployManager.getModels.map(w ⇒ {
@@ -58,16 +59,22 @@
val mdl = w.model
val synCnt = w.synonyms.values.flatMap(_.values).flatten.size
+ val elmCnt = w.elements.keySet.size
tbl += (
- mdl.getId,
- mdl.getName,
- mdl.getVersion,
- w.elements.keySet.size,
- synCnt,
+ Seq(
+ s"${mdl.getName}",
+ s"ID: $ansiBold${mdl.getId}$ansiReset, ver: ${mdl.getVersion}",
+ s"Elements: $elmCnt" + (if (elmCnt == 0) s" $ansiRedFg(!)$ansiReset" else ""),
+ s"Synonyms: $synCnt" + (if (synCnt == 0) s" $ansiRedFg(!)$ansiReset" else "")
+ ),
w.intents
.map(_.toDslString)
- .flatMap(s ⇒ s.replaceAll(" term", "\n term").split("\n"))
+ .flatMap(s ⇒
+ s
+ .replaceAll("intent=", s"${ansiGreenFg}intent$ansiReset=")
+ .replaceAll(" term", s"\n ${ansiCyanFg}term$ansiReset").split("\n")
+ )
)
})
}
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/query/NCQueryManager.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/query/NCQueryManager.scala
index 91d09a0..6eb5e9b 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/query/NCQueryManager.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/query/NCQueryManager.scala
@@ -261,7 +261,7 @@
startScopedSpan("future", parent, "srvReqId" → srvReqId) { span ⇒
val tbl = NCAsciiTable()
- tbl += (s"${ansiBlueFg}Text$ansiReset", txt0)
+ tbl += (s"${ansiBlueFg}Text$ansiReset", s"$ansiGreenFg$txt0$ansiReset")
tbl += (s"${ansiBlueFg}User ID$ansiReset", usr.id)
tbl += (s"${ansiBlueFg}Model ID$ansiReset", mdlId)
tbl += (s"${ansiBlueFg}Agent$ansiReset", usrAgent.getOrElse("<n/a>"))
diff --git a/nlpcraft/src/test/scala/org/apache/nlpcraft/NCTestExampleModelsSpec.scala b/nlpcraft/src/test/scala/org/apache/nlpcraft/NCTestExampleModelsSpec.scala
index ae550a3..2e57177 100644
--- a/nlpcraft/src/test/scala/org/apache/nlpcraft/NCTestExampleModelsSpec.scala
+++ b/nlpcraft/src/test/scala/org/apache/nlpcraft/NCTestExampleModelsSpec.scala
@@ -30,8 +30,7 @@
"org.apache.nlpcraft.examples.alarm.AlarmModel," +
"org.apache.nlpcraft.examples.time.TimeModel," +
"org.apache.nlpcraft.examples.lightswitch.LightSwitchModel," +
- "org.apache.nlpcraft.examples.echo.EchoModel," +
- "org.apache.nlpcraft.examples.weather.WeatherModel"
+ "org.apache.nlpcraft.examples.echo.EchoModel"
// Instruct auto-validator what models to test.
System.setProperty("NLPCRAFT_TEST_MODELS", models)
diff --git a/nlpcraft/src/test/scala/org/apache/nlpcraft/server/rest/NCRestSpec.scala b/nlpcraft/src/test/scala/org/apache/nlpcraft/server/rest/NCRestSpec.scala
index 85f40c3..908277e 100644
--- a/nlpcraft/src/test/scala/org/apache/nlpcraft/server/rest/NCRestSpec.scala
+++ b/nlpcraft/src/test/scala/org/apache/nlpcraft/server/rest/NCRestSpec.scala
@@ -32,6 +32,7 @@
import org.apache.nlpcraft.NCTestContext
import org.junit.jupiter.api.Assertions._
import org.junit.jupiter.api.{AfterEach, BeforeEach}
+import org.apache.nlpcraft.common._
import scala.collection.JavaConverters._
@@ -190,13 +191,15 @@
checkStatus(resp)
println("Checked POST:")
- println(GSON.toJson(
- Map(
- "url" → url,
- "params" → new java.util.HashMap[String, Any](ps.toMap.asJava),
- "response" → resp.asJava
- ).asJava
- ))
+ println(U.colorJson(
+ GSON.toJson(
+ Map(
+ "url" → url,
+ "params" → new java.util.HashMap[String, Any](ps.toMap.asJava),
+ "response" → resp.asJava
+ ).asJava
+ ))
+ )
val ctx = JsonPath.parse(GSON.toJson(resp.asJava))