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 aa76186  WIP.
aa76186 is described below

commit aa76186b55fcfa830970bdfbf22b69186a866445
Author: unknown <[email protected]>
AuthorDate: Wed May 26 22:17:04 2021 -0700

    WIP.
---
 nlpcraft/pom.xml                                         |  4 ++++
 .../main/scala/org/apache/nlpcraft/common/package.scala  |  4 ++++
 .../nlpcraft/model/tools/sqlgen/impl/NCSqlBeans.scala    |  6 ++----
 .../model/tools/sqlgen/impl/NCSqlExtractorImpl.scala     | 10 ++++++----
 .../model/tools/sqlgen/impl/NCSqlSchemaBuilderImpl.scala |  4 +---
 .../org/apache/nlpcraft/probe/mgrs/NCProbeVariants.scala |  3 +--
 .../nlpcraft/probe/mgrs/cmd/NCCommandManager.scala       |  4 ++--
 .../probe/mgrs/conversation/NCConversation.scala         |  3 +--
 .../nlpcraft/probe/mgrs/deploy/NCDeployManager.scala     | 14 ++++++--------
 .../probe/mgrs/nlp/NCProbeEnrichmentManager.scala        |  4 ++--
 .../probe/mgrs/nlp/enrichers/limit/NCLimitEnricher.scala |  4 ++--
 .../probe/mgrs/nlp/enrichers/model/NCModelEnricher.scala | 16 ++++++++--------
 .../nlpcraft/probe/mgrs/nlp/impl/NCRequestImpl.scala     |  3 +--
 .../model/properties/NCTokensRestrictionsSpec.scala      |  2 +-
 .../org/apache/nlpcraft/model/sparse/NCSparseSpec.scala  |  8 ++++----
 .../org/apache/nlpcraft/models/stm/NCStmTestModel.scala  |  2 +-
 .../probe/mgrs/nlp/enrichers/NCDefaultTestModel.scala    |  4 ++--
 .../probe/mgrs/nlp/enrichers/NCEnrichersTestBeans.scala  | 12 ++++++------
 .../mgrs/nlp/enrichers/NCEnrichersTestContext.scala      |  4 ++--
 .../nlp/enrichers/model/NCEnricherNestedModelSpec3.scala |  2 +-
 .../enrichers/model/NCEnricherNestedModelSpec41.scala    |  2 +-
 .../mgrs/nlp/enrichers/sort/NCEnricherSortSpec.scala     |  4 ++--
 pom.xml                                                  |  7 +++++++
 23 files changed, 67 insertions(+), 59 deletions(-)

diff --git a/nlpcraft/pom.xml b/nlpcraft/pom.xml
index f89d912..779a4ba 100644
--- a/nlpcraft/pom.xml
+++ b/nlpcraft/pom.xml
@@ -86,6 +86,10 @@
             <artifactId>commons-math3</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.scala-lang.modules</groupId>
