This is an automated email from the ASF dual-hosted git repository.
sergeykamov pushed a commit to branch NLPCRAFT-315
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft.git
The following commit(s) were added to refs/heads/NLPCRAFT-315 by this push:
new 9f0a1c1 WIP.
9f0a1c1 is described below
commit 9f0a1c19cd1eecd32c038bd9a0d262324b693ded
Author: Sergey Kamov <[email protected]>
AuthorDate: Tue May 4 12:40:26 2021 +0300
WIP.
---
.../main/resources/{nlpcraft.conf => probe.conf} | 0
.../main/resources/{nlpcraft.conf => probe.conf} | 0
.../main/resources/{nlpcraft.conf => probe.conf} | 0
.../main/resources/{nlpcraft.conf => probe.conf} | 0
.../main/resources/{nlpcraft.conf => probe.conf} | 0
.../main/resources/{nlpcraft.conf => probe.conf} | 0
.../main/resources/{nlpcraft.conf => probe.conf} | 0
.../main/resources/{nlpcraft.conf => probe.conf} | 0
.../main/resources/{nlpcraft.conf => probe.conf} | 0
nlpcraft/src/main/resources/cli/templates.zip | Bin 82508 -> 82469 bytes
.../nlpcraft/common/config/NCConfigurable.scala | 46 +++++++--------------
.../nlpcraft/model/tools/cmdline/NCCli.scala | 10 ++---
.../org/apache/nlpcraft/probe/NCProbeBoot.scala | 20 +++++----
.../org/apache/nlpcraft/server/NCServer.scala | 18 ++++----
14 files changed, 44 insertions(+), 50 deletions(-)
diff --git a/nlpcraft-examples/alarm/src/main/resources/nlpcraft.conf
b/nlpcraft-examples/alarm/src/main/resources/probe.conf
similarity index 100%
rename from nlpcraft-examples/alarm/src/main/resources/nlpcraft.conf
rename to nlpcraft-examples/alarm/src/main/resources/probe.conf
diff --git a/nlpcraft-examples/echo/src/main/resources/nlpcraft.conf
b/nlpcraft-examples/echo/src/main/resources/probe.conf
similarity index 100%
rename from nlpcraft-examples/echo/src/main/resources/nlpcraft.conf
rename to nlpcraft-examples/echo/src/main/resources/probe.conf
diff --git a/nlpcraft-examples/helloworld/src/main/resources/nlpcraft.conf
b/nlpcraft-examples/helloworld/src/main/resources/probe.conf
similarity index 100%
rename from nlpcraft-examples/helloworld/src/main/resources/nlpcraft.conf
rename to nlpcraft-examples/helloworld/src/main/resources/probe.conf
diff --git a/nlpcraft-examples/lightswitch/src/main/resources/nlpcraft.conf
b/nlpcraft-examples/lightswitch/src/main/resources/probe.conf
similarity index 100%
rename from nlpcraft-examples/lightswitch/src/main/resources/nlpcraft.conf
rename to nlpcraft-examples/lightswitch/src/main/resources/probe.conf
diff --git a/nlpcraft-examples/minecraft/src/main/resources/nlpcraft.conf
b/nlpcraft-examples/minecraft/src/main/resources/probe.conf
similarity index 100%
rename from nlpcraft-examples/minecraft/src/main/resources/nlpcraft.conf
rename to nlpcraft-examples/minecraft/src/main/resources/probe.conf
diff --git a/nlpcraft-examples/phone/src/main/resources/nlpcraft.conf
b/nlpcraft-examples/phone/src/main/resources/probe.conf
similarity index 100%
rename from nlpcraft-examples/phone/src/main/resources/nlpcraft.conf
rename to nlpcraft-examples/phone/src/main/resources/probe.conf
diff --git a/nlpcraft-examples/sql/src/main/resources/nlpcraft.conf
b/nlpcraft-examples/sql/src/main/resources/probe.conf
similarity index 100%
rename from nlpcraft-examples/sql/src/main/resources/nlpcraft.conf
rename to nlpcraft-examples/sql/src/main/resources/probe.conf
diff --git a/nlpcraft-examples/time/src/main/resources/nlpcraft.conf
b/nlpcraft-examples/time/src/main/resources/probe.conf
similarity index 100%
rename from nlpcraft-examples/time/src/main/resources/nlpcraft.conf
rename to nlpcraft-examples/time/src/main/resources/probe.conf
diff --git a/nlpcraft-examples/weather/src/main/resources/nlpcraft.conf
b/nlpcraft-examples/weather/src/main/resources/probe.conf
similarity index 100%
rename from nlpcraft-examples/weather/src/main/resources/nlpcraft.conf
rename to nlpcraft-examples/weather/src/main/resources/probe.conf
diff --git a/nlpcraft/src/main/resources/cli/templates.zip
b/nlpcraft/src/main/resources/cli/templates.zip
index 6431847..3267839 100644
Binary files a/nlpcraft/src/main/resources/cli/templates.zip and
b/nlpcraft/src/main/resources/cli/templates.zip differ
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/config/NCConfigurable.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/config/NCConfigurable.scala
index 446d240..022edd9 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/config/NCConfigurable.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/config/NCConfigurable.scala
@@ -20,8 +20,6 @@ package org.apache.nlpcraft.common.config
import com.typesafe.config.{Config, ConfigFactory}
import com.typesafe.scalalogging.LazyLogging
import org.apache.nlpcraft.common._
-import org.apache.nlpcraft.common.util.NCUtils
-import org.apache.nlpcraft.common.util.NCUtils.getClass
import java.io.File
import java.net.{MalformedURLException, URL}
@@ -284,50 +282,36 @@ object NCConfigurable extends LazyLogging {
* CONFIG_FORCE_nlpcraft_server_rest_host="localhost"
* CONFIG_FORCE_nlpcraft_server_models="com.mymodels.MyModel"
*
+ * @param cfgFile File name.
* @param overrideCfg Optional overriding configuration.
- * @param cfgFileOpt Optional file name.
* @param dfltCfg Optional default config.
* @param valFun Validation method.
*/
def initialize(
+ cfgFile: String,
overrideCfg: Option[Config],
- cfgFileOpt: Option[String],
dfltCfg: Option[Config],
valFun: Config ⇒ Boolean
): Unit = {
- require(cfgFileOpt.isDefined || dfltCfg.isDefined)
+ val tmpCfg = {
+ logger.info(s"Attempting to load/merge configuration from
configuration file: $cfgFile")
- val tmpCfg =
- // Only default configuration is provided.
- if (cfgFileOpt.isEmpty) {
- logger.info(s"Using built-in default configuration.")
+ // Order is: file, URL, resource (File and URL can override
resource)
+ var cfg = ConfigFactory.parseFile(new File(cfgFile))
- ConfigFactory.load(dfltCfg.get)
+ try
+ cfg = cfg.withFallback(ConfigFactory.parseURL(new
URL(cfgFile)))
+ catch {
+ case _: MalformedURLException ⇒ // No-op.
}
- else {
- val name = cfgFileOpt.get
- logger.info(s"Attempting to load/merge configuration from
configuration file: $name")
+ cfg = cfg.withFallback(ConfigFactory.parseResources(cfgFile))
- // Order is: file, URL, resource (File and URL can override
resource)
- var cfg = ConfigFactory.parseFile(new File(name))
+ if (dfltCfg.isDefined)
+ cfg = cfg.withFallback(dfltCfg.get)
- try
- cfg = cfg.withFallback(ConfigFactory.parseURL(new
URL(name)))
- catch {
- case _: MalformedURLException ⇒ // No-op.
- }
-
- val allRes = getClass.getClassLoader.getResources(name)
-
- if (allRes != null)
- allRes.asScala.foreach(res ⇒ cfg =
cfg.withFallback(ConfigFactory.parseURL(res)))
-
- if (dfltCfg.isDefined)
- cfg = cfg.withFallback(dfltCfg.get)
-
- cfg
- }
+ cfg
+ }
// Validate.
if (!valFun(tmpCfg)) {
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 ddf675e..97238dd 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
@@ -2044,11 +2044,11 @@ object NCCli extends NCCliBase {
def cpCommon(langDir: String, langExt: String): Unit = {
cp(".gitignore", None)
- val (startClause, exampleClause) =
+ val startClause =
langExt match {
- case "java" ⇒ (s"NCEmbeddedProbe.start($clsName.class);",
"Java example")
- case "kt" ⇒
(s"NCEmbeddedProbe.start($clsName::class.java)", "Kotlin example")
- case "scala" ⇒
(s"NCEmbeddedProbe.start(classOf[$clsName])", "Scala example")
+ case "java" ⇒ s"NCEmbeddedProbe.start($clsName.class);"
+ case "kt" ⇒ s"NCEmbeddedProbe.start($clsName::class.java)"
+ case "scala" ⇒ s"NCEmbeddedProbe.start(classOf[$clsName])"
case _ ⇒ throw new AssertionError(s"Unexpected language
extension: $langExt")
}
@@ -2062,7 +2062,7 @@ object NCCli extends NCCliBase {
)
cp(
- s"src/main/resources/nlpcraft.conf",
+ s"src/main/resources/probe.conf",
None,
"com.company.nlp.TemplateModel" → s"$pkgName.$clsName",
"templateModelId" → baseName
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 7d294de..a0f7820 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/NCProbeBoot.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/NCProbeBoot.scala
@@ -132,19 +132,25 @@ private [probe] object NCProbeBoot extends LazyLogging
with NCOpenCensusTrace {
@throws[NCE]
private def initializeConfig(args: Array[String], overrideCfg:
Option[Config]): ProbeConfig = {
NCConfigurable.initialize(
- overrideCfg,
- args.find(_.startsWith("-config=")) match {
+ cfgFile = args.find(_.startsWith("-config=")) match {
case Some(s) ⇒
val cfg = s.substring("-config=".length)
if (!U.isSuitableConfig(cfg))
throw new NCE(s"Specified probe configuration file
does not exist or cannot be read: $cfg")
-
- Some(cfg)
- case None ⇒ Some("nlpcraft.conf")
+
+ cfg
+ case None ⇒
+ if (U.isSuitableConfig("probe.conf"))
+ "probe.conf"
+ else if (U.isSuitableConfig("nlpcraft.conf"))
+ "nlpcraft.conf"
+ else
+ throw new NCE(s"Default probe configuration file does
not exist or cannot be read")
},
- Some(mkDefault()),
- (cfg: Config) ⇒ cfg.hasPath("nlpcraft.probe")
+ overrideCfg = overrideCfg,
+ dfltCfg = Some(mkDefault()),
+ valFun = (cfg: Config) ⇒ cfg.hasPath("nlpcraft.probe")
)
object Cfg extends NCConfigurable {
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 b2b9093..1015372 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/NCServer.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/NCServer.scala
@@ -176,21 +176,25 @@ object NCServer extends App with NCIgniteInstance with
LazyLogging with NCOpenCe
setSysProps()
NCConfigurable.initialize(
- None, // No overrides.
- args.find(_.startsWith("-config=")) match {
+ cfgFile = args.find(_.startsWith("-config=")) match {
case Some(s) ⇒
val cfg = s.substring("-config=".length)
if (!U.isSuitableConfig(cfg))
throw new NCE(s"Specified server configuration file
does not exist or cannot be read: $cfg")
- Some(cfg)
-
+ cfg
case None ⇒
- Some("nlpcraft.conf") // Default to 'nlpcraft.conf'.
+ if (U.isSuitableConfig("server.conf"))
+ "server.conf"
+ else if (U.isSuitableConfig("nlpcraft.conf"))
+ "nlpcraft.conf"
+ else
+ throw new NCE(s"Default server configuration file does
not exist or cannot be read")
},
- None, // No defaults.
- (cfg: Config) ⇒ cfg.hasPath("nlpcraft.server")
+ overrideCfg = None, // No overrides.
+ dfltCfg = None, // No defaults.
+ valFun = (cfg: Config) ⇒ cfg.hasPath("nlpcraft.server")
)
asciiLogo()