You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nlpcraft.apache.org by ar...@apache.org on 2020/04/26 04:24:47 UTC
[incubator-nlpcraft] branch master updated: Fix for NLPCRAFT-39.
This is an automated email from the ASF dual-hosted git repository.
aradzinski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft.git
The following commit(s) were added to refs/heads/master by this push:
new 15ea31d Fix for NLPCRAFT-39.
15ea31d is described below
commit 15ea31d7fe77b8cb5a447b0b508902db048f72b7
Author: Aaron Radzinzski <ar...@datalingvo.com>
AuthorDate: Sat Apr 25 21:24:42 2020 -0700
Fix for NLPCRAFT-39.
---
pom.xml | 36 ++++++++++------------
.../org/apache/nlpcraft/common/util/NCUtils.scala | 21 ++++++-------
.../model/intent/impl/NCIntentDslCompiler.scala | 2 +-
.../model/intent/impl/NCIntentSolverEngine.scala | 7 ++---
.../probe/mgrs/deploy/NCDeployManager.scala | 1 +
.../nlpcraft/probe/mgrs/model/NCModelManager.scala | 2 +-
.../mgrs/model/NCModelSynonymDslCompiler.scala | 32 +++++++++----------
.../server/geo/tools/NCGeoNamesGenerator.scala | 8 ++---
.../geo/tools/NCGeoStateNamesGenerator.scala | 2 +-
.../geo/tools/NCGeoSyntheticNamesGenerator.scala | 4 +--
.../geo/tools/metro/NCGeoMetroGenerator.scala | 4 +--
.../org/apache/nlpcraft/server/json/NCJson.scala | 8 ++---
.../nlp/core/stanford/NCStanfordAnnotator.scala | 2 +-
.../enrichers/stopword/NCStopWordEnricher.scala | 2 +-
.../nlpcraft/server/probe/NCProbeManager.scala | 13 +++++---
.../nlpcraft/server/query/NCQueryManager.scala | 15 +++++----
.../nlpcraft/server/rest/NCRestManager.scala | 12 +++-----
17 files changed, 85 insertions(+), 86 deletions(-)
diff --git a/pom.xml b/pom.xml
index 575571d..b0deedf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -69,13 +69,13 @@
<properties>
<!-- Major Scala version. -->
- <scala.base>2.11</scala.base>
+ <scala.base>2.12</scala.base>
<!-- Versions. -->
<ignite.ver>2.7.5</ignite.ver>
- <scala.plugin.ver>3.3.1</scala.plugin.ver>
+ <scala.plugin.ver>4.3.1</scala.plugin.ver>
<log4j.ver>2.12.0</log4j.ver>
- <scala.ver>${scala.base}.12</scala.ver>
+ <scala.ver>${scala.base}.11</scala.ver>
<scala.config.ver>1.3.4</scala.config.ver>
<commons.codec.ver>1.12</commons.codec.ver>
<commons.io.ver>2.6</commons.io.ver>
@@ -89,8 +89,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>
- <akka.ver>2.5.21</akka.ver>
- <lift.json.ver>2.6.3</lift.json.ver>
+ <lift.json.ver>3.3.0</lift.json.ver>
<scalaj.ver>2.4.1</scalaj.ver>
<spray.ver>1.3.5</spray.ver>
<tika.ver>1.21</tika.ver>
@@ -112,7 +111,7 @@
<apache.common.lang.ver>3.8.1</apache.common.lang.ver>
<apache.httpcomponents.ver>4.5.7</apache.httpcomponents.ver>
<apache.opennlp.ver>1.9.1</apache.opennlp.ver>
- <maven.javadoc.plugin.ver>3.0.0-M1</maven.javadoc.plugin.ver>
+ <maven.javadoc.plugin.ver>3.2.0</maven.javadoc.plugin.ver>
<maven.shade.plugin.ver>3.2.1</maven.shade.plugin.ver>
<maven.source.plugin.ver>3.0.1</maven.source.plugin.ver>
<maven.gpg.plugin.ver>1.6</maven.gpg.plugin.ver>
@@ -120,9 +119,9 @@
<maven.bazaarvoice.plugin.ver>0.9</maven.bazaarvoice.plugin.ver>
<apache.rat.plugin.ver>0.13</apache.rat.plugin.ver>
<org.antlr4.ver>4.8</org.antlr4.ver>
- <akka.http.2.11.ver>10.1.9</akka.http.2.11.ver>
- <akka.stream.2.11.ver>2.5.23</akka.stream.2.11.ver>
- <akka.http.spray.json.2.11.ver>10.1.9</akka.http.spray.json.2.11.ver>
+ <akka.http.2.12.ver>10.1.9</akka.http.2.12.ver>
+ <akka.stream.2.12.ver>2.5.23</akka.stream.2.12.ver>
+ <akka.http.spray.json.2.12.ver>10.1.9</akka.http.spray.json.2.12.ver>
<google.guava.ver>28.1-jre</google.guava.ver>
<diff.utils.ver>4.5</diff.utils.ver>
<vertical.blank.ver>1.0</vertical.blank.ver>
@@ -360,18 +359,18 @@
</dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
- <artifactId>akka-http_2.11</artifactId>
- <version>${akka.http.2.11.ver}</version>
+ <artifactId>akka-http_2.12</artifactId>
+ <version>${akka.http.2.12.ver}</version>
</dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
- <artifactId>akka-stream_2.11</artifactId>
- <version>${akka.stream.2.11.ver}</version>
+ <artifactId>akka-stream_2.12</artifactId>
+ <version>${akka.stream.2.12.ver}</version>
</dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
- <artifactId>akka-http-spray-json_2.11</artifactId>
- <version>${akka.http.spray.json.2.11.ver}</version>
+ <artifactId>akka-http-spray-json_2.12</artifactId>
+ <version>${akka.http.spray.json.2.12.ver}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
@@ -574,11 +573,11 @@
------------------------------------------------------------------------
You are trying to compile NLPCraft with inappropriate JDK version!
Detected JDK Version: ${java.runtime.version}
-JDK version should be 1.8
+JDK version should be 8 or 11
------------------------------------------------------------------------
</message>
- <version>[1.8,1.9)</version>
+ <version>1.8,11</version>
</requireJavaVersion>
</rules>
</configuration>
@@ -596,8 +595,7 @@ JDK version should be 1.8
<version>${maven.javadoc.plugin.ver}</version>
<configuration>
<!-- Required as of JDK 8u121 -->
- <additionalparam>--allow-script-in-comments, -Xdoclint:none</additionalparam>
-
+ <additionalOptions>--allow-script-in-comments, -Xdoclint:none</additionalOptions>
<javadocDirectory>${project.basedir}/javadoc</javadocDirectory>
<docfilessubdirs>true</docfilessubdirs>
<encoding>UTF-8</encoding>
diff --git a/src/main/scala/org/apache/nlpcraft/common/util/NCUtils.scala b/src/main/scala/org/apache/nlpcraft/common/util/NCUtils.scala
index 8c67e94..f32a8a3 100644
--- a/src/main/scala/org/apache/nlpcraft/common/util/NCUtils.scala
+++ b/src/main/scala/org/apache/nlpcraft/common/util/NCUtils.scala
@@ -51,6 +51,7 @@ import scala.io.Source
import scala.language.{implicitConversions, postfixOps}
import scala.reflect.runtime.universe._
import scala.sys.SystemProperties
+import scala.util.{Failure, Success}
import scala.util.control.Exception.ignoring
/**
@@ -928,15 +929,13 @@ object NCUtils extends LazyLogging {
body: Unit ⇒ T,
onFailure: Throwable ⇒ Unit = _ ⇒ Unit,
onSuccess: T ⇒ Unit = (_: T) ⇒ ())(implicit ec: ExecutionContext = global): Future[T] = {
- val fut = Future { body(()) }
-
- fut.onFailure {
- case e: Throwable ⇒ onFailure(e)
- }
- fut.onSuccess {
- case t ⇒ onSuccess(t)
- }
-
+ val fut = Future { body(()) }(ec)
+
+ fut.onComplete {
+ case Success(ok) ⇒ onSuccess(ok)
+ case Failure(err) ⇒ onFailure(err)
+ }(ec)
+
fut
}
@@ -1577,7 +1576,7 @@ object NCUtils extends LazyLogging {
* @param ec
*/
def executeParallel(bodies: (() ⇒ Any)*)(implicit ec: ExecutionContext = global): Unit =
- bodies.map(body ⇒ { Future { body() } } ).foreach(f ⇒ Await.result(f, Duration.Inf))
+ bodies.map(body ⇒ { Future { body() }(ec) } ).foreach(f ⇒ Await.result(f, Duration.Inf))
/**
*
@@ -1588,7 +1587,7 @@ object NCUtils extends LazyLogging {
def mkObject[T](clsName: String): T = {
try
// Try Java reflection first.
- Class.forName(clsName).newInstance().asInstanceOf[T]
+ Class.forName(clsName).getDeclaredConstructor().newInstance().asInstanceOf[T]
catch {
case _: Throwable ⇒
// Try Scala reflection second.
diff --git a/src/main/scala/org/apache/nlpcraft/model/intent/impl/NCIntentDslCompiler.scala b/src/main/scala/org/apache/nlpcraft/model/intent/impl/NCIntentDslCompiler.scala
index e312210..2261d1d 100644
--- a/src/main/scala/org/apache/nlpcraft/model/intent/impl/NCIntentDslCompiler.scala
+++ b/src/main/scala/org/apache/nlpcraft/model/intent/impl/NCIntentDslCompiler.scala
@@ -57,7 +57,7 @@ object NCIntentDslCompiler extends LazyLogging {
private var min = 1
private var max = 1
- private val predStack = new mutable.Stack[NCToken ⇒ Boolean] // Stack of predicates.
+ private val predStack = new mutable.ArrayStack[NCToken ⇒ Boolean] // Stack of predicates.
private val lvalParts = ArrayBuffer.empty[String] // lval parts collector.
private val rvalList = ArrayBuffer.empty[String] // rval list collector.
private var rval: String = _
diff --git a/src/main/scala/org/apache/nlpcraft/model/intent/impl/NCIntentSolverEngine.scala b/src/main/scala/org/apache/nlpcraft/model/intent/impl/NCIntentSolverEngine.scala
index 6bd7a46..5820fb7 100644
--- a/src/main/scala/org/apache/nlpcraft/model/intent/impl/NCIntentSolverEngine.scala
+++ b/src/main/scala/org/apache/nlpcraft/model/intent/impl/NCIntentSolverEngine.scala
@@ -29,8 +29,7 @@ import org.apache.nlpcraft.model._
import org.apache.nlpcraft.model.impl.NCTokenLogger
import org.apache.nlpcraft.probe.mgrs.dialogflow.NCDialogFlowManager
-import scala.collection.JavaConversions._
-import scala.collection.JavaConverters._
+import collection.convert.ImplicitConversions._
import scala.collection.mutable
/**
@@ -194,7 +193,7 @@ object NCIntentSolverEngine extends LazyLogging with NCOpenCensusTrace {
// history and processed sentence.
conv.
filter(t ⇒ {
- val convTokGroups = t.getGroups.asScala.sorted
+ val convTokGroups = t.getGroups.sorted
!senTokGroups.exists(convTokGroups.containsSlice)
}).
@@ -435,7 +434,7 @@ object NCIntentSolverEngine extends LazyLogging with NCOpenCensusTrace {
NCTokenLogger.prepareTable(senToks.filter(tok ⇒ !tok.used && tok.token.isUserDefined).map(_.token)).
info(
logger,
- Some(s"Unused user tokens for intent '$intentId' ${varStr}:")
+ Some(s"Unused user tokens for intent '$intentId' $varStr:")
)
None
diff --git a/src/main/scala/org/apache/nlpcraft/probe/mgrs/deploy/NCDeployManager.scala b/src/main/scala/org/apache/nlpcraft/probe/mgrs/deploy/NCDeployManager.scala
index 746bdda..d564737 100644
--- a/src/main/scala/org/apache/nlpcraft/probe/mgrs/deploy/NCDeployManager.scala
+++ b/src/main/scala/org/apache/nlpcraft/probe/mgrs/deploy/NCDeployManager.scala
@@ -109,6 +109,7 @@ object NCDeployManager extends NCService with DecorateAsScala {
private def makeModelFactory(clsName: String): NCModelFactory =
catching(classOf[Throwable]) either Thread.currentThread().getContextClassLoader.
loadClass(clsName).
+ getDeclaredConstructor().
newInstance().
asInstanceOf[NCModelFactory]
match {
diff --git a/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/NCModelManager.scala b/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/NCModelManager.scala
index 6bf48f3..f9ad86c 100644
--- a/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/NCModelManager.scala
+++ b/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/NCModelManager.scala
@@ -30,7 +30,7 @@ import org.apache.nlpcraft.probe.mgrs.NCSynonymChunkKind._
import org.apache.nlpcraft.probe.mgrs.deploy._
import org.apache.nlpcraft.probe.mgrs.{NCModelDecorator, NCSynonym, NCSynonymChunk}
-import scala.collection.JavaConversions._
+import collection.convert.ImplicitConversions._
import scala.collection.convert.DecorateAsScala
import scala.collection.mutable
import scala.collection.mutable.ListBuffer
diff --git a/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/NCModelSynonymDslCompiler.scala b/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/NCModelSynonymDslCompiler.scala
index 6f3128e..6ee4c20 100644
--- a/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/NCModelSynonymDslCompiler.scala
+++ b/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/NCModelSynonymDslCompiler.scala
@@ -36,32 +36,30 @@ import scala.collection.mutable.ArrayBuffer
object NCModelSynonymDslCompiler extends LazyLogging {
private type Predicate = java.util.function.Function[NCToken, java.lang.Boolean]
- def toJavaFunc(alias: String, func: NCToken ⇒ Boolean): Predicate = new Predicate() {
- override def apply(tok: NCToken): java.lang.Boolean = {
- val res = func(tok)
+ def toJavaFunc(alias: String, func: NCToken ⇒ Boolean): Predicate = (tok: NCToken) => {
+ val res = func(tok)
+
+ // Store predicate's alias, if any, in token metadata if this token satisfies this predicate.
+ // NOTE: token can have multiple aliases associated with it.
+ if (res && alias != null) {
+ val meta = tok.getMetadata
- // Store predicate's alias, if any, in token metadata if this token satisfies this predicate.
- // NOTE: token can have multiple aliases associated with it.
- if (res && alias != null) {
- val meta = tok.getMetadata
-
- if (!meta.containsKey(TOK_META_ALIASES_KEY))
- meta.put(TOK_META_ALIASES_KEY, new java.util.HashSet[String]())
-
- val aliases = meta.get(TOK_META_ALIASES_KEY).asInstanceOf[java.util.Set[String]]
-
- aliases.add(alias)
- }
+ if (!meta.containsKey(TOK_META_ALIASES_KEY))
+ meta.put(TOK_META_ALIASES_KEY, new java.util.HashSet[String]())
- res
+ val aliases = meta.get(TOK_META_ALIASES_KEY).asInstanceOf[java.util.Set[String]]
+
+ aliases.add(alias)
}
+
+ res
}
/**
*
*/
class FiniteStateMachine extends NCSynonymDslBaseListener {
- private val predStack = new mutable.Stack[NCToken ⇒ Boolean] // Stack of predicates.
+ private val predStack = new mutable.ArrayStack[NCToken ⇒ Boolean] // Stack of predicates.
private val lvalParts = ArrayBuffer.empty[String] // lval parts collector.
private val rvalList = ArrayBuffer.empty[String] // rval list collector.
private var alias: String = _
diff --git a/src/main/scala/org/apache/nlpcraft/server/geo/tools/NCGeoNamesGenerator.scala b/src/main/scala/org/apache/nlpcraft/server/geo/tools/NCGeoNamesGenerator.scala
index 5039533..c6330d5 100644
--- a/src/main/scala/org/apache/nlpcraft/server/geo/tools/NCGeoNamesGenerator.scala
+++ b/src/main/scala/org/apache/nlpcraft/server/geo/tools/NCGeoNamesGenerator.scala
@@ -361,7 +361,7 @@ object NCGeoNamesGenerator extends App {
for (country ← countries)
managed(new PrintStream(new File(s"$outDir/countries/${country.iso}.json"))) acquireAndGet { ps ⇒
- ps.println(pretty(render(decompose(country))))
+ ps.println(prettyRender(decompose(country)))
}
}
@@ -443,7 +443,7 @@ object NCGeoNamesGenerator extends App {
// Burn it.
managed(new PrintStream(new File(outSynonyms))) acquireAndGet { ps ⇒
- ps.println(pretty(render(decompose(hs))))
+ ps.println(prettyRender(decompose(hs)))
}
}
@@ -482,7 +482,7 @@ object NCGeoNamesGenerator extends App {
).sortBy(p ⇒ (p.country, p.name))
managed(new PrintStream(new File(file))) acquireAndGet { ps ⇒
- ps.println(pretty(render(decompose(sorder))))
+ ps.println(prettyRender(decompose(sorder)))
}
}
@@ -508,7 +508,7 @@ object NCGeoNamesGenerator extends App {
).toMap
managed(new PrintStream(new File(outContinents))) acquireAndGet { ps ⇒
- ps.println(pretty(render(decompose(hs))))
+ ps.println(prettyRender(decompose(hs)))
}
}
diff --git a/src/main/scala/org/apache/nlpcraft/server/geo/tools/NCGeoStateNamesGenerator.scala b/src/main/scala/org/apache/nlpcraft/server/geo/tools/NCGeoStateNamesGenerator.scala
index 6ddbe23..6393cd5 100644
--- a/src/main/scala/org/apache/nlpcraft/server/geo/tools/NCGeoStateNamesGenerator.scala
+++ b/src/main/scala/org/apache/nlpcraft/server/geo/tools/NCGeoStateNamesGenerator.scala
@@ -79,7 +79,7 @@ object NCGeoStateNamesGenerator extends App {
// Burn it.
managed(new PrintStream(new File(out))) acquireAndGet { ps ⇒
- ps.println(pretty(render(decompose(syns))))
+ ps.println(prettyRender(decompose(syns)))
}
println(s"Files generated OK: $out")
diff --git a/src/main/scala/org/apache/nlpcraft/server/geo/tools/NCGeoSyntheticNamesGenerator.scala b/src/main/scala/org/apache/nlpcraft/server/geo/tools/NCGeoSyntheticNamesGenerator.scala
index f9a2b6f..bd33df8 100644
--- a/src/main/scala/org/apache/nlpcraft/server/geo/tools/NCGeoSyntheticNamesGenerator.scala
+++ b/src/main/scala/org/apache/nlpcraft/server/geo/tools/NCGeoSyntheticNamesGenerator.scala
@@ -129,7 +129,7 @@ object NCGeoSyntheticNamesGenerator extends App {
// Short representation (without subcontinent and continent.)
case e: NCGeoRegion ⇒
- NCGeoSynonym(None, Some(e.name), Some(e.country.name),None, None, None, List(s))
+ NCGeoSynonym(None, Some(e.name), Some(e.country.name), None, None, None, List(s))
// Short representation (without subcontinent and continent.)
case e: NCGeoCity ⇒
@@ -157,7 +157,7 @@ object NCGeoSyntheticNamesGenerator extends App {
val data = (syns.values ++ exists).toSet
managed(new PrintStream(new File(outFile))) acquireAndGet { ps ⇒
- ps.println(pretty(render(decompose(data))))
+ ps.println(prettyRender(decompose(data)))
}
}
diff --git a/src/main/scala/org/apache/nlpcraft/server/geo/tools/metro/NCGeoMetroGenerator.scala b/src/main/scala/org/apache/nlpcraft/server/geo/tools/metro/NCGeoMetroGenerator.scala
index da81246..2a613aa 100644
--- a/src/main/scala/org/apache/nlpcraft/server/geo/tools/metro/NCGeoMetroGenerator.scala
+++ b/src/main/scala/org/apache/nlpcraft/server/geo/tools/metro/NCGeoMetroGenerator.scala
@@ -58,7 +58,7 @@ object NCGeoMetroGenerator extends App {
implicit val formats: DefaultFormats.type = net.liftweb.json.DefaultFormats
managed(new PrintStream(new File(out_vals))) acquireAndGet { ps ⇒
- ps.println(pretty(render(decompose(metro))))
+ ps.println(prettyRender(decompose(metro)))
}
println(s"File created: $out_vals")
@@ -81,7 +81,7 @@ object NCGeoMetroGenerator extends App {
})
managed(new PrintStream(new File(out_syns))) acquireAndGet { ps ⇒
- ps.println(pretty(render(decompose(sync))))
+ ps.println(prettyRender(decompose(sync)))
}
println(s"Synonyms file created: $out_syns")
diff --git a/src/main/scala/org/apache/nlpcraft/server/json/NCJson.scala b/src/main/scala/org/apache/nlpcraft/server/json/NCJson.scala
index 922408b..99c5fe6 100644
--- a/src/main/scala/org/apache/nlpcraft/server/json/NCJson.scala
+++ b/src/main/scala/org/apache/nlpcraft/server/json/NCJson.scala
@@ -21,7 +21,7 @@ import java.io.{IOException, _}
import java.util.zip._
import com.typesafe.scalalogging.LazyLogging
-import net.liftweb.json.{compact ⇒ liftCompact, pretty ⇒ liftPretty, render ⇒ liftRender, _}
+import net.liftweb.json.{compactRender ⇒ liftCompact, prettyRender ⇒ liftPretty, _}
import org.apache.nlpcraft.common._
import scala.annotation.tailrec
@@ -90,14 +90,14 @@ class NCJson(val json: JValue) {
*
* @return String presentation of this JSON object.
*/
- def pretty: String = liftPretty(liftRender(json))
+ def pretty: String = liftPretty(json)
/**
* Renders this JSON in a compact form (suitable for exchange).
*
* @return String presentation of this JSON object.
*/
- def compact: String = liftCompact(liftRender(json))
+ def compact: String = liftCompact(json)
/**
* Zips this JSON object into array of bytes using GZIP.
@@ -269,7 +269,7 @@ object NCJson {
*
* @param json JSON text.
*/
- private def removeComments(json: String): String = json.replaceAll("""\/\*(\*(?!\/)|[^*])*\*\/""", "")
+ private def removeComments(json: String): String = json.replaceAll("""/\*(\*(?!/)|[^*])*\*/""", "")
/**
* Extracts type `T` from given JSON `file`.
diff --git a/src/main/scala/org/apache/nlpcraft/server/nlp/core/stanford/NCStanfordAnnotator.scala b/src/main/scala/org/apache/nlpcraft/server/nlp/core/stanford/NCStanfordAnnotator.scala
index 6c4480b..0cb7983 100644
--- a/src/main/scala/org/apache/nlpcraft/server/nlp/core/stanford/NCStanfordAnnotator.scala
+++ b/src/main/scala/org/apache/nlpcraft/server/nlp/core/stanford/NCStanfordAnnotator.scala
@@ -26,7 +26,7 @@ import edu.stanford.nlp.process.AbstractTokenizer
import edu.stanford.nlp.util.TypesafeMap
import scala.language.implicitConversions
-import scala.collection.JavaConversions._
+import collection.convert.ImplicitConversions._
/**
* Custom annotator.
diff --git a/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/stopword/NCStopWordEnricher.scala b/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/stopword/NCStopWordEnricher.scala
index 92168ba..d948ed4 100644
--- a/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/stopword/NCStopWordEnricher.scala
+++ b/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/stopword/NCStopWordEnricher.scala
@@ -228,7 +228,7 @@ object NCStopWordEnricher extends NCServerEnricher {
def add(m: mutable.HashMap[String, mutable.HashSet[T]], incl: Boolean): Unit =
poses.filter { case (_, isIncl) ⇒ isIncl == incl }.keys.foreach(pos ⇒
m.get(pos) match {
- case Some(set) ⇒ set += cond
+ case Some(set) ⇒ set.add(cond)
case _ ⇒
val set = mutable.HashSet.empty[T]
diff --git a/src/main/scala/org/apache/nlpcraft/server/probe/NCProbeManager.scala b/src/main/scala/org/apache/nlpcraft/server/probe/NCProbeManager.scala
index 4df9ae0..7f11397 100644
--- a/src/main/scala/org/apache/nlpcraft/server/probe/NCProbeManager.scala
+++ b/src/main/scala/org/apache/nlpcraft/server/probe/NCProbeManager.scala
@@ -46,6 +46,7 @@ import scala.collection.JavaConverters._
import scala.collection.{Map, mutable}
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.Future
+import scala.util.{Failure, Success}
/**
* Probe manager.
@@ -356,11 +357,13 @@ object NCProbeManager extends NCService {
val fut = Future {
fn(NCSocket(sock, sock.getRemoteSocketAddress.toString))
}
-
- fut.onFailure {
- case e: NCE ⇒ logger.warn(e.getMessage, e)
- case _: EOFException ⇒ () // Just ignoring.
- case e: Throwable ⇒ logger.warn(s"Ignoring socket error: ${e.getLocalizedMessage}")
+
+ fut.onComplete {
+ case Success(_) ⇒ // No-op.
+
+ case Failure(e: NCE) ⇒ logger.warn(e.getMessage, e)
+ case Failure(_: EOFException) ⇒ () // Just ignoring.
+ case Failure(e: Throwable) ⇒ logger.warn(s"Ignoring socket error: ${e.getLocalizedMessage}")
}
}
}
diff --git a/src/main/scala/org/apache/nlpcraft/server/query/NCQueryManager.scala b/src/main/scala/org/apache/nlpcraft/server/query/NCQueryManager.scala
index 298ff8b..8ea4d44 100644
--- a/src/main/scala/org/apache/nlpcraft/server/query/NCQueryManager.scala
+++ b/src/main/scala/org/apache/nlpcraft/server/query/NCQueryManager.scala
@@ -37,6 +37,7 @@ import org.apache.nlpcraft.server.user.NCUserManager
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.{Future, Promise}
+import scala.util.{Failure, Success}
import scala.util.control.Exception._
/**
@@ -277,19 +278,21 @@ object NCQueryManager extends NCService with NCIgniteInstance with NCOpenCensusS
span
)
}
- } onFailure {
- case e: NCE ⇒
+ } onComplete {
+ case Success(_) ⇒ // No-op.
+
+ case Failure(e: NCE) ⇒
logger.error(s"Query processing failed due to: ${e.getLocalizedMessage}")
-
+
setError(
srvReqId,
e.getLocalizedMessage,
NCErrorCodes.SYSTEM_ERROR
)
-
- case e: Throwable ⇒
+
+ case Failure(e: Throwable) ⇒
logger.error(s"System error processing query: ${e.getLocalizedMessage}", e)
-
+
setError(
srvReqId,
"Processing failed due to a system error.",
diff --git a/src/main/scala/org/apache/nlpcraft/server/rest/NCRestManager.scala b/src/main/scala/org/apache/nlpcraft/server/rest/NCRestManager.scala
index 54c9c67..f2a55ab 100644
--- a/src/main/scala/org/apache/nlpcraft/server/rest/NCRestManager.scala
+++ b/src/main/scala/org/apache/nlpcraft/server/rest/NCRestManager.scala
@@ -26,6 +26,7 @@ import org.apache.nlpcraft.common.config.NCConfigurable
import org.apache.nlpcraft.common.{NCService, _}
import scala.concurrent.{ExecutionContextExecutor, Future}
+import scala.util.{Failure, Success}
/**
* REST manager.
@@ -78,13 +79,10 @@ object NCRestManager extends NCService {
handleRejections = api.getRejectionHandler
bindFut = Http().bindAndHandleAsync(Route.asyncHandler(api.getRoute), Config.host, Config.port)
-
- bindFut.onFailure {
- case _ ⇒ logger.info(s"REST server failed to start on '$url'.")
- }
-
- bindFut.onSuccess {
- case _ ⇒ logger.info(s"REST server is listening on '$url'.")
+
+ bindFut.onComplete {
+ case Success(_) ⇒ logger.info(s"REST server is listening on '$url'.")
+ case Failure(_) ⇒ logger.info(s"REST server failed to start on '$url'.")
}
super.start()