This is an automated email from the ASF dual-hosted git repository.

aradzinski pushed a commit to branch NLPCRAFT-108
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft.git


The following commit(s) were added to refs/heads/NLPCRAFT-108 by this push:
     new 393c049  WIP.
393c049 is described below

commit 393c049bb4ee91c4587feb961442b32bef82783a
Author: Aaron Radzinski <[email protected]>
AuthorDate: Sat Oct 3 22:58:20 2020 -0700

    WIP.
---
 .../nlpcraft/model/tools/cmdline/NCCli.scala       | 24 ++++++---
 ...CliServerBeacon.scala => NCCliAnsiBleach.scala} | 61 +++++++++-------------
 .../model/tools/cmdline/NCCliServerBeacon.scala    |  2 +-
 3 files changed, 43 insertions(+), 44 deletions(-)

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 6e90df5..f2e8df7 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
@@ -442,7 +442,7 @@ object NCCli extends App {
             case None ⇒ ()
         }
 
-        val pb = new ProcessBuilder(
+        val srvPb = new ProcessBuilder(
             JAVA,
             "-ea",
             "-Xms2048m",
@@ -470,14 +470,24 @@ object NCCli extends App {
             },
         )
 
-        pb.directory(new File(INSTALL_HOME))
-        pb.redirectErrorStream(true)
-        pb.redirectOutput(Redirect.appendTo(output))
+        srvPb.directory(new File(INSTALL_HOME))
+        srvPb.redirectErrorStream(true)
+
+        val bleachPb = new ProcessBuilder(
+            JAVA,
+            "-ea",
+            "-cp",
+            s"$JAVA_CP",
+            "org.apache.nlpcraft.model.tools.cmdline.NCCliAnsiBleach"
+        )
+
+        bleachPb.directory(new File(INSTALL_HOME))
+        bleachPb.redirectOutput(Redirect.appendTo(output))
 
         try {
-            pb.start()
+            ProcessBuilder.startPipeline(Seq(srvPb, bleachPb).asJava)
 
-            logln(s"Server output: ${c(output.getAbsolutePath)}")
+            logln(s"Server output > ${c(output.getAbsolutePath)}")
 
             if (noWait)
                 logln(s"Server is starting...")
@@ -1039,7 +1049,7 @@ object NCCli extends App {
                     logln(s"${VER.date}")
             }
             else
-                error(s"Invalid parameters for command '${cmd.name}': 
${args.mkString(", ")}")
+                error(s"Invalid parameters: ${args.mkString(", ")}")
         }
 
 
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCliServerBeacon.scala
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCliAnsiBleach.scala
similarity index 54%
copy from 
nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCliServerBeacon.scala
copy to 
nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCliAnsiBleach.scala
index 335f8f1..51459ad 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCliServerBeacon.scala
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCliAnsiBleach.scala
@@ -17,42 +17,31 @@
 
 package org.apache.nlpcraft.model.tools.cmdline
 
+import java.io.{BufferedInputStream, BufferedReader}
+
+import org.apache.nlpcraft.common._
+import org.jline.utils.InputStreamReader
+import resource.managed
+
 /**
- *
- * @param pid
- * @param dbUrl
- * @param dbDriver
- * @param dbPoolMin
- * @param dbPoolMax
- * @param dbPoolInit
- * @param dbPoolInc
- * @param initDb
- * @param restEndpoint
- * @param upLink
- * @param downLink
- * @param startMs
- * @param nlpEngine
- * @param tokenProviders
- * @param extConfigUrl
- * @param ph
+ * Pipe filter to remove ANSI escape sequences.
  */
-case class NCCliServerBeacon(
-    pid: Long,
-    dbUrl: String,
-    dbDriver: String,
-    dbPoolMin: Int,
-    dbPoolMax: Int,
-    dbPoolInit: Int,
-    dbPoolInc: Int,
-    dbInit: Boolean,
-    restEndpoint: String,
-    upLink: String,
-    downLink: String,
-    startMs: Long,
-    nlpEngine: String,
-    tokenProviders: String,
-    extConfigUrl: String,
-    filePath: String,
-    @transient var ph: ProcessHandle = null
-)
+object NCCliAnsiBleach extends App {
+    managed(
+        new BufferedReader(
+            new InputStreamReader(
+                new BufferedInputStream(System.in)
+            )
+        )
+    ) acquireAndGet { in ⇒
+        var line = in.readLine()
+
+        while (line != null) {
+            System.out.println(U.stripAnsi(line))
+
+            line = in.readLine()
+        }
+    }
 
+    System.exit(0)
+}
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCliServerBeacon.scala
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCliServerBeacon.scala
index 335f8f1..2847318 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCliServerBeacon.scala
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCliServerBeacon.scala
@@ -26,7 +26,7 @@ package org.apache.nlpcraft.model.tools.cmdline
  * @param dbPoolMax
  * @param dbPoolInit
  * @param dbPoolInc
- * @param initDb
+ * @param dbInit
  * @param restEndpoint
  * @param upLink
  * @param downLink

Reply via email to