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

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


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

commit 6f8998ef3512b1377e7216a6ad176c4f2caf47e4
Author: Sergey Kamov <[email protected]>
AuthorDate: Wed Oct 13 11:00:18 2021 +0300

    WIP.
---
 .../nlpcraft/spring/NCNlpcraftController.java      | 14 +----
 .../main/scala/org/apache/nlpcraft/NCNlpcraft.java | 57 +++++++++++++++-----
 .../org/apache/nlpcraft/NCNlpcraftBuilder.java     | 61 ++--------------------
 .../org/apache/nlpcraft/rest/NCAskRequest.java     | 10 ++++
 .../org/apache/nlpcraft/rest/NCAskResponse.java    |  7 +++
 .../org/apache/nlpcraft/rest/NCAskSyncRequest.java | 10 ++++
 .../apache/nlpcraft/rest/NCAskSyncResponse.java    |  7 +++
 .../org/apache/nlpcraft/rest/NCCancelRequest.java  |  8 +++
 .../org/apache/nlpcraft/rest/NCCancelResponse.java |  8 +++
 .../src/test/java/org/apache/nlpcraft/NCSpec.java  |  4 +-
 10 files changed, 101 insertions(+), 85 deletions(-)

diff --git 
a/nlpcraft-spring/src/main/java/org/apache/nlpcraft/spring/NCNlpcraftController.java
 
