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

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

commit e30c9532cd2ca5a96b3e36bcd3e93cf59be385c5
Author: Sergey Kamov <[email protected]>
AuthorDate: Wed Jun 16 14:59:39 2021 +0300

    WIP.
---
 .../main/scala/org/apache/nlpcraft/model/NCElement.java   |  5 +++++
 .../org/apache/nlpcraft/model/NCModelFileAdapter.java     | 15 ++++++++++++---
 .../apache/nlpcraft/model/impl/json/NCElementJson.java    |  8 ++++++++
 3 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/NCElement.java 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/NCElement.java
index 0b7b24d..d2e3514 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/NCElement.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/NCElement.java
@@ -382,4 +382,9 @@ public interface NCElement extends NCMetadata, Serializable 
{
     default Optional<Boolean> isSparse() {
         return Optional.empty();
     }
+
+    // TODO:
+    default boolean isContextWordSupport() {
+        return false;
+    }
 }
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/NCModelFileAdapter.java 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/NCModelFileAdapter.java
index c313bf7..af075b6 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/NCModelFileAdapter.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/NCModelFileAdapter.java
@@ -349,17 +349,26 @@ abstract public class NCModelFileAdapter extends 
NCModelAdapter {
 
                         @Override
                         public Optional<Boolean> isPermutateSynonyms() {
-                            return nvl(js.isPermutateSynonyms(), 
proxy.isPermutateSynonyms());
+                            return nvlOpt(js.isPermutateSynonyms(), 
proxy.isPermutateSynonyms());
                         }
 
                         @Override
                         public Optional<Boolean> isSparse() {
-                            return nvl(js.isSparse(), proxy.isSparse());
+                            return nvlOpt(js.isSparse(), proxy.isSparse());
                         }
 
-                        private<T> Optional<T> nvl(T t, T dflt) {
+                        @Override
+                        public boolean isContextWordSupport() {
+                            return nvlMandatory(js.isContextWordSupport(), 
NCElement.super.isContextWordSupport());
+                        }
+
+                        private<T> Optional<T> nvlOpt(T t, T dflt) {
                             return Optional.of(t != null ? t : dflt);
                         }
+
+                        private<T> T nvlMandatory(T t, T dflt) {
+                            return t != null ? t : dflt;
+                        }
                     };
             }).collect(Collectors.toSet());
     }
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/impl/json/NCElementJson.java
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/impl/json/NCElementJson.java
index addca45..2dab47e 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/impl/json/NCElementJson.java
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/impl/json/NCElementJson.java
@@ -36,6 +36,8 @@ public class NCElementJson {
     private Boolean isPermutateSynonyms;
     // Can be null.
     private Boolean isSparse;
+    // Can be null.
+    private Boolean contextWordSupport;
 
     public String getParentId() {
         return parentId;
@@ -97,4 +99,10 @@ public class NCElementJson {
     public void setSparse(Boolean sparse) {
         isSparse = sparse;
     }
+    public Boolean isContextWordSupport() {
+        return contextWordSupport;
+    }
+    public void setContextWordSupport(Boolean contextWordSupport) {
+        this.contextWordSupport = contextWordSupport;
+    }
 }

Reply via email to