This is an automated email from the ASF dual-hosted git repository.

sergeykamov pushed a commit to branch NLPCRAFT-415
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft.git


The following commit(s) were added to refs/heads/NLPCRAFT-415 by this push:
     new ddef0ff  WIP.
ddef0ff is described below

commit ddef0fff167e44036b857be08a7d883de7bef225
Author: Sergey Kamov <[email protected]>
AuthorDate: Sun Aug 22 23:02:57 2021 +0300

    WIP.
---
 .../nlpcraft/server/probe/NCProbeManager.scala     | 23 ++++++++++++++--------
 1 file changed, 15 insertions(+), 8 deletions(-)

diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/probe/NCProbeManager.scala 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/probe/NCProbeManager.scala
index ad9f84a..66804a3 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/probe/NCProbeManager.scala
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/probe/NCProbeManager.scala
@@ -1126,16 +1126,17 @@ object NCProbeManager extends NCService {
                     )
 
                     val macros = 
res.remove("macros").asInstanceOf[java.util.Map[String, String]].asScala
-
                     var syns = 
res.remove("synonyms").asInstanceOf[java.util.List[String]].asScala
                     var vals = 
res.remove("values").asInstanceOf[java.util.Map[String, 
java.util.List[String]]].asScala
 
+                    require(macros != null)
+                    require(syns != null)
+                    require(vals != null)
+
                     val parser = NCMacroParser(macros.toList)
 
-                    var synsExp: Seq[(String, Seq[String])] =
-                        syns.map(s => s -> parser.expand(s))
-                    var valsExp: Map[String, mutable.Buffer[(String, 
Seq[String])]] =
-                        vals.map(v => v._1 -> v._2.asScala.map(s => s -> 
parser.expand(s))).toMap
+                    var synsExp = syns.map(s => s -> parser.expand(s))
+                    var valsExp = vals.map(v => v._1 -> v._2.asScala.map(s => 
s -> parser.expand(s))).toMap
 
                     pattern match {
                         case Some(p) =>
@@ -1154,9 +1155,15 @@ object NCProbeManager extends NCService {
                                 else
                                     None
                             }
-                            vals = vals.map { case (name, syns) => name -> 
syns.asScala.filter(s =>
-                                valsExp.exists { case (valExpName, valExpSyns) 
=> name == valExpName && valExpSyns.exists(_._1 == s)}
-                            )}.filter(_._2.nonEmpty).map(p => p._1 -> 
p._2.asJava)
+                            vals = vals.map {
+                                case (vName, vSyns) =>
+                                    vName ->
+                                    vSyns.asScala.filter(s =>
+                                        valsExp.exists {
+                                            case (vExpName, vExpSyns) => vName 
== vExpName && vExpSyns.exists(_._1 == s)
+                                        }
+                                    )
+                            }.filter(_._2.nonEmpty).map(p => p._1 -> 
p._2.asJava)
                         case None => // No-op.
                     }
 

Reply via email to