diff --git a/cmvr-iot-test/src/main/java/com/cmvr/test/flow/runtime/dispatcher/FlowGetCurrentObjNodeHandler.java b/cmvr-iot-test/src/main/java/com/cmvr/test/flow/runtime/dispatcher/FlowGetCurrentObjNodeHandler.java index 376ddcf..bee6c8e 100644 --- a/cmvr-iot-test/src/main/java/com/cmvr/test/flow/runtime/dispatcher/FlowGetCurrentObjNodeHandler.java +++ b/cmvr-iot-test/src/main/java/com/cmvr/test/flow/runtime/dispatcher/FlowGetCurrentObjNodeHandler.java @@ -19,16 +19,17 @@ public class FlowGetCurrentObjNodeHandler implements FlowNodeTypeHandler { public TaskNodeExecuteResult handle(TaskNodeExecuteMessage message) { try { JSONObject inputParams = message.getInputParams(); - JSONArray jsonArray = inputParams.getJSONArray("array"); List iterations = message.getIterations(); int last = CollUtil.getLast(iterations) - 1; - Object o = jsonArray.get(last); JSONObject output = new JSONObject(); output.put("index", last); - output.put("object", o); + + if (CollUtil.isNotEmpty(jsonArray) && last >= 0) { + output.put("object", jsonArray.get(last)); + } return TaskNodeExecuteResult.success(output);