From bd42cfc81f4c8641ad7b41f6e24e95f6d2da80f0 Mon Sep 17 00:00:00 2001 From: zbeacon Date: Tue, 16 Mar 2021 15:23:13 +0200 Subject: [PATCH] Changes according to comment --- .../controller/RuleChainController.java | 38 ++++++++++--------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/application/src/main/java/org/thingsboard/server/controller/RuleChainController.java b/application/src/main/java/org/thingsboard/server/controller/RuleChainController.java index 030fa67995..c36d328dd3 100644 --- a/application/src/main/java/org/thingsboard/server/controller/RuleChainController.java +++ b/application/src/main/java/org/thingsboard/server/controller/RuleChainController.java @@ -423,6 +423,25 @@ public class RuleChainController extends BaseController { } private String msgToOutput(TbMsg msg) throws Exception { + JsonNode resultNode = convertMsgToOut(msg); + return objectMapper.writeValueAsString(resultNode); + } + + private String msgToOutput(List msgs) throws Exception { + JsonNode resultNode; + if (msgs.size() > 1) { + resultNode = objectMapper.createArrayNode(); + for (TbMsg msg : msgs) { + JsonNode convertedData = convertMsgToOut(msg); + ((ArrayNode) resultNode).add(convertedData); + } + } else { + resultNode = convertMsgToOut(msgs.get(0)); + } + return objectMapper.writeValueAsString(resultNode); + } + + private JsonNode convertMsgToOut(TbMsg msg) throws Exception{ ObjectNode msgData = objectMapper.createObjectNode(); if (!StringUtils.isEmpty(msg.getData())) { msgData.set("msg", objectMapper.readTree(msg.getData())); @@ -430,25 +449,8 @@ public class RuleChainController extends BaseController { Map metadata = msg.getMetaData().getData(); msgData.set("metadata", objectMapper.valueToTree(metadata)); msgData.put("msgType", msg.getType()); - return objectMapper.writeValueAsString(msgData); + return msgData; } - private String msgToOutput(List msgs) throws Exception { - ArrayNode resultNode = objectMapper.createArrayNode(); - for (TbMsg msg:msgs) { - ObjectNode msgData = objectMapper.createObjectNode(); - if (!StringUtils.isEmpty(msg.getData())) { - msgData.set("msg", objectMapper.readTree(msg.getData())); - } - Map metadata = msg.getMetaData().getData(); - msgData.set("metadata", objectMapper.valueToTree(metadata)); - msgData.put("msgType", msg.getType()); - resultNode.add(msgData); - } - if (resultNode.size() == 1) { - return objectMapper.writeValueAsString(resultNode.get(0)); - } - return objectMapper.writeValueAsString(resultNode); - } }