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:
|
||||
return ctx.getOtaPackageEdgeProcessor().convertOtaPackageEventToDownlink(edgeEvent, this.edgeVersion);
|
||||
case TB_RESOURCE:
|
||||
return ctx.getResourceEdgeProcessor().convertResourceEventToDownlink(edgeEvent);
|
||||
return ctx.getResourceEdgeProcessor().convertResourceEventToDownlink(edgeEvent, this.edgeVersion);
|
||||
case QUEUE:
|
||||
return ctx.getQueueEdgeProcessor().convertQueueEventToDownlink(edgeEvent, this.edgeVersion);
|
||||
case TENANT:
|
||||
|
||||
@ -16,18 +16,30 @@
|
||||
package org.thingsboard.server.service.edge.rpc.constructor;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.thingsboard.common.util.JacksonUtil;
|
||||
import org.thingsboard.server.common.data.TbResource;
|
||||
import org.thingsboard.server.common.data.id.TbResourceId;
|
||||
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.UpdateMsgType;
|
||||
import org.thingsboard.server.queue.util.TbCoreComponent;
|
||||
import org.thingsboard.server.service.edge.rpc.utils.EdgeVersionUtils;
|
||||
|
||||
@Component
|
||||
@TbCoreComponent
|
||||
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()
|
||||
.setMsgType(msgType)
|
||||
.setIdMSB(tbResource.getId().getId().getMostSignificantBits())
|
||||
|
||||
@ -70,16 +70,6 @@ public abstract class BaseAlarmProcessor extends BaseEdgeProcessor {
|
||||
case ENTITY_UPDATED_RPC_MESSAGE:
|
||||
alarm.setId(alarmId);
|
||||
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())) {
|
||||
alarmService.createAlarm(AlarmCreateOrUpdateActiveRequest.fromAlarm(alarm, null, alarmId));
|
||||
} 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.dao.exception.DataValidationException;
|
||||
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.UpdateMsgType;
|
||||
import org.thingsboard.server.queue.util.TbCoreComponent;
|
||||
@ -70,7 +71,7 @@ public class ResourceEdgeProcessor extends BaseResourceProcessor {
|
||||
return Futures.immediateFuture(null);
|
||||
}
|
||||
|
||||
public DownlinkMsg convertResourceEventToDownlink(EdgeEvent edgeEvent) {
|
||||
public DownlinkMsg convertResourceEventToDownlink(EdgeEvent edgeEvent, EdgeVersion edgeVersion) {
|
||||
TbResourceId tbResourceId = new TbResourceId(edgeEvent.getEntityId());
|
||||
DownlinkMsg downlinkMsg = null;
|
||||
switch (edgeEvent.getAction()) {
|
||||
@ -80,7 +81,7 @@ public class ResourceEdgeProcessor extends BaseResourceProcessor {
|
||||
if (tbResource != null) {
|
||||
UpdateMsgType msgType = getUpdateMsgType(edgeEvent.getAction());
|
||||
ResourceUpdateMsg resourceUpdateMsg =
|
||||
resourceMsgConstructor.constructResourceUpdatedMsg(msgType, tbResource);
|
||||
resourceMsgConstructor.constructResourceUpdatedMsg(msgType, tbResource, edgeVersion);
|
||||
downlinkMsg = DownlinkMsg.newBuilder()
|
||||
.setDownlinkMsgId(EdgeUtils.nextPositiveInt())
|
||||
.addResourceUpdateMsg(resourceUpdateMsg)
|
||||
|
||||
@ -314,7 +314,7 @@ public abstract class BaseTelemetryProcessor extends BaseEdgeProcessor {
|
||||
EntityType entityType,
|
||||
UUID entityUUID,
|
||||
EdgeEventActionType actionType,
|
||||
JsonNode body) throws JsonProcessingException {
|
||||
JsonNode body) {
|
||||
EntityId entityId;
|
||||
switch (entityType) {
|
||||
case DEVICE:
|
||||
|
||||
@ -111,7 +111,7 @@ public class EdgeGrpcClient implements EdgeRpcClient {
|
||||
.setConnectRequestMsg(ConnectRequestMsg.newBuilder()
|
||||
.setEdgeRoutingKey(edgeKey)
|
||||
.setEdgeSecret(edgeSecret)
|
||||
.setEdgeVersion(EdgeVersion.V_3_6_1)
|
||||
.setEdgeVersion(EdgeVersion.V_3_6_2)
|
||||
.setMaxInboundMessageSize(maxInboundMessageSize)
|
||||
.build())
|
||||
.build());
|
||||
|
||||
@ -452,13 +452,14 @@ message ResourceUpdateMsg {
|
||||
UpdateMsgType msgType = 1;
|
||||
int64 idMSB = 2;
|
||||
int64 idLSB = 3;
|
||||
string title = 4;
|
||||
string resourceType = 5;
|
||||
string resourceKey = 6;
|
||||
string fileName = 7;
|
||||
optional string data = 8;
|
||||
optional string etag = 9;
|
||||
bool isSystem = 10;
|
||||
string title = 4 [deprecated = true];
|
||||
string resourceType = 5 [deprecated = true];
|
||||
string resourceKey = 6 [deprecated = true];
|
||||
string fileName = 7 [deprecated = true];
|
||||
optional string data = 8 [deprecated = true];
|
||||
optional string etag = 9 [deprecated = true];
|
||||
bool isSystem = 10 [deprecated = true];
|
||||
string entity = 11;
|
||||
}
|
||||
|
||||
message RuleChainMetadataRequestMsg {
|
||||
|
||||
@ -55,4 +55,4 @@ public class JacksonUtilTest {
|
||||
Assert.assertEquals(asset.getName(), result.getName());
|
||||
Assert.assertEquals(asset.getType(), result.getType());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user