1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- package com.ibm.bi.platform.modeling.sdk.examples;
- import com.ibm.bi.platform.modeling.sdk.examples.internal.ModelingHelper;
- import com.ibm.bi.platform.moser.core.tasks.TaskState;
- import com.ibm.json.java.JSONObject;
- public abstract class AsynchronousTasksRunner extends ModelingHelper {
-
- public AsynchronousTasksRunner(String origin) {
- super(origin);
- }
-
-
- protected JSONObject executeAsychronousTask(String taskJson) {
- try {
- JSONObject task = JSONObject.parse(taskJson);
- String asynchronousTaskId = task.get("taskID").toString();
-
- String url = getOrigin() + getTasksURL() + asynchronousTaskId;
- JSONObject response = stringToJson(executeGetRequest(url, Integer.valueOf(200), null));
- while (response != null && inProgress(response.get("state").toString())) {
- try {
- Thread.sleep(3000);
- } catch (Exception e) {
- }
-
- response = stringToJson(executeGetRequest(url, Integer.valueOf(200), null));
- }
- return response;
- } catch (Exception e) {
- e.printStackTrace();
- }
- return null;
- }
-
- public abstract String getTasksURL();
-
- private static boolean inProgress(String state) {
- if(state == null){
- return false;
- }
- switch (state) {
- case TaskState.EXECUTING:
- case TaskState.PENDING:
- case TaskState.NOT_CANCELLABLE:
- return true;
- default:
- return false;
- }
- }
- }
|