public DatermineBasalResult invoke() { mV8rt.executeVoidScript( "console.error(\"determine_basal(\"+\n" + "JSON.stringify(" + PARAM_glucoseStatus + ")+ \", \" +\n" + "JSON.stringify(" + PARAM_currentTemp + ")+ \", \" + \n" + "JSON.stringify(" + PARAM_iobData + ")+ \", \" +\n" + "JSON.stringify(" + PARAM_profile + ")+ \") \");"); // determine_basal(glucose_status, currenttemp, iob_data, profile, autosens_data, meal_data, // tempBasalFunctions) try { mV8rt.executeVoidScript( "var rT = determine_basal(" + PARAM_glucoseStatus + ", " + PARAM_currentTemp + ", " + PARAM_iobData + ", " + PARAM_profile + ", " + PARAM_autosens_data + ", " + PARAM_meal_data + ", " + "tempBasalFunctions" + ");"); } catch (V8ScriptExecutionException e) { log.error(e.getMessage(), e); } String ret = ""; log.debug(mV8rt.executeStringScript("JSON.stringify(rT);")); V8Object v8ObjectReuslt = mV8rt.getObject("rT"); // { // V8Object result = v8ObjectReuslt; // log.debug(Arrays.toString(result.getKeys())); // } DatermineBasalResult result = new DatermineBasalResult(v8ObjectReuslt); return result; }