|
|
|
@ -18,6 +18,7 @@ package org.thingsboard.server.controller; |
|
|
|
import com.fasterxml.jackson.core.type.TypeReference; |
|
|
|
import com.fasterxml.jackson.databind.JsonNode; |
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper; |
|
|
|
import com.fasterxml.jackson.databind.node.ArrayNode; |
|
|
|
import com.fasterxml.jackson.databind.node.ObjectNode; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
@ -432,4 +433,22 @@ public class RuleChainController extends BaseController { |
|
|
|
return objectMapper.writeValueAsString(msgData); |
|
|
|
} |
|
|
|
|
|
|
|
private String msgToOutput(List<TbMsg> 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<String, String> 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); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|