+            <artifactId>scala-parallel-collections_${scala.base}</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.apache.logging.log4j</groupId>
             <artifactId>log4j-slf4j-impl</artifactId>
         </dependency>
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/package.scala 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/package.scala
index f526864..3b46896 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/package.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/package.scala
@@ -22,6 +22,7 @@ import java.util.function.{BiPredicate, Consumer, Supplier, 
Function ⇒ JFuncti
 import org.apache.nlpcraft.common.ansi.NCAnsi._
 import org.apache.nlpcraft.common.util._
 
+import scala.collection.mutable
 import scala.jdk.CollectionConverters.MapHasAsScala
 import scala.language.implicitConversions
 
@@ -181,6 +182,9 @@ package object common {
         def === (x: Option[T]): Boolean = x.isDefined && opt == x.get
     }
 
+    implicit def mutableToImmutableSeq[T](opt: mutable.Iterable[T]): Seq[T] = 
opt.toSeq
+    implicit def iterableToImmutableSeq[T](opt: Iterable[T]): Seq[T] = 
opt.toSeq
+
     /**
      * 
      * @param f
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/sqlgen/impl/NCSqlBeans.scala
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/sqlgen/impl/NCSqlBeans.scala
index 0c84595..19fbd5f 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/sqlgen/impl/NCSqlBeans.scala
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/sqlgen/impl/NCSqlBeans.scala
@@ -20,12 +20,10 @@ package org.apache.nlpcraft.model.tools.sqlgen.impl
 import java.sql.Timestamp
 import java.util
 import java.util.Optional
-
 import org.apache.nlpcraft.model.tools.sqlgen._
 
-import scala.collection.JavaConverters._
-import scala.collection._
-import scala.compat.java8.OptionConverters._
+import scala.compat.java8.OptionConverters.RichOptionForJava8
+import scala.jdk.CollectionConverters.SeqHasAsJava
 
 /**
   *
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/sqlgen/impl/NCSqlExtractorImpl.scala
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/sqlgen/impl/NCSqlExtractorImpl.scala
index b914716..b4657b2 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/sqlgen/impl/NCSqlExtractorImpl.scala
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/sqlgen/impl/NCSqlExtractorImpl.scala
@@ -19,13 +19,12 @@ package org.apache.nlpcraft.model.tools.sqlgen.impl
 
 import java.sql.Timestamp
 import java.util
-
 import org.apache.nlpcraft.common.NCException
 import org.apache.nlpcraft.model._
 import org.apache.nlpcraft.model.tools.sqlgen._
 
-import scala.collection.JavaConverters._
 import scala.compat.java8.OptionConverters._
+import scala.jdk.CollectionConverters.{CollectionHasAsScala, SeqHasAsJava}
 
 /**
   *
@@ -168,6 +167,8 @@ class NCSqlExtractorImpl(schema: NCSqlSchema, variant: 
NCVariant) extends NCSqlE
                     else
                         throw new NCException(s"Token not found with index: 
$idx")
                 })
+                .toSeq
+
             case None => Seq.empty
         }
     }
@@ -197,6 +198,7 @@ class NCSqlExtractorImpl(schema: NCSqlSchema, variant: 
NCVariant) extends NCSqlE
             else
                 throw new NCException(s"Token not found with index: $idx")
         )
+        .toSeq
     }
 
     /**
@@ -260,10 +262,10 @@ class NCSqlExtractorImpl(schema: NCSqlSchema, variant: 
NCVariant) extends NCSqlE
                 var colTabs = cols.filter(_.getTable == t.getTable)
 
                 if (colTabs.isEmpty)
-                    colTabs = t.getColumns.asScala.filter(_.isPk)
+                    colTabs = t.getColumns.asScala.filter(_.isPk).toSeq
 
                 if (colTabs.isEmpty)
-                    colTabs = t.getColumns.asScala.take(1)
+                    colTabs = t.getColumns.asScala.take(1).toSeq
 
                 require(colTabs.nonEmpty)
 
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 44ae940..98d8ebd 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
@@ -18,14 +18,12 @@
 package org.apache.nlpcraft.model.tools.sqlgen.impl
 
 import java.util
-
 import org.apache.nlpcraft.common.NCException
 import org.apache.nlpcraft.model.NCModel
 import org.apache.nlpcraft.model.tools.sqlgen._
 
-import scala.collection.JavaConverters._
-import scala.collection.Seq
 import scala.compat.java8.OptionConverters._
+import scala.jdk.CollectionConverters.{CollectionHasAsScala, ListHasAsScala}
 
 /**
   * 
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/NCProbeVariants.scala 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/NCProbeVariants.scala
index 32a77cf..b5169b7 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/NCProbeVariants.scala
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/NCProbeVariants.scala
@@ -26,8 +26,7 @@ import org.apache.nlpcraft.model.{NCToken, NCVariant}
 import java.io.{Serializable => JSerializable}
 import java.util
 import java.util.Collections.singletonList
-import scala.collection.JavaConverters._
-import scala.collection.{Seq, mutable}
+import scala.collection.mutable
 
 /**
   * Sentence to variants converter.
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/cmd/NCCommandManager.scala
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/cmd/NCCommandManager.scala
index 6ef7e3c..1b17353 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/cmd/NCCommandManager.scala
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/cmd/NCCommandManager.scala
@@ -17,7 +17,7 @@
 
 package org.apache.nlpcraft.probe.mgrs.cmd
 
-import java.io.{Serializable => JSerializable}
+import java.io.{Serializable ⇒ JSerializable}
 import com.google.gson.Gson
 import io.opencensus.trace.Span
 import org.apache.nlpcraft.common.{NCService, _}
@@ -31,7 +31,7 @@ import org.apache.nlpcraft.probe.mgrs.model.NCModelManager
 import org.apache.nlpcraft.probe.mgrs.nlp.NCProbeEnrichmentManager
 
 import java.util
-import scala.collection.JavaConverters._
+import scala.jdk.CollectionConverters.{ListHasAsScala, MapHasAsJava, 
MapHasAsScala, SeqHasAsJava, SetHasAsScala}
 
 /**
   * Probe commands processor.
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/conversation/NCConversation.scala
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/conversation/NCConversation.scala
index cbe11f2..dd8937a 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/conversation/NCConversation.scala
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/conversation/NCConversation.scala
@@ -20,7 +20,6 @@ package org.apache.nlpcraft.probe.mgrs.conversation
 import java.util
 import java.util.concurrent.ConcurrentHashMap
 import java.util.function.Predicate
-
 import com.typesafe.scalalogging.LazyLogging
 import io.opencensus.trace.Span
 import org.apache.nlpcraft.common._
@@ -28,8 +27,8 @@ import org.apache.nlpcraft.common.ascii.NCAsciiTable
 import org.apache.nlpcraft.common.opencensus.NCOpenCensusTrace
 import org.apache.nlpcraft.model._
 
-import scala.collection.JavaConverters._
 import scala.collection.mutable
+import scala.jdk.CollectionConverters.{BufferHasAsJava, ListHasAsScala, 
SeqHasAsJava}
 
 /**
   * An active conversation is an ordered set of utterances for the specific 
user and data model.
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/deploy/NCDeployManager.scala
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/deploy/NCDeployManager.scala
index 4913892..77c898d 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/deploy/NCDeployManager.scala
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/deploy/NCDeployManager.scala
@@ -38,19 +38,17 @@ import 
org.apache.nlpcraft.model.intent.solver.NCIntentSolver
 import org.apache.nlpcraft.model.intent._
 import org.apache.nlpcraft.probe.mgrs.NCProbeSynonymChunkKind.{IDL, REGEX, 
TEXT}
 import org.apache.nlpcraft.probe.mgrs.{NCProbeModel, NCProbeSynonym, 
NCProbeSynonymChunk, NCProbeSynonymsWrapper}
-import scala.util.Using
 
-import scala.collection.JavaConverters._
+import scala.util.Using
 import scala.compat.java8.OptionConverters._
-import scala.collection.convert.DecorateAsScala
 import scala.collection.mutable
-import scala.collection.mutable.{ArrayBuffer, ListBuffer}
+import scala.jdk.CollectionConverters.{ListHasAsScala, MapHasAsJava, 
MapHasAsScala, SetHasAsScala}
 import scala.util.control.Exception._
 
 /**
   * Model deployment manager.
   */
-object NCDeployManager extends NCService with DecorateAsScala {
+object NCDeployManager extends NCService {
     private final val TOKENS_PROVIDERS_PREFIXES = Set("nlpcraft:", "google:", 
"stanford:", "opennlp:", "spacy:")
     private final val ID_REGEX = "^[_a-zA-Z]+[a-zA-Z0-9:\\-_]*$"
 
@@ -85,7 +83,7 @@ object NCDeployManager extends NCService with DecorateAsScala 
{
 
     private final val SUSP_SYNS_CHARS = Seq("?", "*", "+")
 
-    @volatile private var data: ArrayBuffer[NCProbeModel] = _
+    @volatile private var data: mutable.ArrayBuffer[NCProbeModel] = _
     @volatile private var mdlFactory: NCModelFactory = _
 
     object Config extends NCConfigurable {
@@ -286,7 +284,7 @@ object NCDeployManager extends NCService with 
DecorateAsScala {
             def chunkSplit(s: String): Seq[NCProbeSynonymChunk] = {
                 val x = s.trim()
 
-                val chunks = ListBuffer.empty[String]
+                val chunks = mutable.ArrayBuffer.empty[String]
 
                 var start = 0
                 var curr = 0
@@ -654,7 +652,7 @@ object NCDeployManager extends NCService with 
DecorateAsScala {
     override def start(parent: Span = null): NCService = 
startScopedSpan("start", parent) { _ =>
         ackStarting()
 
-        data = ArrayBuffer.empty[NCProbeModel]
+        data = mutable.ArrayBuffer.empty[NCProbeModel]
 
         mdlFactory = Config.modelFactoryType match {
             case Some(mft) =>
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/NCProbeEnrichmentManager.scala
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/NCProbeEnrichmentManager.scala
index 1e74075..4ad9b71 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/NCProbeEnrichmentManager.scala
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/NCProbeEnrichmentManager.scala
@@ -50,9 +50,9 @@ import java.io.Serializable
 import java.util
 import java.util.function.Predicate
 import java.util.{Date, Objects}
-import scala.collection.JavaConverters._
-import scala.collection.{Seq, _}
+import scala.collection.mutable
 import scala.concurrent.ExecutionContext
+import scala.jdk.CollectionConverters.{CollectionHasAsScala, ListHasAsScala, 
SeqHasAsJava}
 
 /**
   * Probe enrichment manager.
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/limit/NCLimitEnricher.scala
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/limit/NCLimitEnricher.scala
index 2eb2c25..6b63fbc 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/limit/NCLimitEnricher.scala
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/limit/NCLimitEnricher.scala
@@ -27,8 +27,8 @@ import org.apache.nlpcraft.probe.mgrs.NCProbeModel
 import org.apache.nlpcraft.probe.mgrs.nlp.NCProbeEnricher
 
 import java.io.Serializable
-import scala.collection.JavaConverters._
-import scala.collection.{Map, Seq, mutable}
+import scala.collection.mutable
+import scala.jdk.CollectionConverters.{CollectionHasAsScala, MapHasAsScala, 
SeqHasAsJava}
 
 /**
   * Limit enricher.
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/model/NCModelEnricher.scala
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/model/NCModelEnricher.scala
index 8de65d7..867d10a 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/model/NCModelEnricher.scala
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/model/NCModelEnricher.scala
@@ -19,27 +19,27 @@ package org.apache.nlpcraft.probe.mgrs.nlp.enrichers.model
 
 import io.opencensus.trace.Span
 import org.apache.nlpcraft.common._
-import org.apache.nlpcraft.common.nlp.{NCNlpSentenceToken => NlpToken, 
NCNlpSentenceNote => NlpNote, NCNlpSentence => Sentence}
+import org.apache.nlpcraft.common.nlp.{NCNlpSentence ⇒ Sentence, 
NCNlpSentenceNote ⇒ NlpNote, NCNlpSentenceToken ⇒ NlpToken}
 import org.apache.nlpcraft.model._
 import org.apache.nlpcraft.probe.mgrs.NCProbeSynonym.NCIdlContent
 import 
org.apache.nlpcraft.probe.mgrs.NCProbeSynonymChunkKind.{NCSynonymChunkKind, _}
 import org.apache.nlpcraft.probe.mgrs.nlp.NCProbeEnricher
 import org.apache.nlpcraft.probe.mgrs.nlp.impl.NCRequestImpl
 import org.apache.nlpcraft.probe.mgrs.sentence.NCSentenceManager
-import org.apache.nlpcraft.probe.mgrs.{NCProbeModel, NCProbeVariants, 
NCProbeSynonym => Synonym}
+import org.apache.nlpcraft.probe.mgrs.{NCProbeModel, NCProbeVariants, 
NCProbeSynonym ⇒ Synonym}
 
 import java.io.Serializable
 import java.util
-import java.util.{List => JList}
-import scala.collection.JavaConverters._
-import scala.collection.convert.DecorateAsScala
+import java.util.{List ⇒ JList}
 import scala.collection.mutable.ArrayBuffer
-import scala.collection.{Map, Seq, mutable}
+import scala.collection.mutable
+import scala.jdk.CollectionConverters.{ListHasAsScala, MapHasAsJava, 
MapHasAsScala, SeqHasAsJava}
+import scala.collection.parallel.CollectionConverters._
 
 /**
   * Model elements enricher.
   */
-object NCModelEnricher extends NCProbeEnricher with DecorateAsScala {
+object NCModelEnricher extends NCProbeEnricher {
     type TokType = (NCToken, NCSynonymChunkKind)
     type Cache = mutable.Map[String, ArrayBuffer[Seq[Int]]]
 
@@ -462,7 +462,7 @@ object NCModelEnricher extends NCProbeEnricher with 
DecorateAsScala {
             "enrich", parent, "srvReqId" -> ns.srvReqId, "mdlId" -> 
mdl.model.getId, "txt" -> ns.text
         ) { span =>
             val req = NCRequestImpl(senMeta, ns.srvReqId)
-            val combToks = combos(ns)
+            val combToks = combos(ns.toSeq)
             lazy val ch = mkComplexes(mdl, ns)
 
             def execute(simpleEnabled: Boolean, idlEnabled: Boolean): Unit =
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/impl/NCRequestImpl.scala
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/impl/NCRequestImpl.scala
index 0376380..f04a2fc 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/impl/NCRequestImpl.scala
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/impl/NCRequestImpl.scala
@@ -22,9 +22,8 @@ import org.apache.nlpcraft.model._
 import org.apache.nlpcraft.model.impl._
 
 import java.util.{Collections, Optional}
-import scala.collection.JavaConverters._
-import scala.collection._
 import scala.compat.java8.OptionConverters._
+import scala.jdk.CollectionConverters.MapHasAsJava
 
 /**
  *
diff --git 
a/nlpcraft/src/test/scala/org/apache/nlpcraft/model/properties/NCTokensRestrictionsSpec.scala
 
b/nlpcraft/src/test/scala/org/apache/nlpcraft/model/properties/NCTokensRestrictionsSpec.scala
index a99050b..0684cb4 100644
--- 
a/nlpcraft/src/test/scala/org/apache/nlpcraft/model/properties/NCTokensRestrictionsSpec.scala
+++ 
b/nlpcraft/src/test/scala/org/apache/nlpcraft/model/properties/NCTokensRestrictionsSpec.scala
@@ -22,7 +22,7 @@ import org.apache.nlpcraft.{NCTestContext, NCTestElement, 
NCTestEnvironment}
 import org.junit.jupiter.api.Test
 
 import java.util
-import scala.collection.JavaConverters._
+import scala.jdk.CollectionConverters.{MapHasAsJava, SetHasAsJava}
 
 class NCTokensRestrictionsModelAbstract extends NCModelAdapter(
     "nlpcraft.tokens.restr.test.mdl", "Tokens Restriction Test Model", "1.0"
diff --git 
a/nlpcraft/src/test/scala/org/apache/nlpcraft/model/sparse/NCSparseSpec.scala 
b/nlpcraft/src/test/scala/org/apache/nlpcraft/model/sparse/NCSparseSpec.scala
index a1ff21f..997150f 100644
--- 
a/nlpcraft/src/test/scala/org/apache/nlpcraft/model/sparse/NCSparseSpec.scala
+++ 
b/nlpcraft/src/test/scala/org/apache/nlpcraft/model/sparse/NCSparseSpec.scala
@@ -23,8 +23,8 @@ import org.apache.nlpcraft.{NCTestContext, NCTestElement, 
NCTestEnvironment}
 import org.junit.jupiter.api.Test
 
 import java.util
-import scala.collection.JavaConverters._
 import scala.collection.mutable
+import scala.jdk.CollectionConverters.CollectionHasAsScala
 
 class NCSparseModel extends NCAbstractTokensModel {
     override def getElements: util.Set[NCElement] = Set(NCTestElement("xyz", 
"x y z"))
@@ -38,14 +38,14 @@ class NCSparseModel extends NCAbstractTokensModel {
         def checkOneVariant(sparsity: Int): Unit = {
             require(variants.size == 1, "There is should be single variant.")
 
-            val toks = variants.head.asScala.filter(_.getId == "xyz")
+            val toks = variants.head.asScala.filter(_.getId == "xyz").toSeq
 
             require(toks.size == 3, "There are should be 3 `xyz` tokens.")
 
             checkSparsity(sparsity, toks)
         }
 
-        def checkSparsity(sparsity: Int, toks: mutable.Buffer[NCToken]): Unit =
+        def checkSparsity(sparsity: Int, toks: Seq[NCToken]): Unit =
             require(
                 
toks.forall(_.getMetadata.get("nlpcraft:nlp:sparsity").asInstanceOf[Int] == 
sparsity),
                 s"Sparsity of each tokens should be: $sparsity."
@@ -54,7 +54,7 @@ class NCSparseModel extends NCAbstractTokensModel {
         def checkExists(sparsity: Int): Unit =
             require(
                 variants.exists(v => {
-                    val toks = v.asScala.filter(_.getId == "xyz")
+                    val toks = v.asScala.filter(_.getId == "xyz").toSeq
 
                     toks.size match {
                         case 3 =>
diff --git 
a/nlpcraft/src/test/scala/org/apache/nlpcraft/models/stm/NCStmTestModel.scala 
b/nlpcraft/src/test/scala/org/apache/nlpcraft/models/stm/NCStmTestModel.scala
index 7405015..d51ec12 100644
--- 
a/nlpcraft/src/test/scala/org/apache/nlpcraft/models/stm/NCStmTestModel.scala
+++ 
b/nlpcraft/src/test/scala/org/apache/nlpcraft/models/stm/NCStmTestModel.scala
@@ -20,7 +20,7 @@ package org.apache.nlpcraft.models.stm
 import org.apache.nlpcraft.model.{NCIntentMatch, _}
 
 import java.util
-import scala.collection.JavaConverters._
+import scala.jdk.CollectionConverters.{SeqHasAsJava, SetHasAsJava}
 import scala.language.implicitConversions
 
 /**
diff --git 
a/nlpcraft/src/test/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/NCDefaultTestModel.scala
 
b/nlpcraft/src/test/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/NCDefaultTestModel.scala
index ee2ced7..04c88da 100644
--- 
a/nlpcraft/src/test/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/NCDefaultTestModel.scala
+++ 
b/nlpcraft/src/test/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/NCDefaultTestModel.scala
@@ -22,11 +22,11 @@ import org.apache.nlpcraft.model.{NCElement, 
NCModelAdapter, NCResult, NCValue}
 
 import java.util
 import java.util.Collections
-import scala.collection.JavaConverters._
 import scala.language.implicitConversions
-
 import NCDefaultTestModel._
 
+import scala.jdk.CollectionConverters.{SeqHasAsJava, SetHasAsJava}
+
 /**
   * Enrichers default test model.
   */
diff --git 
a/nlpcraft/src/test/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/NCEnrichersTestBeans.scala
 
b/nlpcraft/src/test/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/NCEnrichersTestBeans.scala
index cf45990..8f60144 100644
--- 
a/nlpcraft/src/test/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/NCEnrichersTestBeans.scala
+++ 
b/nlpcraft/src/test/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/NCEnrichersTestBeans.scala
@@ -18,19 +18,19 @@
 package org.apache.nlpcraft.probe.mgrs.nlp.enrichers
 
 import org.apache.nlpcraft.model.NCToken
-import scala.util.Using
 
+import scala.util.Using
 import java.io.{ByteArrayInputStream, ByteArrayOutputStream, 
ObjectInputStream, ObjectOutputStream}
 import java.nio.charset.StandardCharsets.UTF_8
 import java.util
 import java.util.{Base64, Optional}
-import scala.collection.JavaConverters._
+
 import scala.compat.java8.OptionConverters._
+import scala.jdk.CollectionConverters.ListHasAsScala
 
 /**
   * Tests infrastructure beans.
   */
-
 sealed trait NCTestToken {
     def id: String
     def text: String // Case-sensitive
@@ -324,7 +324,7 @@ object NCTestToken {
 
                 def get[T](opt: Optional[util.List[T]]) =
                     opt.asScala match {
-                        case Some(list) => list.asScala
+                        case Some(list) => list.asScala.toSeq
                         case None => Seq.empty
                     }
 
@@ -335,7 +335,7 @@ object NCTestToken {
                 NCTestRelationToken(
                     txt,
                     `type` = t.meta("nlpcraft:relation:type"),
-                    indexes = indexes.asScala,
+                    indexes = indexes.asScala.toSeq,
                     note = t.meta("nlpcraft:relation:note")
                 )
 
@@ -346,7 +346,7 @@ object NCTestToken {
                 NCTestLimitToken(
                     txt,
                     limit = t.meta("nlpcraft:limit:limit"),
-                    indexes = indexes.asScala,
+                    indexes = indexes.asScala.toSeq,
                     note = t.meta("nlpcraft:limit:note"),
                     asc.asScala
                 )
diff --git 
a/nlpcraft/src/test/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/NCEnrichersTestContext.scala
 
b/nlpcraft/src/test/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/NCEnrichersTestContext.scala
index c95f3dc..a8ede3a 100644
--- 
a/nlpcraft/src/test/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/NCEnrichersTestContext.scala
+++ 
b/nlpcraft/src/test/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/NCEnrichersTestContext.scala
@@ -19,7 +19,7 @@ package org.apache.nlpcraft.probe.mgrs.nlp.enrichers
 
 import org.apache.nlpcraft.model.{NCContext, NCModel, NCResult}
 
-import scala.collection.JavaConverters._
+import scala.jdk.CollectionConverters.CollectionHasAsScala
 
 /**
   * Enricher test model behaviour.
@@ -27,6 +27,6 @@ import scala.collection.JavaConverters._
 trait NCEnrichersTestContext extends NCModel {
     override final def onContext(ctx: NCContext): NCResult =
         NCResult.text(
-            NCTestSentence.serialize(ctx.getVariants.asScala.map(v => 
NCTestSentence(v.asScala.map(NCTestToken(_)))))
+            NCTestSentence.serialize(ctx.getVariants.asScala.map(v => 
NCTestSentence(v.asScala.map(NCTestToken(_)).toSeq)))
         )
 }
diff --git 
a/nlpcraft/src/test/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/model/NCEnricherNestedModelSpec3.scala
 
b/nlpcraft/src/test/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/model/NCEnricherNestedModelSpec3.scala
index f369520..9455ff8 100644
--- 
a/nlpcraft/src/test/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/model/NCEnricherNestedModelSpec3.scala
+++ 
b/nlpcraft/src/test/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/model/NCEnricherNestedModelSpec3.scala
@@ -22,7 +22,7 @@ import org.apache.nlpcraft.{NCTestContext, NCTestElement, 
NCTestEnvironment}
 import org.junit.jupiter.api.Test
 
 import java.util
-import scala.collection.JavaConverters._
+import scala.jdk.CollectionConverters.SetHasAsJava
 
 /**
   * Nested Elements test model.
diff --git 
a/nlpcraft/src/test/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/model/NCEnricherNestedModelSpec41.scala
 
b/nlpcraft/src/test/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/model/NCEnricherNestedModelSpec41.scala
index 9329685..7b210df 100644
--- 
a/nlpcraft/src/test/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/model/NCEnricherNestedModelSpec41.scala
+++ 
b/nlpcraft/src/test/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/model/NCEnricherNestedModelSpec41.scala
@@ -22,7 +22,7 @@ import org.apache.nlpcraft.{NCTestContext, NCTestElement, 
NCTestEnvironment}
 import org.junit.jupiter.api.Test
 
 import java.util
-import scala.collection.JavaConverters._
+import scala.jdk.CollectionConverters.SetHasAsJava
 
 /**
   * Nested Elements test model.
diff --git 
a/nlpcraft/src/test/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/sort/NCEnricherSortSpec.scala
 
b/nlpcraft/src/test/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/sort/NCEnricherSortSpec.scala
index b7af902..94cad05 100644
--- 
a/nlpcraft/src/test/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/sort/NCEnricherSortSpec.scala
+++ 
b/nlpcraft/src/test/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/sort/NCEnricherSortSpec.scala
@@ -20,11 +20,11 @@ package org.apache.nlpcraft.probe.mgrs.nlp.enrichers.sort
 import org.apache.nlpcraft.{NCTestElement, NCTestEnvironment}
 import org.apache.nlpcraft.model.NCElement
 import org.apache.nlpcraft.probe.mgrs.nlp.enrichers.NCTestSortTokenType._
-import org.apache.nlpcraft.probe.mgrs.nlp.enrichers.{NCDefaultTestModel, 
NCEnricherBaseSpec, NCTestNlpToken => nlp, NCTestSortToken => srt, 
NCTestUserToken => usr}
+import org.apache.nlpcraft.probe.mgrs.nlp.enrichers.{NCDefaultTestModel, 
NCEnricherBaseSpec, NCTestNlpToken ⇒ nlp, NCTestSortToken ⇒ srt, 
NCTestUserToken ⇒ usr}
 import org.junit.jupiter.api.Test
 
 import java.util
-import scala.collection.JavaConverters._
+import scala.jdk.CollectionConverters.{SetHasAsJava, SetHasAsScala}
 
 class NCDefaultSpecTestModel extends NCDefaultTestModel {
     override def getElements: util.Set[NCElement] = {
diff --git a/pom.xml b/pom.xml
index be1cd5b..bf77506 100644
--- a/pom.xml
+++ b/pom.xml
@@ -97,6 +97,7 @@
         <scala.xml.ver>1.1.1</scala.xml.ver>
         <c3p0.ver>0.9.5.4</c3p0.ver> <!-- Upgraded to due security 
vulnerability. -->
         <scalatest.ver>3.0.8</scalatest.ver>
+        <scala.par.colections>1.0.3</scala.par.colections>
         <lift.json.ver>3.4.3</lift.json.ver>
         <scalaj.ver>2.4.1</scalaj.ver>
         <spray.ver>1.3.5</spray.ver>
@@ -214,6 +215,12 @@
             </dependency>
 
             <dependency>
+                <groupId>org.scala-lang.modules</groupId>
+                
<artifactId>scala-parallel-collections_${scala.base}</artifactId>
+                <version>${scala.par.colections}</version>
+            </dependency>
+
+            <dependency>
                 <groupId>io.opencensus</groupId>
                 <artifactId>opencensus-exporter-trace-jaeger</artifactId>
                 <version>${opencensus.ver}</version>

Reply via email to