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

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


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

commit 511241adf74b0c114e7e2f4a88ed71201ca39ca0
Author: unknown <[email protected]>
AuthorDate: Thu May 27 13:01:18 2021 -0700

    WIP.
---
 .../apache/nlpcraft/common/debug/NCLogHolder.scala |  4 +-
 .../model/intent/solver/NCIntentSolverEngine.scala | 14 ++--
 .../sqlgen/impl/NCSqlModelGeneratorImpl.scala      | 84 +++++++++++-----------
 .../tools/sqlgen/impl/NCSqlSchemaBuilderImpl.scala | 12 ++--
 4 files changed, 59 insertions(+), 55 deletions(-)

diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/debug/NCLogHolder.scala 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/debug/NCLogHolder.scala
index 3781a3c..0f914b3 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/debug/NCLogHolder.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/debug/NCLogHolder.scala
@@ -191,8 +191,8 @@ class NCLogHolder extends Serializable {
         
         this.queryContext = ContextJson(
             request = reqJs,
-            variants = ctx.getVariants.asScala.map(seq => 
seq.asScala.map(convert).asJava).toSeq.asJava,
-            convTokens = 
ctx.getConversation.getTokens.asScala.map(convert).asJava
+            variants = ctx.getVariants.asScala.map(seq => 
seq.asScala.map(convert).toSeq.asJava).toSeq.asJava,
+            convTokens = 
ctx.getConversation.getTokens.asScala.map(convert).toSeq.asJava
         )
     }
     
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/solver/NCIntentSolverEngine.scala
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/solver/NCIntentSolverEngine.scala
index d26c8c2..2451f65 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/solver/NCIntentSolverEngine.scala
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/solver/NCIntentSolverEngine.scala
@@ -24,12 +24,13 @@ import org.apache.nlpcraft.common.debug.{NCLogGroupToken, 
NCLogHolder}
 import org.apache.nlpcraft.common.opencensus.NCOpenCensusTrace
 import org.apache.nlpcraft.model.impl.NCTokenLogger
 import org.apache.nlpcraft.model.impl.NCTokenPimp._
-import org.apache.nlpcraft.model.intent.{NCIdlContext, NCIdlFunction, 
NCIdlIntent, NCIdlTerm, NCIdlStackItem => Z}
+import org.apache.nlpcraft.model.intent.{NCIdlContext, NCIdlFunction, 
NCIdlIntent, NCIdlTerm, NCIdlStackItem ⇒ Z}
 import org.apache.nlpcraft.model.{NCContext, NCDialogFlowItem, NCIntentMatch, 
NCResult, NCToken}
 import org.apache.nlpcraft.probe.mgrs.dialogflow.NCDialogFlowManager
 
 import java.util.function.Function
 import scala.collection.mutable
