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; + } }
