You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nlpcraft.apache.org by se...@apache.org on 2021/01/21 18:54:53 UTC
[incubator-nlpcraft] branch NLPCRAFT-111 updated: WIP.
This is an automated email from the ASF dual-hosted git repository.
sergeykamov pushed a commit to branch NLPCRAFT-111
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft.git
The following commit(s) were added to refs/heads/NLPCRAFT-111 by this push:
new 3ad718a WIP.
3ad718a is described below
commit 3ad718a9ca9e52eb29637f64b4604189629fea9b
Author: Sergey Kamov <sk...@gmail.com>
AuthorDate: Thu Jan 21 21:54:36 2021 +0300
WIP.
---
.../module/NCModule.scala} | 17 ++++++++++----
.../scala/org/apache/nlpcraft/common/package.scala | 3 +--
.../pool/NCPoolContext.scala} | 11 +++++----
.../{NcPoolFactory.java => NCPoolFactory.java} | 2 +-
.../nlpcraft/common/pool/NCPoolManager.scala | 16 +++++++++----
.../nlpcraft/model/tools/cmdline/NCCli.scala | 3 +++
.../org/apache/nlpcraft/probe/NCProbeBoot.scala | 16 +++++++------
.../org/apache/nlpcraft/server/NCServer.scala | 6 +++--
.../server/nlp/core/NCNlpServerManager.scala | 4 ++--
.../nlp/core/opennlp/NCOpenNlpNerEnricher.scala | 4 ++--
.../server/nlp/core/opennlp/NCOpenNlpParser.scala | 8 +++----
.../nlp/enrichers/NCServerEnrichmentManager.scala | 4 ++--
.../server/nlp/enrichers/date/NCDateEnricher.scala | 14 +++++------
.../nlpcraft/server/pool/NCServerPoolContext.scala | 27 ----------------------
.../nlpcraft/server/pool/NCServerPoolManager.scala | 25 --------------------
.../nlpcraft/server/probe/NCProbeManager.scala | 4 ++--
.../nlpcraft/server/query/NCQueryManager.scala | 10 ++++----
.../nlpcraft/server/rest/NCBasicRestApi.scala | 8 +++----
.../server/sugsyn/NCSuggestSynonymManager.scala | 4 ++--
19 files changed, 78 insertions(+), 108 deletions(-)
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/pool/NCProbePoolManager.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/module/NCModule.scala
similarity index 63%
rename from nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/pool/NCProbePoolManager.scala
rename to nlpcraft/src/main/scala/org/apache/nlpcraft/common/module/NCModule.scala
index 68fe2e5..3f4a83e 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/pool/NCProbePoolManager.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/module/NCModule.scala
@@ -15,12 +15,21 @@
* limitations under the License.
*/
-package org.apache.nlpcraft.probe.mgrs.pool
+package org.apache.nlpcraft.common.module
-import org.apache.nlpcraft.common.pool.NCPoolManager
+import org.apache.nlpcraft.common.{NCE, U}
/**
- * Probe pool manager.
+ *
*/
-object NCProbePoolManager extends NCPoolManager("nlpcraft.probe.pools")
+object NCModule extends Enumeration {
+ final val PROPERTY = "NLPCRAFT_MODULE"
+
+ type NCModule = Value
+
+ val SERVER, PROBE, CLI: Value = Value
+
+ def getCurrent: NCModule = NCModule.withName(U.sysEnv(PROPERTY).getOrElse(throw new NCE(s"Module is not set: $PROPERTY")))
+ def setCurrent(m: NCModule): Unit = System.setProperty(NCModule.PROPERTY, m.toString)
+}
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 ad8f191..58512d7 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/package.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/package.scala
@@ -206,6 +206,5 @@ package object common {
* @param f Lambda to convert.
* @return Callable object.
*/
- implicit def toCallable[R](f: () ⇒ R): Callable[R] =
- () => f()
+ implicit def toCallable[R](f: () ⇒ R): Callable[R] = () ⇒ f()
}
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/pool/NCProbePoolContext.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/pool/NCPoolContext.scala
similarity index 80%
rename from nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/pool/NCProbePoolContext.scala
rename to nlpcraft/src/main/scala/org/apache/nlpcraft/common/pool/NCPoolContext.scala
index 0cc2691..3237f8d 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/pool/NCProbePoolContext.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/pool/NCPoolContext.scala
@@ -15,13 +15,14 @@
* limitations under the License.
*/
-package org.apache.nlpcraft.probe.mgrs.pool
+package org.apache.nlpcraft.common.pool
+
+import scala.concurrent.ExecutionContext
/**
- * Probe pool context trait.
+ * Pool context trait.
*/
-trait NCProbePoolContext {
+trait NCPoolContext {
def getName: String = getClass.getName
-
- implicit def getContext = NCProbePoolManager.getContext(getName)
+ implicit def getContext: ExecutionContext = NCPoolManager.getContext(getName)
}
\ No newline at end of file
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/pool/NcPoolFactory.java b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/pool/NCPoolFactory.java
similarity index 79%
rename from nlpcraft/src/main/scala/org/apache/nlpcraft/common/pool/NcPoolFactory.java
rename to nlpcraft/src/main/scala/org/apache/nlpcraft/common/pool/NCPoolFactory.java
index e5b99a0..1879080 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/pool/NcPoolFactory.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/pool/NCPoolFactory.java
@@ -2,6 +2,6 @@ package org.apache.nlpcraft.common.pool;
import java.util.concurrent.ExecutorService;
-public interface NcPoolFactory {
+public interface NCPoolFactory {
ExecutorService mkExecutorService();
}
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/pool/NCPoolManager.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/pool/NCPoolManager.scala
index 19a9d09..867d3e6 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/pool/NCPoolManager.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/pool/NCPoolManager.scala
@@ -19,6 +19,8 @@ package org.apache.nlpcraft.common.pool
import io.opencensus.trace.Span
import org.apache.nlpcraft.common.config.NCConfigurable
+import org.apache.nlpcraft.common.module.NCModule
+import org.apache.nlpcraft.common.module.NCModule._
import org.apache.nlpcraft.common.{NCService, U}
import java.util.concurrent.{ConcurrentHashMap, ExecutorService}
@@ -27,16 +29,22 @@ import scala.concurrent.ExecutionContext
/**
*
- * @param cfg
*/
-abstract class NCPoolManager(cfg: String) extends NCService {
+object NCPoolManager extends NCService {
@volatile private var data: ConcurrentHashMap[String, Holder] = new ConcurrentHashMap
private case class Holder(context: ExecutionContext, pool: Option[ExecutorService])
private object Config extends NCConfigurable {
- val factories: Map[String, NcPoolFactory] = {
- val m: Option[Map[String, String]] = getMapOpt(cfg)
+ val factories: Map[String, NCPoolFactory] = {
+ val cfgPath =
+ NCModule.get match {
+ case SERVER ⇒ "nlpcraft.server.pools"
+ case PROBE ⇒ "nlpcraft.server.pools"
+ case m ⇒ throw new AssertionError(s"Unexpected module: $m")
+ }
+
+ val m: Option[Map[String, String]] = getMapOpt(cfgPath)
m.getOrElse(Map.empty).map(p ⇒ p._1 → U.mkObject(p._2))
}
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCli.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCli.scala
index 52f7f86..388db14 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCli.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCli.scala
@@ -46,6 +46,7 @@ import org.apache.nlpcraft.common._
import org.apache.nlpcraft.common.ansi.NCAnsi._
import org.apache.nlpcraft.common.ansi.{NCAnsi, NCAnsiProgressBar, NCAnsiSpinner}
import org.apache.nlpcraft.common.ascii.NCAsciiTable
+import org.apache.nlpcraft.common.module.NCModule
import org.apache.nlpcraft.common.version.NCVersion
import org.apache.nlpcraft.model.tools.sqlgen.impl.NCSqlModelGeneratorImpl
import org.jline.reader._
@@ -114,6 +115,8 @@ object NCCli extends App {
private var term: Terminal = _
+ NCModule.setCurrent(NCModule.CLI)
+
// See NCProbeMdo.
case class Probe(
probeToken: String,
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/NCProbeBoot.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/NCProbeBoot.scala
index 6ffbd36..dd3df43 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/NCProbeBoot.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/NCProbeBoot.scala
@@ -24,12 +24,14 @@ import org.apache.commons.lang3.SystemUtils
import org.apache.nlpcraft.common.ascii.NCAsciiTable
import org.apache.nlpcraft.common.config.NCConfigurable
import org.apache.nlpcraft.common.extcfg.NCExternalConfigManager
+import org.apache.nlpcraft.common.module.NCModule
import org.apache.nlpcraft.common.nlp.core.NCNlpCoreManager
import org.apache.nlpcraft.common.nlp.dict.NCDictionaryManager
import org.apache.nlpcraft.common.nlp.numeric.NCNumericManager
import org.apache.nlpcraft.common.opencensus.NCOpenCensusTrace
+import org.apache.nlpcraft.common.pool.NCPoolManager
import org.apache.nlpcraft.common.version.NCVersion
-import org.apache.nlpcraft.common.{NCE, NCException, NCService, U, _}
+import org.apache.nlpcraft.common.{NCE, NCService, U, _}
import org.apache.nlpcraft.model.tools.cmdline.NCCliProbeBeacon
import org.apache.nlpcraft.probe.mgrs.cmd.NCCommandManager
import org.apache.nlpcraft.probe.mgrs.conn.NCConnectionManager
@@ -47,7 +49,6 @@ import org.apache.nlpcraft.probe.mgrs.nlp.enrichers.sort.NCSortEnricher
import org.apache.nlpcraft.probe.mgrs.nlp.enrichers.stopword.NCStopWordEnricher
import org.apache.nlpcraft.probe.mgrs.nlp.enrichers.suspicious.NCSuspiciousNounsEnricher
import org.apache.nlpcraft.probe.mgrs.nlp.validate.NCValidateManager
-import org.apache.nlpcraft.probe.mgrs.pool.NCProbePoolManager
import resource.managed
import java.io._
@@ -187,11 +188,12 @@ private [probe] object NCProbeBoot extends LazyLogging with NCOpenCensusTrace {
* @param fut
*/
private def start0(cfg: ProbeConfig, fut: CompletableFuture[Integer]): Unit = {
+ NCModule.setCurrent(NCModule.PROBE)
+
// Record an anonymous screenview.
new Thread() {
override def run(): Unit = U.gaScreenView("probe")
- }
- .start()
+ }.start()
probeThread = Thread.currentThread()
@@ -248,7 +250,7 @@ private [probe] object NCProbeBoot extends LazyLogging with NCOpenCensusTrace {
/**
*
*/
- def save() = {
+ def save(): Unit = {
try {
managed(new ObjectOutputStream(new FileOutputStream(path))) acquireAndGet { stream ⇒
stream.writeObject(NCCliProbeBeacon(
@@ -323,7 +325,7 @@ private [probe] object NCProbeBoot extends LazyLogging with NCOpenCensusTrace {
*/
private def checkStarted(): Unit =
if (started)
- throw new NCException(s"Probe has already been started (only one probe per JVM is allowed).")
+ throw new NCE(s"Probe has already been started (only one probe per JVM is allowed).")
/**
* Starts the embedded probe with optional configuration file and provided overrides.
@@ -493,7 +495,7 @@ private [probe] object NCProbeBoot extends LazyLogging with NCOpenCensusTrace {
"jarFolder" → cfg.jarsFolder
)
- startedMgrs += NCProbePoolManager.start(span)
+ startedMgrs += NCPoolManager.start(span)
startedMgrs += NCExternalConfigManager.start(span)
startedMgrs += NCNlpCoreManager.start(span)
startedMgrs += NCNumericManager.start(span)
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/NCServer.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/NCServer.scala
index dc0ec78..0305708 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/NCServer.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/NCServer.scala
@@ -25,10 +25,12 @@ import org.apache.nlpcraft.common.ansi.NCAnsi
import org.apache.nlpcraft.common.ascii.NCAsciiTable
import org.apache.nlpcraft.common.config.NCConfigurable
import org.apache.nlpcraft.common.extcfg.NCExternalConfigManager
+import org.apache.nlpcraft.common.module.NCModule
import org.apache.nlpcraft.common.nlp.core.NCNlpCoreManager
import org.apache.nlpcraft.common.nlp.dict.NCDictionaryManager
import org.apache.nlpcraft.common.nlp.numeric.NCNumericManager
import org.apache.nlpcraft.common.opencensus.NCOpenCensusTrace
+import org.apache.nlpcraft.common.pool.NCPoolManager
import org.apache.nlpcraft.common.version._
import org.apache.nlpcraft.model.tools.cmdline.NCCliServerBeacon
import org.apache.nlpcraft.server.company.NCCompanyManager
@@ -41,7 +43,6 @@ import org.apache.nlpcraft.server.nlp.enrichers.NCServerEnrichmentManager
import org.apache.nlpcraft.server.nlp.preproc.NCPreProcessManager
import org.apache.nlpcraft.server.nlp.spell.NCSpellCheckManager
import org.apache.nlpcraft.server.nlp.wordnet.NCWordNetManager
-import org.apache.nlpcraft.server.pool.NCServerPoolManager
import org.apache.nlpcraft.server.probe.NCProbeManager
import org.apache.nlpcraft.server.proclog.NCProcessLogManager
import org.apache.nlpcraft.server.query.NCQueryManager
@@ -93,7 +94,7 @@ object NCServer extends App with NCIgniteInstance with LazyLogging with NCOpenCe
NCServerLifecycleManager.beforeStart()
startScopedSpan("startManagers", "relVer" → ver.version, "relDate" → ver.date) { span ⇒
- startedMgrs += NCServerPoolManager.start(span)
+ startedMgrs += NCPoolManager.start(span)
startedMgrs += NCExternalConfigManager.start(span)
startedMgrs += NCWordNetManager.start(span)
startedMgrs += NCDictionaryManager.start(span)
@@ -163,6 +164,7 @@ object NCServer extends App with NCIgniteInstance with LazyLogging with NCOpenCe
*/
private def setSysProps(): Unit = {
System.setProperty("java.net.preferIPv4Stack", "true")
+ NCModule.setCurrent(NCModule.SERVER)
}
/**
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/core/NCNlpServerManager.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/core/NCNlpServerManager.scala
index 0e496c8..2cca087 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/core/NCNlpServerManager.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/core/NCNlpServerManager.scala
@@ -20,15 +20,15 @@ package org.apache.nlpcraft.server.nlp.core
import io.opencensus.trace.Span
import org.apache.nlpcraft.common.config.NCConfigurable
import org.apache.nlpcraft.common.nlp.core.NCNlpCoreManager
+import org.apache.nlpcraft.common.pool.NCPoolContext
import org.apache.nlpcraft.common.{NCService, _}
-import org.apache.nlpcraft.server.pool.NCServerPoolContext
import scala.collection.Seq
/**
* Server NLP manager.
*/
-object NCNlpServerManager extends NCService with NCServerPoolContext {
+object NCNlpServerManager extends NCService with NCPoolContext {
@volatile private var parser: NCNlpParser = _
@volatile private var ners: Map[String, NCNlpNerEnricher] = _
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/core/opennlp/NCOpenNlpNerEnricher.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/core/opennlp/NCOpenNlpNerEnricher.scala
index d2e923f..858cd1e 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/core/opennlp/NCOpenNlpNerEnricher.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/core/opennlp/NCOpenNlpNerEnricher.scala
@@ -24,11 +24,11 @@ import org.apache.nlpcraft.common.nlp.core.opennlp.NCOpenNlpTokenizer
import org.apache.nlpcraft.common.nlp.{NCNlpSentence, NCNlpSentenceNote}
import org.apache.nlpcraft.common.extcfg.NCExternalConfigManager
import org.apache.nlpcraft.common.extcfg.NCExternalConfigType.OPENNLP
+import org.apache.nlpcraft.common.pool.NCPoolContext
import org.apache.nlpcraft.common.{NCService, U}
import org.apache.nlpcraft.server.ignite.NCIgniteHelpers._
import org.apache.nlpcraft.server.ignite.NCIgniteInstance
import org.apache.nlpcraft.server.nlp.core.NCNlpNerEnricher
-import org.apache.nlpcraft.server.pool.NCServerPoolContext
import resource.managed
import scala.util.control.Exception.catching
@@ -36,7 +36,7 @@ import scala.util.control.Exception.catching
/**
* OpenNLP NER enricher.
*/
-object NCOpenNlpNerEnricher extends NCService with NCNlpNerEnricher with NCIgniteInstance with NCServerPoolContext {
+object NCOpenNlpNerEnricher extends NCService with NCNlpNerEnricher with NCIgniteInstance with NCPoolContext {
@volatile private var nerFinders: Map[NameFinderME, String] = _
@volatile private var cache: IgniteCache[String, Array[String]] = _
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/core/opennlp/NCOpenNlpParser.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/core/opennlp/NCOpenNlpParser.scala
index a219115..f4a425e 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/core/opennlp/NCOpenNlpParser.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/core/opennlp/NCOpenNlpParser.scala
@@ -21,15 +21,15 @@ import io.opencensus.trace.Span
import opennlp.tools.lemmatizer.DictionaryLemmatizer
import opennlp.tools.postag.{POSModel, POSTagger, POSTaggerME}
import org.apache.ignite.IgniteCache
-import org.apache.nlpcraft.common.nlp.core.NCNlpCoreManager
-import org.apache.nlpcraft.common.nlp.core.opennlp.NCOpenNlpTokenizer
import org.apache.nlpcraft.common.extcfg.NCExternalConfigManager
import org.apache.nlpcraft.common.extcfg.NCExternalConfigType.OPENNLP
+import org.apache.nlpcraft.common.nlp.core.NCNlpCoreManager
+import org.apache.nlpcraft.common.nlp.core.opennlp.NCOpenNlpTokenizer
+import org.apache.nlpcraft.common.pool.NCPoolContext
import org.apache.nlpcraft.common.{NCService, U}
import org.apache.nlpcraft.server.ignite.NCIgniteHelpers._
import org.apache.nlpcraft.server.ignite.NCIgniteInstance
import org.apache.nlpcraft.server.nlp.core.{NCNlpParser, NCNlpWord}
-import org.apache.nlpcraft.server.pool.NCServerPoolContext
import resource.managed
import scala.util.control.Exception.catching
@@ -37,7 +37,7 @@ import scala.util.control.Exception.catching
/**
* OpenNLP parser implementation.
*/
-object NCOpenNlpParser extends NCService with NCNlpParser with NCIgniteInstance with NCServerPoolContext{
+object NCOpenNlpParser extends NCService with NCNlpParser with NCIgniteInstance with NCPoolContext{
@volatile private var tagger: POSTagger = _
@volatile private var lemmatizer: DictionaryLemmatizer = _
@volatile private var cache: IgniteCache[String, Array[String]] = _
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/NCServerEnrichmentManager.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/NCServerEnrichmentManager.scala
index f7b6cd8..0a6e76a 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/NCServerEnrichmentManager.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/NCServerEnrichmentManager.scala
@@ -22,6 +22,7 @@ import org.apache.ignite.IgniteCache
import org.apache.nlpcraft.common.ascii.NCAsciiTable
import org.apache.nlpcraft.common.config.NCConfigurable
import org.apache.nlpcraft.common.nlp.{NCNlpSentence, NCNlpSentenceNote, NCNlpSentenceToken}
+import org.apache.nlpcraft.common.pool.NCPoolContext
import org.apache.nlpcraft.common.{NCService, _}
import org.apache.nlpcraft.server.ignite.NCIgniteHelpers._
import org.apache.nlpcraft.server.ignite.NCIgniteInstance
@@ -34,7 +35,6 @@ import org.apache.nlpcraft.server.nlp.enrichers.numeric.NCNumericEnricher
import org.apache.nlpcraft.server.nlp.enrichers.quote.NCQuoteEnricher
import org.apache.nlpcraft.server.nlp.enrichers.stopword.NCStopWordEnricher
import org.apache.nlpcraft.server.nlp.preproc.NCPreProcessManager
-import org.apache.nlpcraft.server.pool.NCServerPoolContext
import scala.collection.Seq
import scala.util.control.Exception.catching
@@ -42,7 +42,7 @@ import scala.util.control.Exception.catching
/**
* Server enrichment pipeline manager.
*/
-object NCServerEnrichmentManager extends NCService with NCIgniteInstance with NCServerPoolContext {
+object NCServerEnrichmentManager extends NCService with NCIgniteInstance with NCPoolContext {
private object Config extends NCConfigurable {
def isBuiltInEnrichers: Boolean = getStringList("nlpcraft.server.tokenProviders").contains("nlpcraft")
}
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/date/NCDateEnricher.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/date/NCDateEnricher.scala
index 7c9f32a..4800e49 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/date/NCDateEnricher.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/date/NCDateEnricher.scala
@@ -17,28 +17,26 @@
package org.apache.nlpcraft.server.nlp.enrichers.date
-import java.util
-import java.util.{Calendar ⇒ C}
import io.opencensus.trace.Span
import org.apache.nlpcraft.common.config.NCConfigurable
-import org.apache.nlpcraft.common.nlp.{NCNlpSentence ⇒ Sentence}
-import org.apache.nlpcraft.common.nlp.{NCNlpSentenceNote ⇒ Note}
-import org.apache.nlpcraft.common.nlp.{NCNlpSentenceToken ⇒ Token}
+import org.apache.nlpcraft.common.nlp.{NCNlpSentence ⇒ Sentence, NCNlpSentenceNote ⇒ Note, NCNlpSentenceToken ⇒ Token}
+import org.apache.nlpcraft.common.pool.NCPoolContext
import org.apache.nlpcraft.common.{NCService, _}
import org.apache.nlpcraft.server.nlp.enrichers.NCServerEnricher
import org.apache.nlpcraft.server.nlp.enrichers.date.NCDateConstants._
import org.apache.nlpcraft.server.nlp.enrichers.date.NCDateFormatType._
-import org.apache.nlpcraft.server.pool.NCServerPoolContext
+import java.util
+import java.util.{Calendar ⇒ C}
import scala.collection.JavaConverters._
import scala.collection.immutable.Iterable
import scala.collection.mutable
-import scala.collection.mutable.{LinkedHashMap ⇒ LHM}
+import scala.collection.mutable.{LinkedHashMap => LHM}
/**
* Date enricher.
*/
-object NCDateEnricher extends NCServerEnricher with NCServerPoolContext {
+object NCDateEnricher extends NCServerEnricher with NCPoolContext {
private object Config extends NCConfigurable {
def style: NCDateFormatType = getObject("nlpcraft.server.datesFormatStyle", NCDateFormatType.withName)
}
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/pool/NCServerPoolContext.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/pool/NCServerPoolContext.scala
deleted file mode 100644
index b0800c8..0000000
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/pool/NCServerPoolContext.scala
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.nlpcraft.server.pool
-
-/**
- * Server pool context trait.
- */
-trait NCServerPoolContext {
- def getName: String = getClass.getName
-
- implicit def getContext = NCServerPoolManager.getContext(getName)
-}
\ No newline at end of file
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/pool/NCServerPoolManager.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/pool/NCServerPoolManager.scala
deleted file mode 100644
index 2e0f0e9..0000000
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/pool/NCServerPoolManager.scala
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.nlpcraft.server.pool
-
-import org.apache.nlpcraft.common.pool.NCPoolManager
-
-/**
- * Server pool manager.
- */
-object NCServerPoolManager extends NCPoolManager("nlpcraft.server.pools")
\ No newline at end of file
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 c439148..e1902da 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
@@ -25,11 +25,11 @@ import org.apache.nlpcraft.common.config.NCConfigurable
import org.apache.nlpcraft.common.crypto.NCCipher
import org.apache.nlpcraft.common.nlp.NCNlpSentence
import org.apache.nlpcraft.common.nlp.core.NCNlpCoreManager
+import org.apache.nlpcraft.common.pool.NCPoolContext
import org.apache.nlpcraft.common.socket.NCSocket
import org.apache.nlpcraft.common.version.NCVersion
import org.apache.nlpcraft.common.{NCService, _}
import org.apache.nlpcraft.probe.mgrs.NCProbeMessage
-import org.apache.nlpcraft.probe.mgrs.pool.NCProbePoolContext
import org.apache.nlpcraft.server.company.NCCompanyManager
import org.apache.nlpcraft.server.mdo.{NCCompanyMdo, NCProbeMdo, NCProbeModelMdo, NCUserMdo}
import org.apache.nlpcraft.server.nlp.enrichers.NCServerEnrichmentManager
@@ -51,7 +51,7 @@ import scala.util.{Failure, Success}
/**
* Probe manager.
*/
-object NCProbeManager extends NCService with NCProbePoolContext {
+object NCProbeManager extends NCService with NCPoolContext {
private final val GSON = new Gson()
private final val TYPE_MODEL_INFO_RESP = new TypeToken[util.HashMap[String, AnyRef]]() {}.getType
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 5faa00a..104f2bb 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
@@ -17,33 +17,33 @@
package org.apache.nlpcraft.server.query
-import java.util.concurrent.ConcurrentHashMap
import io.opencensus.trace.Span
import org.apache.ignite.IgniteCache
import org.apache.ignite.events.{CacheEvent, EventType}
import org.apache.nlpcraft.common.ascii.NCAsciiTable
+import org.apache.nlpcraft.common.pool.NCPoolContext
import org.apache.nlpcraft.common.{NCService, _}
-import org.apache.nlpcraft.server.opencensus._
import org.apache.nlpcraft.server.apicodes.NCApiStatusCode._
import org.apache.nlpcraft.server.company.NCCompanyManager
import org.apache.nlpcraft.server.ignite.NCIgniteHelpers._
import org.apache.nlpcraft.server.ignite.NCIgniteInstance
import org.apache.nlpcraft.server.mdo.NCQueryStateMdo
import org.apache.nlpcraft.server.nlp.enrichers.NCServerEnrichmentManager
-import org.apache.nlpcraft.server.pool.NCServerPoolContext
+import org.apache.nlpcraft.server.opencensus._
import org.apache.nlpcraft.server.probe.NCProbeManager
import org.apache.nlpcraft.server.proclog.NCProcessLogManager
import org.apache.nlpcraft.server.tx.NCTxManager
import org.apache.nlpcraft.server.user.NCUserManager
+import java.util.concurrent.ConcurrentHashMap
import scala.concurrent.{Future, Promise}
-import scala.util.{Failure, Success}
import scala.util.control.Exception._
+import scala.util.{Failure, Success}
/**
* Query state machine.
*/
-object NCQueryManager extends NCService with NCIgniteInstance with NCOpenCensusServerStats with NCServerPoolContext {
+object NCQueryManager extends NCService with NCIgniteInstance with NCOpenCensusServerStats with NCPoolContext {
@volatile private var cache: IgniteCache[String/*Server request ID*/, NCQueryStateMdo] = _
// Promises cannot be used in cache.
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/rest/NCBasicRestApi.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/rest/NCBasicRestApi.scala
index 1c78df6..d1aa08c 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/rest/NCBasicRestApi.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/rest/NCBasicRestApi.scala
@@ -30,13 +30,13 @@ import io.opencensus.stats.Measure
import io.opencensus.trace.{Span, Status}
import org.apache.commons.validator.routines.UrlValidator
import org.apache.nlpcraft.common.opencensus.NCOpenCensusTrace
-import org.apache.nlpcraft.common.{NCE, NCException, U}
+import org.apache.nlpcraft.common.pool.NCPoolContext
+import org.apache.nlpcraft.common.{NCE, U}
import org.apache.nlpcraft.server.apicodes.NCApiStatusCode.{API_OK, _}
import org.apache.nlpcraft.server.company.NCCompanyManager
import org.apache.nlpcraft.server.feedback.NCFeedbackManager
import org.apache.nlpcraft.server.mdo.{NCQueryStateMdo, NCUserMdo}
import org.apache.nlpcraft.server.opencensus.NCOpenCensusServerStats
-import org.apache.nlpcraft.server.pool.NCServerPoolContext
import org.apache.nlpcraft.server.probe.NCProbeManager
import org.apache.nlpcraft.server.query.NCQueryManager
import org.apache.nlpcraft.server.sugsyn.NCSuggestSynonymManager
@@ -50,7 +50,7 @@ import scala.concurrent.Future
/**
* REST API default implementation.
*/
-class NCBasicRestApi extends NCRestApi with LazyLogging with NCOpenCensusTrace with NCOpenCensusServerStats with NCServerPoolContext {
+class NCBasicRestApi extends NCRestApi with LazyLogging with NCOpenCensusTrace with NCOpenCensusServerStats with NCPoolContext {
protected final val GSON = new Gson()
protected final val URL_VALIDATOR = new UrlValidator(Array("http", "https"), UrlValidator.ALLOW_LOCAL_URLS)
@@ -1807,7 +1807,7 @@ class NCBasicRestApi extends NCRestApi with LazyLogging with NCOpenCensusTrace w
completeError(StatusCodes.Forbidden, code, errMsg)
// General exception.
- case e: NCException ⇒
+ case e: NCE ⇒
val errMsg = "Unexpected system error."
val code = "NC_ERROR"
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/sugsyn/NCSuggestSynonymManager.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/sugsyn/NCSuggestSynonymManager.scala
index 3a1c22e..d4de258 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/sugsyn/NCSuggestSynonymManager.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/sugsyn/NCSuggestSynonymManager.scala
@@ -39,12 +39,12 @@ import org.apache.http.client.methods.HttpPost
import org.apache.http.entity.StringEntity
import org.apache.http.impl.client.HttpClients
import org.apache.nlpcraft.common.makro.NCMacroParser
-import org.apache.nlpcraft.server.pool.NCServerPoolContext
+import org.apache.nlpcraft.common.pool.NCPoolContext
/**
* Synonym suggestion manager.
*/
-object NCSuggestSynonymManager extends NCService with NCServerPoolContext {
+object NCSuggestSynonymManager extends NCService with NCPoolContext {
// For context word server requests.
private final val MAX_LIMIT: Int = 10000
private final val BATCH_SIZE = 20