b/nlpcraft-spring/src/main/java/org/apache/nlpcraft/spring/NCNlpcraftController.java
index 80790c4..7ec63fd 100644
--- 
a/nlpcraft-spring/src/main/java/org/apache/nlpcraft/spring/NCNlpcraftController.java
+++ 
b/nlpcraft-spring/src/main/java/org/apache/nlpcraft/spring/NCNlpcraftController.java
@@ -45,20 +45,10 @@ public class NCNlpcraftController {
     @RequestMapping(path = "ask", method = RequestMethod.POST)
     @ResponseBody
     public NCAskResponse ask(@RequestBody NCAskRequest req) {
-        NCAskResponse resp = new NCAskResponse();
-
-        resp.setRequestId(nlp.ask(req.getTxt(), req.getData(), 
req.isEnableLog(), req.getUserId()));
-
-        return resp;
+        return new NCAskResponse(nlp.ask(req.getTxt(), req.getData(), 
req.isEnableLog(), req.getUserId()));
     }
 
-    @RequestMapping(path = "cancel", method = RequestMethod.POST)
-    @ResponseBody
-    public NCCancelResponse cancel(@RequestBody String reqId) {
-        nlp.cancelAll();
-
-        return new NCCancelResponse();
-    }
+    // TODO: implement all other API methods.
 
     @PostConstruct
     public void start() {
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCNlpcraft.java 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCNlpcraft.java
index 186cf64..810cc61 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCNlpcraft.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCNlpcraft.java
@@ -25,27 +25,58 @@ import java.util.Map;
 import java.util.Set;
 
 // TODO: Maybe all responses should be objects  to be mapped under REST.
+// User ID is mandatiry for each requests ?
+// (For first look we need admin (some super user), but I guess that better to 
implement it with another layer, under)
+// API can be extended by some shortcuts methods (same with some parameters by 
default)
 public interface NCNlpcraft {
+    /**
+     *
+     * @param txt Text. Mandatory.
+     * @param data Optional data (can be null)
+     * @param enableLog true/false
+     * @param userId User ID. Mandatory.
+     *
+     * @return
+     */
     String ask(String txt, Map<String, Object> data, boolean enableLog, String 
userId);
-    String ask(String txt, String userId);
-    String ask(String txt);
 
+    /**
+     *
+     * @param txt Text. Mandatory.
+     * @param data Optional data (can be null)
+     * @param enableLog true/false
+     * @param userId User ID. Mandatory.
+     *
+     * @return
+     */
     NCResult askSync(String txt, Map<String, Object> data, boolean enableLog, 
String userId);
-    NCResult askSync(String txt, String userId);
-    NCResult askSync(String txt);
 
-    List<NCResult> check(Collection<String> reqIds, int maxRows);
-    List<NCResult> check(String userId, int maxRows);
-    NCResult check(String reqId);
+    /**
+     *
+     * @param userId User ID. Mandatory.
+     * @param reqIds Optional request identifiers (can be null)
+     * @param maxRows Maximum result rows count.
+     *
+     * @return
+     */
+    List<NCResult> check(String userId, Collection<String> reqIds, int 
maxRows);
 
-    void cancel(Collection<String> reqIds);
-    void cancel(String reqId);
-    void cancelAll(String userId);
-    void cancelAll();
+    /**
+     *
+     * @param userId User ID. Mandatory.
+     * @param reqIds Optional request identifiers (can be null)
+     */
+    void cancel(String userId, Collection<String> reqIds);
 
+    /**
+     *
+     * @param userId  User ID. Mandatory.
+     */
     void clearConversation(String userId);
-    void clearConversation();
 
+    /**
+     *
+     * @param userId  User ID. Mandatory.
+     */
     void clearDialog(String userId);
-    void clearDialog();
 }
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCNlpcraftBuilder.java 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCNlpcraftBuilder.java
index ae171be..c92ba94 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCNlpcraftBuilder.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCNlpcraftBuilder.java
@@ -29,17 +29,7 @@ public class NCNlpcraftBuilder {
         return new NCNlpcraft() {
             @Override
             public String ask(String txt, Map<String, Object> data, boolean 
enableLog, String userId) {
-                return "ask";
-            }
-
-            @Override
-            public String ask(String txt, String userId) {
-                return null;
-            }
-
-            @Override
-            public String ask(String txt) {
-                return null;
+                return "ask result";
             }
 
             @Override
@@ -48,47 +38,12 @@ public class NCNlpcraftBuilder {
             }
 
             @Override
-            public NCResult askSync(String txt, String userId) {
-                return null;
-            }
-
-            @Override
-            public NCResult askSync(String txt) {
-                return null;
-            }
-
-            @Override
-            public List<NCResult> check(Collection<String> reqIds, int 
maxRows) {
-                return null;
-            }
-
-            @Override
-            public List<NCResult> check(String userId, int maxRows) {
-                return null;
-            }
-
-            @Override
-            public NCResult check(String reqId) {
+            public List<NCResult> check(String userId, Collection<String> 
reqIds, int maxRows) {
                 return null;
             }
 
             @Override
-            public void cancel(Collection<String> reqIds) {
-
-            }
-
-            @Override
-            public void cancel(String reqId) {
-
-            }
-
-            @Override
-            public void cancelAll(String userId) {
-
-            }
-
-            @Override
-            public void cancelAll() {
+            public void cancel(String userId, Collection<String> reqIds) {
 
             }
 
@@ -98,19 +53,9 @@ public class NCNlpcraftBuilder {
             }
 
             @Override
-            public void clearConversation() {
-
-            }
-
-            @Override
             public void clearDialog(String userId) {
 
             }
-
-            @Override
-            public void clearDialog() {
-
-            }
         };
     }
 }
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/rest/NCAskRequest.java 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/rest/NCAskRequest.java
index 84ca125..1cbbac6 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/rest/NCAskRequest.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/rest/NCAskRequest.java
@@ -9,6 +9,16 @@ public class NCAskRequest {
     public boolean enableLog;
     public String userId;
 
+    public NCAskRequest(String txt, Map<String, Object> data, boolean 
enableLog, String userId) {
+        this.txt = txt;
+        this.data = data;
+        this.enableLog = enableLog;
+        this.userId = userId;
+    }
+
+    public NCAskRequest() {
+    }
+
     public String getTxt() {
         return txt;
     }
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/rest/NCAskResponse.java 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/rest/NCAskResponse.java
index 29538d6..f622ecb 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/rest/NCAskResponse.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/rest/NCAskResponse.java
@@ -3,6 +3,13 @@ package org.apache.nlpcraft.rest;
 public class NCAskResponse {
     private String requestId;
 
+    public NCAskResponse(String requestId) {
+        this.requestId = requestId;
+    }
+
+    public NCAskResponse() {
+    }
+
     public String getRequestId() {
         return requestId;
     }
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/rest/NCAskSyncRequest.java 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/rest/NCAskSyncRequest.java
index 4a1917a..9132c1f 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/rest/NCAskSyncRequest.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/rest/NCAskSyncRequest.java
@@ -8,6 +8,16 @@ public class NCAskSyncRequest {
     private boolean enableLog;
     private String userId;
 
+    public NCAskSyncRequest(String txt, Map<String, Object> data, boolean 
enableLog, String userId) {
+        this.txt = txt;
+        this.data = data;
+        this.enableLog = enableLog;
+        this.userId = userId;
+    }
+
+    public NCAskSyncRequest() {
+    }
+
     public String getTxt() {
         return txt;
     }
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/rest/NCAskSyncResponse.java 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/rest/NCAskSyncResponse.java
index c13109c..1d3045b 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/rest/NCAskSyncResponse.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/rest/NCAskSyncResponse.java
@@ -5,6 +5,13 @@ import org.apache.nlpcraft.model.NCResult;
 public class NCAskSyncResponse {
     private NCResult result;
 
+    public NCAskSyncResponse(NCResult result) {
+        this.result = result;
+    }
+
+    public NCAskSyncResponse() {
+    }
+
     public NCResult getResult() {
         return result;
     }
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/rest/NCCancelRequest.java 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/rest/NCCancelRequest.java
index f50249a..d90d48d 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/rest/NCCancelRequest.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/rest/NCCancelRequest.java
@@ -6,6 +6,14 @@ public class NCCancelRequest {
     private Collection<String> reqIds;
     private String userId;
 
+    public NCCancelRequest(Collection<String> reqIds, String userId) {
+        this.reqIds = reqIds;
+        this.userId = userId;
+    }
+
+    public NCCancelRequest() {
+    }
+
     public Collection<String> getReqIds() {
         return reqIds;
     }
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/rest/NCCancelResponse.java 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/rest/NCCancelResponse.java
index c175d3c..ce719f4 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/rest/NCCancelResponse.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/rest/NCCancelResponse.java
@@ -6,6 +6,14 @@ public class NCCancelResponse {
     private Collection<String> reqIds;
     private String userId;
 
+    public NCCancelResponse(Collection<String> reqIds, String userId) {
+        this.reqIds = reqIds;
+        this.userId = userId;
+    }
+
+    public NCCancelResponse() {
+    }
+
     public Collection<String> getReqIds() {
         return reqIds;
     }
diff --git a/nlpcraft/src/test/java/org/apache/nlpcraft/NCSpec.java 
b/nlpcraft/src/test/java/org/apache/nlpcraft/NCSpec.java
index 782852c..511813c 100644
--- a/nlpcraft/src/test/java/org/apache/nlpcraft/NCSpec.java
+++ b/nlpcraft/src/test/java/org/apache/nlpcraft/NCSpec.java
@@ -128,9 +128,9 @@ public class NCSpec {
 
         NCNlpcraft nlp = new NCNlpcraftBuilder().getNlpcraft(mdl);
 
-        String reqId = nlp.ask("weather today");
+        String reqId = nlp.ask("weather today", null, true, "user1");
 
-        nlp.cancel(reqId);
+        nlp.cancel("user1", Collections.singletonList(reqId));
 
         mdl.stop();
     }

Reply via email to