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

aradzinski 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 ed60daf  WIP.
ed60daf is described below

commit ed60daf98b49116ca392bdeacd0b18ff9dfdbcab
Author: Nikita Ivanov <>
AuthorDate: Sun Dec 5 11:12:35 2021 -0800

    WIP.
---
 .../main/scala/org/apache/nlpcraft/NCContext.java  | 31 ++++++++++++++
 .../scala/org/apache/nlpcraft/NCModelAdapter.java  |  4 ++
 .../apache/nlpcraft/NCModelConfigFileAdapter.java  | 14 +++++++
 .../main/scala/org/apache/nlpcraft/NCRequest.java  |  4 +-
 .../main/scala/org/apache/nlpcraft/NCToken.java    |  1 +
 .../{NCContext.java => NCTokenParser.java}         | 13 +++++-
 .../nlpcraft/{NCContext.java => NCWord.java}       | 49 +++++++++++++++++++++-
 .../nlpcraft/{NCContext.java => NCWordParser.java} | 10 ++++-
 8 files changed, 121 insertions(+), 5 deletions(-)

diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCContext.java 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCContext.java
index 91248eb..e7eede7 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCContext.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCContext.java
@@ -17,8 +17,39 @@
 
 package org.apache.nlpcraft;
 
+import java.util.Collection;
+import java.util.List;
+
 /**
  *
  */
 public interface NCContext {
+    /**
+     * Tests if given token is part of the query this context is associated 
with.
+     *
+     * @param tok Token to check.
+     * @return {@code true} if given token is associated with this context, 
{@code false} otherwise.
+     */
+    boolean isOwnerOf(NCToken tok);
+
+    /**
+     * Gets model configuration for this query.
+     *
+     * @return Model.
+     */
+    NCModelConfig getModelConfig();
+
+    /**
+     * Gets user request.
+     *
+     * @return User request.
+     */
+    NCRequest getRequest();
+
+    /**
+     * Gets current conversation for this context.
+     *
+     * @return Current conversation.
+     */
+    NCConversation getConversation();
 }
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelAdapter.java 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelAdapter.java
index 8298add..c353989 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelAdapter.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelAdapter.java
@@ -32,4 +32,8 @@ package org.apache.nlpcraft;/*
  *
  */
 public class NCModelAdapter implements NCModel {
+    @Override
+    public NCModelConfig getConfig() {
+        return null; // TODO
+    }
 }
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelConfigFileAdapter.java 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelConfigFileAdapter.java
index 714a072..8ff292f 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelConfigFileAdapter.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelConfigFileAdapter.java
@@ -32,4 +32,18 @@ package org.apache.nlpcraft;/*
  *
  */
 public class NCModelConfigFileAdapter implements NCModelConfig {
+    @Override
+    public String getId() {
+        return null; // TODO
+    }
+
+    @Override
+    public String getName() {
+        return null; // TODO
+    }
+
+    @Override
+    public String getVersion() {
+        return null; // TODO
+    }
 }
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCRequest.java 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCRequest.java
index 09b0e33..8875c23 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCRequest.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCRequest.java
@@ -69,9 +69,9 @@ public interface NCRequest {
     /**
      * Gets string representation of the user agent that made the call with 
this request.
      *
-     * @return User agent description (web browser, REST client, etc.).
+     * @return User agent description (web browser, REST client, etc.) or 
{@code null} if not available.
      */
-    Optional<String> getUserAgent();
+    String getUserAgent();
 
     /**
      * Gets optional user request data.
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCToken.java 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCToken.java
index d777e74..6064189 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCToken.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCToken.java
@@ -144,6 +144,7 @@ public interface NCToken {
      * @return Whether this token is a freeword.
      */
     boolean isFreeWord();
+    
     /**
      * A shortcut method that gets original user input text for this token.
      * <p>
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCContext.java 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCTokenParser.java
similarity index 70%
copy from nlpcraft/src/main/scala/org/apache/nlpcraft/NCContext.java
copy to nlpcraft/src/main/scala/org/apache/nlpcraft/NCTokenParser.java
index 91248eb..36051bb 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCContext.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCTokenParser.java
@@ -17,8 +17,19 @@
 
 package org.apache.nlpcraft;
 
+import java.util.List;
+
 /**
  *
  */
-public interface NCContext {
+public interface NCTokenParser {
+    /**
+     *
+     * @param req
+     * @param cfg
+     * @param words
+     * @param toks List of already parsed tokens prio to this step. Can be 
empty but never {@code null}.
+     * @return
+     */
+    List<NCToken> parse(NCRequest req, NCModelConfig cfg, List<NCWord> words, 
List<NCToken> toks);
 }
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCContext.java 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCWord.java
similarity index 61%
copy from nlpcraft/src/main/scala/org/apache/nlpcraft/NCContext.java
copy to nlpcraft/src/main/scala/org/apache/nlpcraft/NCWord.java
index 91248eb..dc1408c 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCContext.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCWord.java
@@ -20,5 +20,52 @@ package org.apache.nlpcraft;
 /**
  *
  */
-public interface NCContext {
+public interface NCWord {
+    /**
+     *
+     * @return
+     */
+    String getOriginalText();
+
+    /**
+     *
+     * @return
+     */
+    String getNormalizedText();
+
+    /**
+     *
+     * @return
+     */
+    String getLemma();
+
+    /**
+     *
+     * @return
+     */
+    String getStem();
+
+    /**
+     *
+     * @return
+     */
+    String getPos();
+
+    /**
+     *
+     * @return
+     */
+    int getStartCharIndex();
+
+    /**
+     *
+     * @return
+     */
+    int getEndCharIndex();
+
+    /**
+     *
+     * @return
+     */
+    int getLength();
 }
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCContext.java 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCWordParser.java
similarity index 84%
copy from nlpcraft/src/main/scala/org/apache/nlpcraft/NCContext.java
copy to nlpcraft/src/main/scala/org/apache/nlpcraft/NCWordParser.java
index 91248eb..4d2d862 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCContext.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCWordParser.java
@@ -17,8 +17,16 @@
 
 package org.apache.nlpcraft;
 
+import java.util.List;
+
 /**
  *
  */
-public interface NCContext {
+public interface NCWordParser {
+    /**
+     *
+     * @param req
+     * @return
+     */
+    List<NCWord> parse(NCRequest req);
 }

Reply via email to