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 fc84ad9 WIP.
fc84ad9 is described below
commit fc84ad9e08dc6c2cf31409c55b594595096bedd6
Author: Sergey Kamov <[email protected]>
AuthorDate: Thu Jan 21 22:21:44 2021 +0300
WIP.
---
.../apache/nlpcraft/common/module/NCModule.scala | 6 ++---
.../nlpcraft/common/pool/NCPoolContext.scala | 3 ++-
.../nlpcraft/common/pool/NCPoolManager.scala | 29 ++++++++++++++--------
.../org/apache/nlpcraft/common/util/NCUtils.scala | 5 ++--
.../nlpcraft/model/tools/cmdline/NCCli.scala | 2 +-
.../org/apache/nlpcraft/probe/NCProbeBoot.scala | 2 +-
.../org/apache/nlpcraft/server/NCServer.scala | 2 +-
7 files changed, 29 insertions(+), 20 deletions(-)
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/module/NCModule.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/module/NCModule.scala
index 3f4a83e..ae5df0f 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/module/NCModule.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/module/NCModule.scala
@@ -23,13 +23,13 @@ import org.apache.nlpcraft.common.{NCE, U}
*
*/
object NCModule extends Enumeration {
- final val PROPERTY = "NLPCRAFT_MODULE"
+ private final val NAME = "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)
+ def getModule: NCModule = NCModule.withName(U.sysEnv(NAME).getOrElse(throw
new NCE(s"Module is not set: $NAME")))
+ def setModule(m: NCModule): Unit = System.setProperty(NAME, m.toString)
}
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/pool/NCPoolContext.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/pool/NCPoolContext.scala
index 3237f8d..debd2d8 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/pool/NCPoolContext.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/pool/NCPoolContext.scala
@@ -17,12 +17,13 @@
package org.apache.nlpcraft.common.pool
+import org.apache.nlpcraft.common.U
import scala.concurrent.ExecutionContext
/**
* Pool context trait.
*/
trait NCPoolContext {
- def getName: String = getClass.getName
+ def getName: String = U.cleanClassName(getClass, simpleName = false)
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/NCPoolManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/pool/NCPoolManager.scala
index 867d3e6..5446bf5 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
@@ -36,15 +36,19 @@ object NCPoolManager extends NCService {
private case class Holder(context: ExecutionContext, pool:
Option[ExecutorService])
private object Config extends NCConfigurable {
- 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")
- }
+ private val module: NCModule = NCModule.getModule
- val m: Option[Map[String, String]] = getMapOpt(cfgPath)
+ val moduleName: String = module.toString.toLowerCase
+
+ val factories: Map[String, NCPoolFactory] = {
+ val m: Option[Map[String, String]] =
+ getMapOpt(
+ module match {
+ case SERVER ⇒ "nlpcraft.server.pools"
+ case PROBE ⇒ "nlpcraft.server.pools"
+ case m ⇒ throw new AssertionError(s"Unexpected module:
$m")
+ }
+ )
m.getOrElse(Map.empty).map(p ⇒ p._1 → U.mkObject(p._2))
}
@@ -58,13 +62,16 @@ object NCPoolManager extends NCService {
case Some(f) ⇒
val p = f.mkExecutorService()
- logger.info(s"Executor service created with factory
'${f.getClass.getName}' for '$name'")
+ logger.info(
+ s"Executor service created with factory
${f.getClass.getName} for $name, " +
+ s"module: ${Config.moduleName}."
+ )
Holder(ExecutionContext.fromExecutor(p), Some(p))
case None ⇒
- logger.info(s"System executor service used for
'$name'")
+ logger.info(s"System executor service used for $name,
module: ${Config.moduleName}.")
-
Holder(scala.concurrent.ExecutionContext.Implicits.global, None)
+ Holder(ExecutionContext.Implicits.global, None)
}
).context
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/util/NCUtils.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/util/NCUtils.scala
index 09cf8f7..d101fa9 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/util/NCUtils.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/util/NCUtils.scala
@@ -1849,10 +1849,11 @@ object NCUtils extends LazyLogging {
* Gets simple class name of the caller removing '$' for Scala classes.
*
* @param clazz Class object.
+ * @param simpleName Simple name flag.
* @return Simple class name.
*/
- def cleanClassName(clazz: Class[_]): String = {
- val cls = clazz.getSimpleName
+ def cleanClassName(clazz: Class[_], simpleName: Boolean = true): String = {
+ val cls = if (simpleName) clazz.getSimpleName else clazz.getName
if (cls.endsWith("$"))
cls.substring(0, cls.length - 1)
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 388db14..71ab4de 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
@@ -115,7 +115,7 @@ object NCCli extends App {
private var term: Terminal = _
- NCModule.setCurrent(NCModule.CLI)
+ NCModule.setModule(NCModule.CLI)
// See NCProbeMdo.
case class Probe(
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 dd3df43..eaa3695 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/NCProbeBoot.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/NCProbeBoot.scala
@@ -188,7 +188,7 @@ private [probe] object NCProbeBoot extends LazyLogging with
NCOpenCensusTrace {
* @param fut
*/
private def start0(cfg: ProbeConfig, fut: CompletableFuture[Integer]):
Unit = {
- NCModule.setCurrent(NCModule.PROBE)
+ NCModule.setModule(NCModule.PROBE)
// Record an anonymous screenview.
new Thread() {
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 0305708..0cebaae 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/NCServer.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/NCServer.scala
@@ -164,7 +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)
+ NCModule.setModule(NCModule.SERVER)
}
/**