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

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


The following commit(s) were added to refs/heads/master by this push:
     new e6a09b4  Bugfixes detected during java client tests.
e6a09b4 is described below

commit e6a09b49a78fc83d43437c7a627531fabfc89ff3
Author: Sergey Kamov <[email protected]>
AuthorDate: Sat Aug 7 09:03:18 2021 +0300

    Bugfixes detected during java client tests.
---
 .../nlpcraft/probe/mgrs/cmd/NCCommandManager.scala | 57 ++++++++++++++--------
 1 file changed, 38 insertions(+), 19 deletions(-)

diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/cmd/NCCommandManager.scala
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/cmd/NCCommandManager.scala
index 75047c7..0a19ad2 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/cmd/NCCommandManager.scala
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/cmd/NCCommandManager.scala
@@ -39,9 +39,7 @@ import scala.jdk.CollectionConverters.{ListHasAsScala, 
MapHasAsJava, MapHasAsSca
   * Probe commands processor.
   */
 object NCCommandManager extends NCService {
-    private final val JS_MAPPER = new ObjectMapper()
-
-    JS_MAPPER.registerModule(DefaultScalaModule)
+    private final val JS_MAPPER = new 
ObjectMapper().registerModule(DefaultScalaModule)
 
     override def start(parent: Span): NCService = startScopedSpan("start", 
parent) { _ =>
         ackStarting()
@@ -246,23 +244,44 @@ object NCCommandManager extends NCService {
                                         override def getParsers: 
JList[NCCustomParser] = null
 
                                         // Converted.
-                                        override def getElements: 
util.Set[NCElement] = mdl.getElements.asScala.map(e =>
-                                            new NCElement {
-                                                // As is.
-                                                override def getId: String = 
e.getId
-                                                override def getGroups: 
JList[String] = e.getGroups
-                                                override def getMetadata: 
util.Map[String, AnyRef] = e.getMetadata
-                                                override def getDescription: 
String = e.getDescription
-                                                override def getParentId: 
String = e.getParentId
-                                                override def getSynonyms: 
JList[String] = e.getSynonyms
-                                                override def 
isPermutateSynonyms: Optional[lang.Boolean] = e.isPermutateSynonyms
-                                                override def isSparse: 
Optional[lang.Boolean] = e.isSparse
-                                                override def getValues: 
JList[NCValue] = e.getValues
-
-                                                // Cleared.
-                                                override def getValueLoader: 
Optional[NCValueLoader] = null
+                                        override def getElements: 
util.Set[NCElement] = mdl.getElements.asScala.map(e => {
+                                            // Jackson serializes `is` getters 
but only for boolean return types,
+                                            // even with Jdk8Module.
+                                            // Below `is` getters data 
provided as `get` getters data.
+                                            abstract class NCElementJs extends 
NCElement {
+                                                // New method instead of 
`isPermutateSynonyms`
+                                                def getPermutateSynonyms: 
lang.Boolean
+
+                                                // New method instead of 
`isSparse`
+                                                def getSparse: lang.Boolean
                                             }
-                                        ).asJava
+
+                                            val eJs: NCElement =
+                                                new NCElementJs {
+                                                    // As is.
+                                                    override def getId: String 
= e.getId
+                                                    override def getGroups: 
JList[String] = e.getGroups
+                                                    override def getMetadata: 
util.Map[String, AnyRef] = e.getMetadata
+                                                    override def 
getDescription: String = e.getDescription
+                                                    override def getParentId: 
String = e.getParentId
+                                                    override def getSynonyms: 
JList[String] = e.getSynonyms
+                                                    override def getValues: 
JList[NCValue] = e.getValues
+
+                                                    // Cleared.
+                                                    override def 
getValueLoader: Optional[NCValueLoader] = null
+
+                                                    // Hidden.
+                                                    override def 
isPermutateSynonyms: Optional[lang.Boolean] = null
+                                                    override def isSparse: 
Optional[lang.Boolean] = null
+
+                                                    // Wrapped.
+                                                    override def 
getPermutateSynonyms: lang.Boolean =
+                                                        
e.isPermutateSynonyms.orElse(null)
+                                                    override def getSparse: 
lang.Boolean =
+                                                        e.isSparse.orElse(null)
+                                                }
+                                            eJs
+                                        }).asJava
                                     }
 
                                 NCProbeMessage(

Reply via email to