Changes according to comment

This commit is contained in:
zbeacon 2021-03-16 15:23:13 +02:00 committed by Andrew Shvayka
parent 52d1b756fa
commit bd42cfc81f

View File

@ -423,32 +423,34 @@ public class RuleChainController extends BaseController {
} }
private String msgToOutput(TbMsg msg) throws Exception { private String msgToOutput(TbMsg msg) throws Exception {
ObjectNode msgData = objectMapper.createObjectNode(); JsonNode resultNode = convertMsgToOut(msg);
if (!StringUtils.isEmpty(msg.getData())) { return objectMapper.writeValueAsString(resultNode);
msgData.set("msg", objectMapper.readTree(msg.getData()));
}
Map<String, String> metadata = msg.getMetaData().getData();
msgData.set("metadata", objectMapper.valueToTree(metadata));
msgData.put("msgType", msg.getType());
return objectMapper.writeValueAsString(msgData);
} }
private String msgToOutput(List<TbMsg> msgs) throws Exception { private String msgToOutput(List<TbMsg> msgs) throws Exception {
ArrayNode resultNode = objectMapper.createArrayNode(); JsonNode resultNode;
for (TbMsg msg:msgs) { if (msgs.size() > 1) {
ObjectNode msgData = objectMapper.createObjectNode(); resultNode = objectMapper.createArrayNode();
if (!StringUtils.isEmpty(msg.getData())) { for (TbMsg msg : msgs) {
msgData.set("msg", objectMapper.readTree(msg.getData())); JsonNode convertedData = convertMsgToOut(msg);
((ArrayNode) resultNode).add(convertedData);
} }
Map<String, String> metadata = msg.getMetaData().getData(); } else {
msgData.set("metadata", objectMapper.valueToTree(metadata)); resultNode = convertMsgToOut(msgs.get(0));
msgData.put("msgType", msg.getType());
resultNode.add(msgData);
}
if (resultNode.size() == 1) {
return objectMapper.writeValueAsString(resultNode.get(0));
} }
return objectMapper.writeValueAsString(resultNode); 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()));
}
Map<String, String> metadata = msg.getMetaData().getData();
msgData.set("metadata", objectMapper.valueToTree(metadata));
msgData.put("msgType", msg.getType());
return msgData;
}
} }