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();
}