Mino refactoring: add json support for resources, fix test and edgeVersion for test
This commit is contained in:
parent
ed285338d2
commit
6fa3a125c2
@ -647,7 +647,7 @@ public final class EdgeGrpcSession implements Closeable {
|
|||||||
case OTA_PACKAGE:
|
case OTA_PACKAGE:
|
||||||
return ctx.getOtaPackageEdgeProcessor().convertOtaPackageEventToDownlink(edgeEvent, this.edgeVersion);
|
return ctx.getOtaPackageEdgeProcessor().convertOtaPackageEventToDownlink(edgeEvent, this.edgeVersion);
|
||||||
case TB_RESOURCE:
|
case TB_RESOURCE:
|
||||||
return ctx.getResourceEdgeProcessor().convertResourceEventToDownlink(edgeEvent);
|
return ctx.getResourceEdgeProcessor().convertResourceEventToDownlink(edgeEvent, this.edgeVersion);
|
||||||
case QUEUE:
|
case QUEUE:
|
||||||
return ctx.getQueueEdgeProcessor().convertQueueEventToDownlink(edgeEvent, this.edgeVersion);
|
return ctx.getQueueEdgeProcessor().convertQueueEventToDownlink(edgeEvent, this.edgeVersion);
|
||||||
case TENANT:
|
case TENANT:
|
||||||
|
|||||||
@ -16,18 +16,30 @@
|
|||||||
package org.thingsboard.server.service.edge.rpc.constructor;
|
package org.thingsboard.server.service.edge.rpc.constructor;
|
||||||
|
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.thingsboard.common.util.JacksonUtil;
|
||||||
import org.thingsboard.server.common.data.TbResource;
|
import org.thingsboard.server.common.data.TbResource;
|
||||||
import org.thingsboard.server.common.data.id.TbResourceId;
|
import org.thingsboard.server.common.data.id.TbResourceId;
|
||||||
import org.thingsboard.server.common.data.id.TenantId;
|
import org.thingsboard.server.common.data.id.TenantId;
|
||||||
|
import org.thingsboard.server.gen.edge.v1.EdgeVersion;
|
||||||
import org.thingsboard.server.gen.edge.v1.ResourceUpdateMsg;
|
import org.thingsboard.server.gen.edge.v1.ResourceUpdateMsg;
|
||||||
import org.thingsboard.server.gen.edge.v1.UpdateMsgType;
|
import org.thingsboard.server.gen.edge.v1.UpdateMsgType;
|
||||||
import org.thingsboard.server.queue.util.TbCoreComponent;
|
import org.thingsboard.server.queue.util.TbCoreComponent;
|
||||||
|
import org.thingsboard.server.service.edge.rpc.utils.EdgeVersionUtils;
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
@TbCoreComponent
|
@TbCoreComponent
|
||||||
public class ResourceMsgConstructor {
|
public class ResourceMsgConstructor {
|
||||||
|
|
||||||
public ResourceUpdateMsg constructResourceUpdatedMsg(UpdateMsgType msgType, TbResource tbResource) {
|
public ResourceUpdateMsg constructResourceUpdatedMsg(UpdateMsgType msgType, TbResource tbResource, EdgeVersion edgeVersion) {
|
||||||
|
if (EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion)) {
|
||||||
|
return constructDeprecatedResourceUpdateMsg(msgType, tbResource);
|
||||||
|
}
|
||||||
|
return ResourceUpdateMsg.newBuilder().setMsgType(msgType).setEntity(JacksonUtil.toString(tbResource))
|
||||||
|
.setIdMSB(tbResource.getId().getId().getMostSignificantBits())
|
||||||
|
.setIdLSB(tbResource.getId().getId().getLeastSignificantBits()).build();
|
||||||
|
}
|
||||||
|
|
||||||
|
private ResourceUpdateMsg constructDeprecatedResourceUpdateMsg(UpdateMsgType msgType, TbResource tbResource) {
|
||||||
ResourceUpdateMsg.Builder builder = ResourceUpdateMsg.newBuilder()
|
ResourceUpdateMsg.Builder builder = ResourceUpdateMsg.newBuilder()
|
||||||
.setMsgType(msgType)
|
.setMsgType(msgType)
|
||||||
.setIdMSB(tbResource.getId().getId().getMostSignificantBits())
|
.setIdMSB(tbResource.getId().getId().getMostSignificantBits())
|
||||||
|
|||||||
@ -70,16 +70,6 @@ public abstract class BaseAlarmProcessor extends BaseEdgeProcessor {
|
|||||||
case ENTITY_UPDATED_RPC_MESSAGE:
|
case ENTITY_UPDATED_RPC_MESSAGE:
|
||||||
alarm.setId(alarmId);
|
alarm.setId(alarmId);
|
||||||
alarm.setOriginator(originatorId);
|
alarm.setOriginator(originatorId);
|
||||||
alarm.setSeverity(AlarmSeverity.valueOf(alarmUpdateMsg.getSeverity()));
|
|
||||||
alarm.setStartTs(alarmUpdateMsg.getStartTs());
|
|
||||||
var alarmStatus = AlarmStatus.valueOf(alarmUpdateMsg.getStatus());
|
|
||||||
alarm.setClearTs(alarmUpdateMsg.getClearTs());
|
|
||||||
alarm.setPropagate(alarmUpdateMsg.getPropagate());
|
|
||||||
alarm.setCleared(alarmStatus.isCleared());
|
|
||||||
alarm.setAcknowledged(alarmStatus.isAck());
|
|
||||||
alarm.setAckTs(alarmUpdateMsg.getAckTs());
|
|
||||||
alarm.setEndTs(alarmUpdateMsg.getEndTs());
|
|
||||||
alarm.setDetails(JacksonUtil.toJsonNode(alarmUpdateMsg.getDetails()));
|
|
||||||
if (UpdateMsgType.ENTITY_CREATED_RPC_MESSAGE.equals(alarmUpdateMsg.getMsgType())) {
|
if (UpdateMsgType.ENTITY_CREATED_RPC_MESSAGE.equals(alarmUpdateMsg.getMsgType())) {
|
||||||
alarmService.createAlarm(AlarmCreateOrUpdateActiveRequest.fromAlarm(alarm, null, alarmId));
|
alarmService.createAlarm(AlarmCreateOrUpdateActiveRequest.fromAlarm(alarm, null, alarmId));
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -29,6 +29,7 @@ import org.thingsboard.server.common.data.id.TbResourceId;
|
|||||||
import org.thingsboard.server.common.data.id.TenantId;
|
import org.thingsboard.server.common.data.id.TenantId;
|
||||||
import org.thingsboard.server.dao.exception.DataValidationException;
|
import org.thingsboard.server.dao.exception.DataValidationException;
|
||||||
import org.thingsboard.server.gen.edge.v1.DownlinkMsg;
|
import org.thingsboard.server.gen.edge.v1.DownlinkMsg;
|
||||||
|
import org.thingsboard.server.gen.edge.v1.EdgeVersion;
|
||||||
import org.thingsboard.server.gen.edge.v1.ResourceUpdateMsg;
|
import org.thingsboard.server.gen.edge.v1.ResourceUpdateMsg;
|
||||||
import org.thingsboard.server.gen.edge.v1.UpdateMsgType;
|
import org.thingsboard.server.gen.edge.v1.UpdateMsgType;
|
||||||
import org.thingsboard.server.queue.util.TbCoreComponent;
|
import org.thingsboard.server.queue.util.TbCoreComponent;
|
||||||
@ -70,7 +71,7 @@ public class ResourceEdgeProcessor extends BaseResourceProcessor {
|
|||||||
return Futures.immediateFuture(null);
|
return Futures.immediateFuture(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public DownlinkMsg convertResourceEventToDownlink(EdgeEvent edgeEvent) {
|
public DownlinkMsg convertResourceEventToDownlink(EdgeEvent edgeEvent, EdgeVersion edgeVersion) {
|
||||||
TbResourceId tbResourceId = new TbResourceId(edgeEvent.getEntityId());
|
TbResourceId tbResourceId = new TbResourceId(edgeEvent.getEntityId());
|
||||||
DownlinkMsg downlinkMsg = null;
|
DownlinkMsg downlinkMsg = null;
|
||||||
switch (edgeEvent.getAction()) {
|
switch (edgeEvent.getAction()) {
|
||||||
@ -80,7 +81,7 @@ public class ResourceEdgeProcessor extends BaseResourceProcessor {
|
|||||||
if (tbResource != null) {
|
if (tbResource != null) {
|
||||||
UpdateMsgType msgType = getUpdateMsgType(edgeEvent.getAction());
|
UpdateMsgType msgType = getUpdateMsgType(edgeEvent.getAction());
|
||||||
ResourceUpdateMsg resourceUpdateMsg =
|
ResourceUpdateMsg resourceUpdateMsg =
|
||||||
resourceMsgConstructor.constructResourceUpdatedMsg(msgType, tbResource);
|
resourceMsgConstructor.constructResourceUpdatedMsg(msgType, tbResource, edgeVersion);
|
||||||
downlinkMsg = DownlinkMsg.newBuilder()
|
downlinkMsg = DownlinkMsg.newBuilder()
|
||||||
.setDownlinkMsgId(EdgeUtils.nextPositiveInt())
|
.setDownlinkMsgId(EdgeUtils.nextPositiveInt())
|
||||||
.addResourceUpdateMsg(resourceUpdateMsg)
|
.addResourceUpdateMsg(resourceUpdateMsg)
|
||||||
|
|||||||
@ -314,7 +314,7 @@ public abstract class BaseTelemetryProcessor extends BaseEdgeProcessor {
|
|||||||
EntityType entityType,
|
EntityType entityType,
|
||||||
UUID entityUUID,
|
UUID entityUUID,
|
||||||
EdgeEventActionType actionType,
|
EdgeEventActionType actionType,
|
||||||
JsonNode body) throws JsonProcessingException {
|
JsonNode body) {
|
||||||
EntityId entityId;
|
EntityId entityId;
|
||||||
switch (entityType) {
|
switch (entityType) {
|
||||||
case DEVICE:
|
case DEVICE:
|
||||||
|
|||||||
@ -111,7 +111,7 @@ public class EdgeGrpcClient implements EdgeRpcClient {
|
|||||||
.setConnectRequestMsg(ConnectRequestMsg.newBuilder()
|
.setConnectRequestMsg(ConnectRequestMsg.newBuilder()
|
||||||
.setEdgeRoutingKey(edgeKey)
|
.setEdgeRoutingKey(edgeKey)
|
||||||
.setEdgeSecret(edgeSecret)
|
.setEdgeSecret(edgeSecret)
|
||||||
.setEdgeVersion(EdgeVersion.V_3_6_1)
|
.setEdgeVersion(EdgeVersion.V_3_6_2)
|
||||||
.setMaxInboundMessageSize(maxInboundMessageSize)
|
.setMaxInboundMessageSize(maxInboundMessageSize)
|
||||||
.build())
|
.build())
|
||||||
.build());
|
.build());
|
||||||
|
|||||||
@ -452,13 +452,14 @@ message ResourceUpdateMsg {
|
|||||||
UpdateMsgType msgType = 1;
|
UpdateMsgType msgType = 1;
|
||||||
int64 idMSB = 2;
|
int64 idMSB = 2;
|
||||||
int64 idLSB = 3;
|
int64 idLSB = 3;
|
||||||
string title = 4;
|
string title = 4 [deprecated = true];
|
||||||
string resourceType = 5;
|
string resourceType = 5 [deprecated = true];
|
||||||
string resourceKey = 6;
|
string resourceKey = 6 [deprecated = true];
|
||||||
string fileName = 7;
|
string fileName = 7 [deprecated = true];
|
||||||
optional string data = 8;
|
optional string data = 8 [deprecated = true];
|
||||||
optional string etag = 9;
|
optional string etag = 9 [deprecated = true];
|
||||||
bool isSystem = 10;
|
bool isSystem = 10 [deprecated = true];
|
||||||
|
string entity = 11;
|
||||||
}
|
}
|
||||||
|
|
||||||
message RuleChainMetadataRequestMsg {
|
message RuleChainMetadataRequestMsg {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user