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()

Reply via email to