Skip to content

Commit 442f824

Browse files
committed
updated 'WorkoutHelperDemo' service with improved data access
1 parent e2d2561 commit 442f824

File tree

2 files changed

+24
-8
lines changed

2 files changed

+24
-8
lines changed

src/main/java/net/b07z/sepia/sdk/main/MyTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
import net.b07z.sepia.sdk.connect.AssistApi;
77
import net.b07z.sepia.sdk.connect.UploadService;
8-
import net.b07z.sepia.sdk.services.uid1007.RestaurantDemo;
8+
import net.b07z.sepia.sdk.services.uid1007.WorkoutHelperDemo;
99
import net.b07z.sepia.server.assist.services.ServiceInterface;
1010
import net.b07z.sepia.server.core.data.Language;
1111

@@ -19,7 +19,7 @@ public class MyTests {
1919
public static void main(String[] args) {
2020

2121
//Define class, language and sentence (optional)
22-
ServiceInterface service = new RestaurantDemo();
22+
ServiceInterface service = new WorkoutHelperDemo(); //new RestaurantDemo();
2323
Language language = Language.EN;
2424
String testSentence = null; //"reserve a table for 2"; //we use the ones included in the service
2525

src/main/java/net/b07z/sepia/sdk/services/uid1007/WorkoutHelperDemo.java

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import java.util.TreeSet;
44

5+
import org.json.simple.JSONArray;
56
import org.json.simple.JSONObject;
67

78
import net.b07z.sepia.server.assist.answers.Answers;
@@ -10,6 +11,7 @@
1011
import net.b07z.sepia.server.assist.data.Parameter;
1112
import net.b07z.sepia.server.assist.interpreters.NluResult;
1213
import net.b07z.sepia.server.assist.interviews.InterviewData;
14+
import net.b07z.sepia.server.assist.services.ServiceAccessManager;
1315
import net.b07z.sepia.server.assist.services.ServiceBuilder;
1416
import net.b07z.sepia.server.assist.services.ServiceInfo;
1517
import net.b07z.sepia.server.assist.services.ServiceInterface;
@@ -150,6 +152,11 @@ public ServiceResult getResult(NluResult nluResult) {
150152
getInfoFreshOrCache(nluResult.input, this.getClass().getCanonicalName()),
151153
getAnswersPool(nluResult.language));
152154

155+
//test-load stored data
156+
ServiceAccessManager sam0 = new ServiceAccessManager("demokey");
157+
JSONObject userData = api.readServiceDataForUser(sam0, "tasks");
158+
System.out.println("result: " + userData);
159+
153160
//get optional parameters:
154161

155162
//-time
@@ -178,39 +185,48 @@ public ServiceResult getResult(NluResult nluResult) {
178185

179186
//Schedule intervals
180187
if (nluResult.input.isDuplexConnection()){
188+
//Some info about the connection and message:
181189
//System.out.println(nluResult.input.connection);
182190
//System.out.println(nluResult.input.msgId);
183191
//System.out.println(nluResult.input.duplexData);
192+
193+
//Collect tasks
194+
JSONArray tasksArray = new JSONArray();
184195
//Finish
185-
api.runInBackground(timeMinutes * 60 * 1000, () -> {
196+
JSON.add(tasksArray, api.runOnceInBackground(timeMinutes * 60 * 1000, () -> {
186197
//initialize follow-up result
187198
ServiceBuilder service = new ServiceBuilder(nluResult);
188199
service.answer = Answers.getAnswerString(nluResult, followUpFinish);
189200
service.status = "success";
190201
/*boolean wasSent =*/ service.sendFollowUpMessage(nluResult.input, service.buildResult());
191202
return;
192-
});
203+
}).getJson());
193204
//Interval minutes
194205
if (halfTimeMinutes >= 2){
195-
api.runInBackground(halfTimeMinutes * 60 * 1000, () -> {
206+
JSON.add(tasksArray, api.runOnceInBackground(halfTimeMinutes * 60 * 1000, () -> {
196207
//initialize follow-up result
197208
ServiceBuilder service = new ServiceBuilder(nluResult);
198209
service.answer = Answers.getAnswerString(nluResult, followUpIntervalMinutes, halfTimeMinutes);
199210
service.status = "success";
200211
/*boolean wasSent =*/ service.sendFollowUpMessage(nluResult.input, service.buildResult());
201212
return;
202-
});
213+
}).getJson());
203214
}
204215
//Interval 30s seconds
205216
long seconds = 30;
206-
api.runInBackground((timeMinutes * 60 * 1000) - (seconds * 1000), () -> {
217+
JSON.add(tasksArray, api.runOnceInBackground((timeMinutes * 60 * 1000) - (seconds * 1000), () -> {
207218
//initialize follow-up result
208219
ServiceBuilder service = new ServiceBuilder(nluResult);
209220
service.answer = Answers.getAnswerString(nluResult, followUpIntervalSeconds, seconds);
210221
service.status = "success";
211222
/*boolean wasSent =*/ service.sendFollowUpMessage(nluResult.input, service.buildResult());
212223
return;
213-
});
224+
}).getJson());
225+
226+
//Store task info for later access in service-specific storage - overwrite old if any
227+
ServiceAccessManager sam = new ServiceAccessManager("demokey");
228+
int resCode = api.writeServiceDataForUser(sam, JSON.make("tasks", tasksArray));
229+
System.out.println("resCode: " + resCode); //DEBUG
214230
}
215231

216232
//all good

0 commit comments

Comments
 (0)