+import scala.jdk.CollectionConverters.{CollectionHasAsScala, MapHasAsScala, 
SeqHasAsJava}
 
 /**
  * Intent solver that finds the best matching intent given user sentence.
@@ -200,8 +201,8 @@ object NCIntentSolverEngine extends LazyLogging with 
NCOpenCensusTrace {
             val matches = mutable.ArrayBuffer.empty[MatchHolder]
 
             // Find all matches across all intents and sentence variants.
-            for ((vrn, vrnIdx) <- ctx.getVariants.zipWithIndex) {
-                val availToks = vrn.filter(t => !t.isStopWord)
+            for ((vrn, vrnIdx) <- ctx.getVariants.asScala.zipWithIndex) {
+                val availToks = vrn.asScala.filter(t => !t.isStopWord)
 
                 matches.appendAll(
                     intents.flatMap(pair => {
@@ -210,7 +211,7 @@ object NCIntentSolverEngine extends LazyLogging with 
NCOpenCensusTrace {
 
                         // Isolated sentence tokens.
                         val senToks = Seq.empty[UsedToken] ++ 
availToks.map(UsedToken(false, false, _))
-                        val senTokGroups = availToks.map(t => if (t.getGroups 
!= null) t.getGroups.sorted else Seq.empty)
+                        val senTokGroups = availToks.map(t => if (t.getGroups 
!= null) t.getGroups.asScala.sorted else Seq.empty)
 
                         // Isolated conversation tokens.
                         val convToks =
@@ -218,9 +219,9 @@ object NCIntentSolverEngine extends LazyLogging with 
NCOpenCensusTrace {
                                 Seq.empty[UsedToken] ++
                                     // We shouldn't mix tokens with same group 
from conversation
                                     // history and processed sentence.
-                                    ctx.getConversation.getTokens.
+                                    ctx.getConversation.getTokens.asScala.
                                         filter(t => {
-                                            val convTokGroups = 
t.getGroups.sorted
+                                            val convTokGroups = 
t.getGroups.asScala.sorted
 
                                             
!senTokGroups.exists(convTokGroups.containsSlice)
                                         }).
@@ -292,6 +293,7 @@ object NCIntentSolverEngine extends LazyLogging with 
NCOpenCensusTrace {
                                     val variantPart =
                                         m.variant.
                                             tokens.
+                                            asScala.
                                             map(t => 
s"${t.getId}${t.getGroups}${t.getValue}${t.normText}").
                                             mkString("")
 
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/sqlgen/impl/NCSqlModelGeneratorImpl.scala
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/sqlgen/impl/NCSqlModelGeneratorImpl.scala
index f4b357f..4afba54 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/sqlgen/impl/NCSqlModelGeneratorImpl.scala
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/sqlgen/impl/NCSqlModelGeneratorImpl.scala
@@ -37,7 +37,7 @@ import org.apache.nlpcraft.common._
 import scala.util.Using
 import scala.collection.immutable.HashMap
 import scala.collection.{Seq, mutable}
-import scala.jdk.CollectionConverters.{IterableHasAsJava, SeqHasAsJava}
+import scala.jdk.CollectionConverters.{SeqHasAsJava, SetHasAsJava, 
MapHasAsJava}
 import scala.util.Try
 
 /**
@@ -320,52 +320,54 @@ object NCSqlModelGeneratorImpl {
         mdl.setEnabledBuiltInTokens(Array())
         mdl.setIntents(Array())
 
-        mdl.setMetadata(HashMap[String, Object](
-            "sql:timestamp" -> s"${Instant.now}",
-            "sql:url" -> params.url,
-            "sql:driver" -> params.driver,
-            "sql:user" -> params.user,
-            "sql:output" -> params.output,
-            "sql:schema" -> params.schema,
-            "sql:cmdline" -> params.cmdLine,
-            "sql:joins" ->
-                tables.flatMap(t => t.joins.map(j => {
-                    val fromTable = t.name.toLowerCase
-                    val toTable = j.toTable.toLowerCase
-                    val fromCols = j.fromColumns.map(_.toLowerCase)
-                    val toCols = j.toColumns.map(_.toLowerCase)
-
-                    def mkNullables(t: String, cols: Seq[String]): 
Seq[Boolean] = {
-                        val tabCols = tablesMap(t).columns
-
-                        cols.map(col => tabCols.find(_.name == col).get.isNull)
-                    }
+        mdl.setMetadata(
+            HashMap[String, AnyRef](
+                "sql:timestamp" -> s"${Instant.now}",
+                "sql:url" -> params.url,
+                "sql:driver" -> params.driver,
+                "sql:user" -> params.user,
+                "sql:output" -> params.output,
+                "sql:schema" -> params.schema,
+                "sql:cmdline" -> params.cmdLine,
+                "sql:joins" ->
+                    tables.flatMap(t => t.joins.map(j => {
+                        val fromTable = t.name.toLowerCase
+                        val toTable = j.toTable.toLowerCase
+                        val fromCols = j.fromColumns.map(_.toLowerCase)
+                        val toCols = j.toColumns.map(_.toLowerCase)
+
+                        def mkNullables(t: String, cols: Seq[String]): 
Seq[Boolean] = {
+                            val tabCols = tablesMap(t).columns
+
+                            cols.map(col => tabCols.find(_.name == 
col).get.isNull)
+                        }
 
-                    val fromColsNulls = mkNullables(fromTable, fromCols)
-                    val toColsNulls =mkNullables(toTable, toCols)
+                        val fromColsNulls = mkNullables(fromTable, fromCols)
+                        val toColsNulls =mkNullables(toTable, toCols)
 
-                    def forall(seq: Seq[Boolean], v: Boolean): Boolean = 
seq.forall(_ == v)
+                        def forall(seq: Seq[Boolean], v: Boolean): Boolean = 
seq.forall(_ == v)
 
-                    val typ =
-                        if (forall(fromColsNulls, v = true) && 
forall(toColsNulls, v = false))
-                            NCSqlJoinType.LEFT
-                        else if (forall(fromColsNulls, v = false) && 
forall(toColsNulls, v = true))
-                            NCSqlJoinType.RIGHT
-                        else
-                            // Default value.
-                            NCSqlJoinType.INNER
+                        val typ =
+                            if (forall(fromColsNulls, v = true) && 
forall(toColsNulls, v = false))
+                                NCSqlJoinType.LEFT
+                            else if (forall(fromColsNulls, v = false) && 
forall(toColsNulls, v = true))
+                                NCSqlJoinType.RIGHT
+                            else
+                                // Default value.
+                                NCSqlJoinType.INNER
 
-                    val m = new util.LinkedHashMap[String, Object]()
+                        val m = new util.LinkedHashMap[String, Object]()
 
-                    m.put("fromtable", fromTable)
-                    m.put("fromcolumns", fromCols.asJava)
-                    m.put("totable", toTable)
-                    m.put("tocolumns", toCols.asJava)
-                    m.put("jointype", typ.toString.toLowerCase)
+                        m.put("fromtable", fromTable)
+                        m.put("fromcolumns", fromCols.asJava)
+                        m.put("totable", toTable)
+                        m.put("tocolumns", toCols.asJava)
+                        m.put("jointype", typ.toString.toLowerCase)
 
-                    m
-                })).asJava
-        ).asJava)
+                        m
+                    })).asJava
+            ).asJava
+        )
         
         mdl.setElements(elems.toArray)
 
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/sqlgen/impl/NCSqlSchemaBuilderImpl.scala
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/sqlgen/impl/NCSqlSchemaBuilderImpl.scala
index 98d8ebd..63221d6 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/sqlgen/impl/NCSqlSchemaBuilderImpl.scala
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/sqlgen/impl/NCSqlSchemaBuilderImpl.scala
@@ -23,7 +23,7 @@ import org.apache.nlpcraft.model.NCModel
 import org.apache.nlpcraft.model.tools.sqlgen._
 
 import scala.compat.java8.OptionConverters._
-import scala.jdk.CollectionConverters.{CollectionHasAsScala, ListHasAsScala}
+import scala.jdk.CollectionConverters.{CollectionHasAsScala, ListHasAsScala, 
MapHasAsScala, SeqHasAsJava}
 
 /**
   * 
@@ -72,7 +72,7 @@ object NCSqlSchemaBuilderImpl {
         var tables =
             elems.filter(_.getGroups.contains("table")).
                 map(p => {
-                    def x(l: util.List[String]): Seq[String] = if (l == null) 
Seq.empty else l.asScala
+                    def x(l: util.List[String]): Seq[String] = if (l == null) 
Seq.empty else l.asScala.toSeq
 
                     val tab: String = p.metax("sql:name")
                     val dfltSelect = x(p.metax("sql:defaultselect"))
@@ -84,7 +84,7 @@ object NCSqlSchemaBuilderImpl {
                     
                     val table: NCSqlTableImpl = NCSqlTableImpl(
                         table = tab,
-                        columns = cols.asScala,
+                        columns = cols.asScala.toSeq,
                         sorts = Seq.empty,
                         selects = dfltSelect,
                         extraTables = extra,
@@ -170,14 +170,14 @@ object NCSqlSchemaBuilderImpl {
             val join: NCSqlJoin = NCSqlJoinImpl(
                 mget("fromtable").asInstanceOf[String],
                 mget("totable").asInstanceOf[String],
-                mget("fromcolumns").asInstanceOf[util.List[String]].asScala,
-                mget("tocolumns").asInstanceOf[util.List[String]].asScala,
+                
mget("fromcolumns").asInstanceOf[util.List[String]].asScala.toSeq,
+                
mget("tocolumns").asInstanceOf[util.List[String]].asScala.toSeq,
                 
NCSqlJoinType.valueOf(mget("jointype").asInstanceOf[String].toUpperCase())
             )
             
             join
         })
         
-        NCSqlSchemaImpl(tables, joins)
+        NCSqlSchemaImpl(tables, joins.toSeq)
     }
 }

Reply via email to