From 6c76e0b2fe5bce16914a1995b36e1541c7e82dec Mon Sep 17 00:00:00 2001 From: ViacheslavKlimov Date: Fri, 13 Dec 2024 12:38:56 +0200 Subject: [PATCH 1/7] TbMsg refactoring to use builders --- .../thingsboard/server/common/msg/TbMsg.java | 308 ++++++++++-------- 1 file changed, 175 insertions(+), 133 deletions(-) diff --git a/common/message/src/main/java/org/thingsboard/server/common/msg/TbMsg.java b/common/message/src/main/java/org/thingsboard/server/common/msg/TbMsg.java index 47fb80c90e..46c31cf245 100644 --- a/common/message/src/main/java/org/thingsboard/server/common/msg/TbMsg.java +++ b/common/message/src/main/java/org/thingsboard/server/common/msg/TbMsg.java @@ -39,6 +39,8 @@ import java.io.Serializable; import java.util.Objects; import java.util.UUID; +import static java.util.Objects.requireNonNull; + /** * Created by ashvayka on 13.01.18. */ @@ -81,6 +83,79 @@ public final class TbMsg implements Serializable { return ctx.getAndIncrementRuleNodeCounter(); } + /** + * Transforms an existing TbMsg instance by changing its message type, originator, metadata, and data. + * + *

Deprecated: This method is deprecated since version 3.6.0 and should only be used when you need to + * specify a custom message type that doesn't exist in the {@link TbMsgType} enum. For standard message types, + * it is recommended to use the {@link #transformMsg(TbMsg, TbMsgType, EntityId, TbMsgMetaData, String)} + * method instead.

+ * + * + * @param tbMsg the TbMsg instance to transform + * @param type the new message type + * @param originator the new originator + * @param metaData the new metadata + * @param data the new data + * @return the transformed TbMsg instance + */ + @Deprecated(since = "3.6.0") + public static TbMsg transformMsg(TbMsg tbMsg, String type, EntityId originator, TbMsgMetaData metaData, String data) { + return new TbMsg(tbMsg.queueName, tbMsg.id, tbMsg.ts, null, type, originator, tbMsg.customerId, metaData.copy(), tbMsg.dataType, + data, tbMsg.ruleChainId, tbMsg.ruleNodeId, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), tbMsg.callback); + } + + public static TbMsg transformMsg(TbMsg tbMsg, TbMsgType type, EntityId originator, TbMsgMetaData metaData, String data) { + return new TbMsg(tbMsg.queueName, tbMsg.id, tbMsg.ts, type, type.name(), originator, tbMsg.customerId, metaData.copy(), tbMsg.dataType, + data, tbMsg.ruleChainId, tbMsg.ruleNodeId, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), tbMsg.callback); + } + + public static TbMsg transformMsgOriginator(TbMsg tbMsg, EntityId originatorId) { + return new TbMsg(tbMsg.queueName, tbMsg.id, tbMsg.ts, tbMsg.internalType, tbMsg.type, originatorId, tbMsg.getCustomerId(), tbMsg.metaData, tbMsg.dataType, + tbMsg.data, tbMsg.ruleChainId, tbMsg.ruleNodeId, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), tbMsg.getCallback()); + } + + public static TbMsg transformMsgData(TbMsg tbMsg, String data) { + return new TbMsg(tbMsg.queueName, tbMsg.id, tbMsg.ts, tbMsg.internalType, tbMsg.type, tbMsg.originator, tbMsg.customerId, tbMsg.metaData, tbMsg.dataType, + data, tbMsg.ruleChainId, tbMsg.ruleNodeId, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), tbMsg.getCallback()); + } + + public static TbMsg transformMsgMetadata(TbMsg tbMsg, TbMsgMetaData metadata) { + return new TbMsg(tbMsg.queueName, tbMsg.id, tbMsg.ts, tbMsg.internalType, tbMsg.type, tbMsg.originator, tbMsg.customerId, metadata.copy(), tbMsg.dataType, + tbMsg.data, tbMsg.ruleChainId, tbMsg.ruleNodeId, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), tbMsg.getCallback()); + } + + public static TbMsg transformMsg(TbMsg tbMsg, TbMsgMetaData metadata, String data) { + return new TbMsg(tbMsg.queueName, tbMsg.id, tbMsg.ts, tbMsg.internalType, tbMsg.type, tbMsg.originator, tbMsg.customerId, metadata, tbMsg.dataType, + data, tbMsg.ruleChainId, tbMsg.ruleNodeId, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), tbMsg.getCallback()); + } + + public static TbMsg transformMsgCustomerId(TbMsg tbMsg, CustomerId customerId) { + return new TbMsg(tbMsg.queueName, tbMsg.id, tbMsg.ts, tbMsg.internalType, tbMsg.type, tbMsg.originator, customerId, tbMsg.metaData, tbMsg.dataType, + tbMsg.data, tbMsg.ruleChainId, tbMsg.ruleNodeId, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), tbMsg.getCallback()); + } + + public static TbMsg transformMsgRuleChainId(TbMsg tbMsg, RuleChainId ruleChainId) { + return new TbMsg(tbMsg.queueName, tbMsg.id, tbMsg.ts, tbMsg.internalType, tbMsg.type, tbMsg.originator, tbMsg.customerId, tbMsg.metaData, tbMsg.dataType, + tbMsg.data, ruleChainId, null, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), tbMsg.getCallback()); + } + + public static TbMsg transformMsgQueueName(TbMsg tbMsg, String queueName) { + return new TbMsg(queueName, tbMsg.id, tbMsg.ts, tbMsg.internalType, tbMsg.type, tbMsg.originator, tbMsg.customerId, tbMsg.metaData, tbMsg.dataType, + tbMsg.data, tbMsg.getRuleChainId(), null, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), tbMsg.getCallback()); + } + + public static TbMsg transformMsg(TbMsg tbMsg, RuleChainId ruleChainId, String queueName) { + return new TbMsg(queueName, tbMsg.id, tbMsg.ts, tbMsg.internalType, tbMsg.type, tbMsg.originator, tbMsg.customerId, tbMsg.metaData, tbMsg.dataType, + tbMsg.data, ruleChainId, null, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), tbMsg.getCallback()); + } + + //used for enqueueForTellNext + public static TbMsg newMsg(TbMsg tbMsg, String queueName, RuleChainId ruleChainId, RuleNodeId ruleNodeId) { + return new TbMsg(queueName, UUID.randomUUID(), tbMsg.getTs(), tbMsg.getInternalType(), tbMsg.getType(), tbMsg.getOriginator(), tbMsg.customerId, tbMsg.getMetaData().copy(), + tbMsg.getDataType(), tbMsg.getData(), ruleChainId, ruleNodeId, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), TbMsgCallback.EMPTY); + } + @Deprecated(since = "3.6.0", forRemoval = true) public static TbMsg newMsg(String queueName, String type, EntityId originator, TbMsgMetaData metaData, String data, RuleChainId ruleChainId, RuleNodeId ruleNodeId) { return newMsg(queueName, type, originator, null, metaData, data, ruleChainId, ruleNodeId); @@ -106,8 +181,15 @@ public final class TbMsg implements Serializable { */ @Deprecated(since = "3.6.0") public static TbMsg newMsg(String queueName, String type, EntityId originator, CustomerId customerId, TbMsgMetaData metaData, String data, RuleChainId ruleChainId, RuleNodeId ruleNodeId) { - return new TbMsg(queueName, UUID.randomUUID(), System.currentTimeMillis(), null, type, originator, customerId, - metaData.copy(), TbMsgDataType.JSON, data, ruleChainId, ruleNodeId, null, TbMsgCallback.EMPTY); + return TbMsg.builder() + .queueName(queueName) + .type(type) + .originator(originator) + .metaData(metaData.copy()) + .data(data) + .ruleChainId(ruleChainId) + .ruleNodeId(ruleNodeId) + .build(); } @Deprecated(since = "3.6.0", forRemoval = true) @@ -117,8 +199,13 @@ public final class TbMsg implements Serializable { @Deprecated(since = "3.6.0", forRemoval = true) public static TbMsg newMsg(String type, EntityId originator, CustomerId customerId, TbMsgMetaData metaData, String data) { - return new TbMsg(null, UUID.randomUUID(), System.currentTimeMillis(), null, type, originator, customerId, - metaData.copy(), TbMsgDataType.JSON, data, null, null, null, TbMsgCallback.EMPTY); + return TbMsg.builder() + .type(type) + .originator(originator) + .customerId(customerId) + .metaData(metaData.copy()) + .data(data) + .build(); } public static TbMsg newMsg(String queueName, TbMsgType type, EntityId originator, TbMsgMetaData metaData, String data, RuleChainId ruleChainId, RuleNodeId ruleNodeId) { @@ -126,8 +213,16 @@ public final class TbMsg implements Serializable { } public static TbMsg newMsg(String queueName, TbMsgType type, EntityId originator, CustomerId customerId, TbMsgMetaData metaData, String data, RuleChainId ruleChainId, RuleNodeId ruleNodeId) { - return new TbMsg(queueName, UUID.randomUUID(), System.currentTimeMillis(), type, originator, customerId, - metaData.copy(), TbMsgDataType.JSON, data, ruleChainId, ruleNodeId, null, TbMsgCallback.EMPTY); + return TbMsg.builder() + .queueName(queueName) + .internalType(type) + .originator(originator) + .customerId(customerId) + .metaData(metaData.copy()) + .data(data) + .ruleChainId(ruleChainId) + .ruleNodeId(ruleNodeId) + .build(); } public static TbMsg newMsg(TbMsgType type, EntityId originator, TbMsgMetaData metaData, String data) { @@ -135,13 +230,23 @@ public final class TbMsg implements Serializable { } public static TbMsg newMsg(TbMsgType type, EntityId originator, CustomerId customerId, TbMsgMetaData metaData, String data) { - return new TbMsg(null, UUID.randomUUID(), System.currentTimeMillis(), type, originator, customerId, - metaData.copy(), TbMsgDataType.JSON, data, null, null, null, TbMsgCallback.EMPTY); + return TbMsg.builder() + .internalType(type) + .originator(originator) + .customerId(customerId) + .metaData(metaData.copy()) + .data(data) + .build(); } public static TbMsg newMsg(TbMsgType type, EntityId originator, TbMsgMetaData metaData, String data, long ts) { - return new TbMsg(null, UUID.randomUUID(), ts, type, originator, null, - metaData.copy(), TbMsgDataType.JSON, data, null, null, null, TbMsgCallback.EMPTY); + return TbMsg.builder() + .ts(ts) + .internalType(type) + .originator(originator) + .metaData(metaData.copy()) + .data(data) + .build(); } // REALLY NEW MSG @@ -184,14 +289,14 @@ public final class TbMsg implements Serializable { */ @Deprecated(since = "3.6.0") public static TbMsg newMsg(String queueName, String type, EntityId originator, CustomerId customerId, TbMsgMetaData metaData, String data) { - return new TbMsg(queueName, UUID.randomUUID(), System.currentTimeMillis(), null, type, originator, customerId, - metaData.copy(), TbMsgDataType.JSON, data, null, null, null, TbMsgCallback.EMPTY); - } - - @Deprecated(since = "3.6.0", forRemoval = true) - public static TbMsg newMsg(String type, EntityId originator, CustomerId customerId, TbMsgMetaData metaData, TbMsgDataType dataType, String data) { - return new TbMsg(null, UUID.randomUUID(), System.currentTimeMillis(), null, type, originator, customerId, - metaData.copy(), dataType, data, null, null, null, TbMsgCallback.EMPTY); + return TbMsg.builder() + .queueName(queueName) + .type(type) + .originator(originator) + .customerId(customerId) + .metaData(metaData.copy()) + .data(data) + .build(); } /** @@ -211,7 +316,14 @@ public final class TbMsg implements Serializable { */ @Deprecated(since = "3.6.0") public static TbMsg newMsg(String type, EntityId originator, TbMsgMetaData metaData, TbMsgDataType dataType, String data) { - return newMsg(type, originator, null, metaData, dataType, data); + return TbMsg.builder() + .type(type) + .originator(originator) + .customerId(null) + .metaData(metaData.copy()) + .dataType(dataType) + .data(data) + .build(); } public static TbMsg newMsg(String queueName, TbMsgType type, EntityId originator, TbMsgMetaData metaData, String data) { @@ -219,138 +331,66 @@ public final class TbMsg implements Serializable { } public static TbMsg newMsg(String queueName, TbMsgType type, EntityId originator, CustomerId customerId, TbMsgMetaData metaData, String data) { - return new TbMsg(queueName, UUID.randomUUID(), System.currentTimeMillis(), type, originator, customerId, - metaData.copy(), TbMsgDataType.JSON, data, null, null, null, TbMsgCallback.EMPTY); + return TbMsg.builder() + .queueName(queueName) + .internalType(type) + .originator(originator) + .customerId(customerId) + .metaData(metaData.copy()) + .data(data) + .build(); } public static TbMsg newMsg(TbMsgType type, EntityId originator, CustomerId customerId, TbMsgMetaData metaData, TbMsgDataType dataType, String data) { - return new TbMsg(null, UUID.randomUUID(), System.currentTimeMillis(), type, originator, customerId, - metaData.copy(), dataType, data, null, null, null, TbMsgCallback.EMPTY); + return TbMsg.builder() + .internalType(type) + .originator(originator) + .customerId(customerId) + .metaData(metaData.copy()) + .dataType(dataType) + .data(data) + .build(); } public static TbMsg newMsg(TbMsgType type, EntityId originator, TbMsgMetaData metaData, TbMsgDataType dataType, String data) { return newMsg(type, originator, null, metaData, dataType, data); } - // For Tests only - - @Deprecated(since = "3.6.0", forRemoval = true) - public static TbMsg newMsg(String type, EntityId originator, TbMsgMetaData metaData, TbMsgDataType dataType, String data, RuleChainId ruleChainId, RuleNodeId ruleNodeId) { - return new TbMsg(null, UUID.randomUUID(), System.currentTimeMillis(), null, type, originator, null, - metaData.copy(), dataType, data, ruleChainId, ruleNodeId, null, TbMsgCallback.EMPTY); - } - - @Deprecated(since = "3.6.0", forRemoval = true) - public static TbMsg newMsg(String type, EntityId originator, TbMsgMetaData metaData, String data, TbMsgCallback callback) { - return new TbMsg(null, UUID.randomUUID(), System.currentTimeMillis(), null, type, originator, null, - metaData.copy(), TbMsgDataType.JSON, data, null, null, null, callback); - } - - /** - * Transforms an existing TbMsg instance by changing its message type, originator, metadata, and data. - * - *

Deprecated: This method is deprecated since version 3.6.0 and should only be used when you need to - * specify a custom message type that doesn't exist in the {@link TbMsgType} enum. For standard message types, - * it is recommended to use the {@link #transformMsg(TbMsg, TbMsgType, EntityId, TbMsgMetaData, String)} - * method instead.

- * - * - * @param tbMsg the TbMsg instance to transform - * @param type the new message type - * @param originator the new originator - * @param metaData the new metadata - * @param data the new data - * @return the transformed TbMsg instance - */ - @Deprecated(since = "3.6.0") - public static TbMsg transformMsg(TbMsg tbMsg, String type, EntityId originator, TbMsgMetaData metaData, String data) { - return new TbMsg(tbMsg.queueName, tbMsg.id, tbMsg.ts, null, type, originator, tbMsg.customerId, metaData.copy(), tbMsg.dataType, - data, tbMsg.ruleChainId, tbMsg.ruleNodeId, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), tbMsg.callback); - } - public static TbMsg newMsg(TbMsgType type, EntityId originator, TbMsgMetaData metaData, TbMsgDataType dataType, String data, RuleChainId ruleChainId, RuleNodeId ruleNodeId) { - return new TbMsg(null, UUID.randomUUID(), System.currentTimeMillis(), type, originator, null, - metaData.copy(), dataType, data, ruleChainId, ruleNodeId, null, TbMsgCallback.EMPTY); + return TbMsg.builder() + .internalType(type) + .originator(originator) + .metaData(metaData.copy()) + .dataType(dataType) + .data(data) + .ruleChainId(ruleChainId) + .ruleNodeId(ruleNodeId) + .build(); } public static TbMsg newMsg(TbMsgType type, EntityId originator, TbMsgMetaData metaData, String data, TbMsgCallback callback) { - return new TbMsg(null, UUID.randomUUID(), System.currentTimeMillis(), type, originator, null, - metaData.copy(), TbMsgDataType.JSON, data, null, null, null, callback); - } - - public static TbMsg transformMsg(TbMsg tbMsg, TbMsgType type, EntityId originator, TbMsgMetaData metaData, String data) { - return new TbMsg(tbMsg.queueName, tbMsg.id, tbMsg.ts, type, type.name(), originator, tbMsg.customerId, metaData.copy(), tbMsg.dataType, - data, tbMsg.ruleChainId, tbMsg.ruleNodeId, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), tbMsg.callback); - } - - public static TbMsg transformMsgOriginator(TbMsg tbMsg, EntityId originatorId) { - return new TbMsg(tbMsg.queueName, tbMsg.id, tbMsg.ts, tbMsg.internalType, tbMsg.type, originatorId, tbMsg.getCustomerId(), tbMsg.metaData, tbMsg.dataType, - tbMsg.data, tbMsg.ruleChainId, tbMsg.ruleNodeId, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), tbMsg.getCallback()); - } - - public static TbMsg transformMsgData(TbMsg tbMsg, String data) { - return new TbMsg(tbMsg.queueName, tbMsg.id, tbMsg.ts, tbMsg.internalType, tbMsg.type, tbMsg.originator, tbMsg.customerId, tbMsg.metaData, tbMsg.dataType, - data, tbMsg.ruleChainId, tbMsg.ruleNodeId, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), tbMsg.getCallback()); - } - - public static TbMsg transformMsgMetadata(TbMsg tbMsg, TbMsgMetaData metadata) { - return new TbMsg(tbMsg.queueName, tbMsg.id, tbMsg.ts, tbMsg.internalType, tbMsg.type, tbMsg.originator, tbMsg.customerId, metadata.copy(), tbMsg.dataType, - tbMsg.data, tbMsg.ruleChainId, tbMsg.ruleNodeId, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), tbMsg.getCallback()); - } - - public static TbMsg transformMsg(TbMsg tbMsg, TbMsgMetaData metadata, String data) { - return new TbMsg(tbMsg.queueName, tbMsg.id, tbMsg.ts, tbMsg.internalType, tbMsg.type, tbMsg.originator, tbMsg.customerId, metadata, tbMsg.dataType, - data, tbMsg.ruleChainId, tbMsg.ruleNodeId, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), tbMsg.getCallback()); - } - - public static TbMsg transformMsgCustomerId(TbMsg tbMsg, CustomerId customerId) { - return new TbMsg(tbMsg.queueName, tbMsg.id, tbMsg.ts, tbMsg.internalType, tbMsg.type, tbMsg.originator, customerId, tbMsg.metaData, tbMsg.dataType, - tbMsg.data, tbMsg.ruleChainId, tbMsg.ruleNodeId, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), tbMsg.getCallback()); - } - - public static TbMsg transformMsgRuleChainId(TbMsg tbMsg, RuleChainId ruleChainId) { - return new TbMsg(tbMsg.queueName, tbMsg.id, tbMsg.ts, tbMsg.internalType, tbMsg.type, tbMsg.originator, tbMsg.customerId, tbMsg.metaData, tbMsg.dataType, - tbMsg.data, ruleChainId, null, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), tbMsg.getCallback()); - } - - public static TbMsg transformMsgQueueName(TbMsg tbMsg, String queueName) { - return new TbMsg(queueName, tbMsg.id, tbMsg.ts, tbMsg.internalType, tbMsg.type, tbMsg.originator, tbMsg.customerId, tbMsg.metaData, tbMsg.dataType, - tbMsg.data, tbMsg.getRuleChainId(), null, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), tbMsg.getCallback()); - } - - public static TbMsg transformMsg(TbMsg tbMsg, RuleChainId ruleChainId, String queueName) { - return new TbMsg(queueName, tbMsg.id, tbMsg.ts, tbMsg.internalType, tbMsg.type, tbMsg.originator, tbMsg.customerId, tbMsg.metaData, tbMsg.dataType, - tbMsg.data, ruleChainId, null, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), tbMsg.getCallback()); - } - - //used for enqueueForTellNext - public static TbMsg newMsg(TbMsg tbMsg, String queueName, RuleChainId ruleChainId, RuleNodeId ruleNodeId) { - return new TbMsg(queueName, UUID.randomUUID(), tbMsg.getTs(), tbMsg.getInternalType(), tbMsg.getType(), tbMsg.getOriginator(), tbMsg.customerId, tbMsg.getMetaData().copy(), - tbMsg.getDataType(), tbMsg.getData(), ruleChainId, ruleNodeId, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), TbMsgCallback.EMPTY); - } - - private TbMsg(String queueName, UUID id, long ts, TbMsgType internalType, EntityId originator, CustomerId customerId, TbMsgMetaData metaData, TbMsgDataType dataType, String data, - RuleChainId ruleChainId, RuleNodeId ruleNodeId, TbMsgProcessingCtx ctx, TbMsgCallback callback) { - this(queueName, id, ts, internalType, internalType.name(), originator, customerId, metaData, dataType, data, ruleChainId, ruleNodeId, ctx, callback); - } - - private TbMsg(String queueName, UUID id, long ts, TbMsgType internalType, String type, EntityId originator, CustomerId customerId, TbMsgMetaData metaData, TbMsgDataType dataType, String data, - RuleChainId ruleChainId, RuleNodeId ruleNodeId, TbMsgProcessingCtx ctx, TbMsgCallback callback) { - this(queueName, id, ts, internalType, type, originator, customerId, metaData, dataType, data, ruleChainId, ruleNodeId, null, null, ctx, callback); + return TbMsg.builder() + .internalType(type) + .originator(originator) + .metaData(metaData.copy()) + .data(data) + .callback(callback) + .build(); } + @Builder private TbMsg(String queueName, UUID id, long ts, TbMsgType internalType, String type, EntityId originator, CustomerId customerId, TbMsgMetaData metaData, TbMsgDataType dataType, String data, RuleChainId ruleChainId, RuleNodeId ruleNodeId, UUID correlationId, Integer partition, TbMsgProcessingCtx ctx, TbMsgCallback callback) { - this.id = id; + this.id = id != null ? id : UUID.randomUUID(); this.queueName = queueName; if (ts > 0) { this.ts = ts; } else { this.ts = System.currentTimeMillis(); } - this.type = type; this.internalType = internalType != null ? internalType : getInternalType(type); - this.originator = originator; + this.type = type != null ? type : this.internalType.name(); + this.originator = requireNonNull(originator, "msg originator is missing"); if (customerId == null || customerId.isNullUid()) { if (originator != null && originator.getEntityType() == EntityType.CUSTOMER) { this.customerId = new CustomerId(originator.getId()); @@ -361,8 +401,8 @@ public final class TbMsg implements Serializable { this.customerId = customerId; } this.metaData = metaData; - this.dataType = dataType; - this.data = data; + this.dataType = dataType != null ? dataType : TbMsgDataType.JSON; + this.data = requireNonNull(data, "msg data is missing"); this.ruleChainId = ruleChainId; this.ruleNodeId = ruleNodeId; this.correlationId = correlationId; @@ -510,11 +550,13 @@ public final class TbMsg implements Serializable { } private TbMsgType getInternalType(String type) { - try { - return TbMsgType.valueOf(type); - } catch (IllegalArgumentException e) { - return TbMsgType.NA; + if (type != null) { + try { + return TbMsgType.valueOf(type); + } catch (IllegalArgumentException ignored) { + } } + return TbMsgType.NA; } public boolean isTypeOf(TbMsgType tbMsgType) { From cbd2e012ddff8277574a9194e8d748f26f6dca0e Mon Sep 17 00:00:00 2001 From: ViacheslavKlimov Date: Fri, 13 Dec 2024 13:05:54 +0200 Subject: [PATCH 2/7] Refactor TbMsg.newMsg usages --- .../actors/ruleChain/DefaultTbContext.java | 47 +- .../server/controller/RpcV2Controller.java | 7 +- .../controller/RuleChainController.java | 8 +- .../controller/RuleEngineController.java | 9 +- .../service/action/EntityActionService.java | 9 +- .../device/DeviceProvisionServiceImpl.java | 16 +- .../service/edge/rpc/EdgeGrpcService.java | 8 +- .../edge/rpc/processor/BaseEdgeProcessor.java | 9 +- .../processor/device/DeviceEdgeProcessor.java | 9 +- .../telemetry/BaseTelemetryProcessor.java | 34 +- .../entitiy/EntityStateSourcingListener.java | 10 +- .../rpc/DefaultTbCoreDeviceRpcService.java | 9 +- .../server/service/rpc/TbRpcService.java | 7 +- .../state/DefaultDeviceStateService.java | 9 +- .../transport/DefaultTransportApiService.java | 9 +- .../actors/rule/DefaultTbContextTest.java | 23 +- .../controller/RuleEngineControllerTest.java | 37 +- .../controller/TenantControllerTest.java | 7 +- ...AbstractRuleEngineFlowIntegrationTest.java | 16 +- ...actRuleEngineLifecycleIntegrationTest.java | 8 +- .../queue/DefaultTbClusterServiceTest.java | 38 +- .../TbRuleEngineQueueConsumerManagerTest.java | 7 +- .../DefaultTbRuleEngineRpcServiceTest.java | 7 +- .../DefaultRuleEngineCallServiceTest.java | 16 +- .../SequentialTimeseriesPersistenceTest.java | 12 +- .../thingsboard/server/common/msg/TbMsg.java | 373 ++++++---------- .../service/DefaultTransportService.java | 12 +- .../rule/engine/api/TbContext.java | 3 - .../rule/engine/api/util/TbNodeUtilsTest.java | 35 +- .../rule/engine/action/TbMsgCountNode.java | 9 +- .../deduplication/TbMsgDeduplicationNode.java | 29 +- .../rule/engine/delay/TbMsgDelayNode.java | 16 +- .../engine/profile/TbDeviceProfileNode.java | 24 +- .../action/TbAssignToCustomerNodeTest.java | 7 +- .../engine/action/TbClearAlarmNodeTest.java | 14 +- .../TbCopyAttributesToEntityViewNodeTest.java | 52 ++- .../engine/action/TbCreateAlarmNodeTest.java | 49 +- .../action/TbCreateRelationNodeTest.java | 14 +- .../action/TbDeleteRelationNodeTest.java | 7 +- .../engine/action/TbDeviceStateNodeTest.java | 22 +- .../rule/engine/action/TbLogNodeTest.java | 21 +- .../engine/action/TbMsgCountNodeTest.java | 21 +- .../TbSaveToCustomCassandraTableNodeTest.java | 35 +- .../TbUnassignFromCustomerNodeTest.java | 7 +- .../aws/lambda/TbAwsLambdaNodeTest.java | 35 +- .../rule/engine/aws/sns/TbSnsNodeTest.java | 14 +- .../rule/engine/aws/sqs/TbSqsNodeTest.java | 28 +- .../engine/debug/TbMsgGeneratorNodeTest.java | 28 +- .../engine/edge/TbMsgPushToEdgeNodeTest.java | 33 +- .../filter/TbAssetTypeSwitchNodeTest.java | 8 +- .../filter/TbCheckAlarmStatusNodeTest.java | 7 +- .../engine/filter/TbCheckMessageNodeTest.java | 14 +- .../filter/TbCheckRelationNodeTest.java | 7 +- .../filter/TbDeviceTypeSwitchNodeTest.java | 8 +- .../engine/filter/TbJsFilterNodeTest.java | 30 +- .../engine/filter/TbJsSwitchNodeTest.java | 10 +- .../filter/TbMsgTypeFilterNodeTest.java | 7 +- .../filter/TbMsgTypeSwitchNodeTest.java | 7 +- .../TbOriginatorTypeFilterNodeTest.java | 7 +- .../TbOriginatorTypeSwitchNodeTest.java | 7 +- .../rule/engine/flow/TbAckNodeTest.java | 7 +- .../engine/flow/TbCheckpointNodeTest.java | 14 +- .../engine/flow/TbRuleChainInputNodeTest.java | 7 +- .../flow/TbRuleChainOutputNodeTest.java | 7 +- .../engine/gcp/pubsub/TbPubSubNodeTest.java | 28 +- .../geo/TbGpsGeofencingActionNodeTest.java | 7 +- .../geo/TbGpsGeofencingFilterNodeTest.java | 14 +- .../rule/engine/kafka/TbKafkaNodeTest.java | 42 +- .../engine/mail/TbMsgToEmailNodeTest.java | 7 +- .../rule/engine/math/TbMathNodeTest.java | 133 +++++- .../metadata/CalculateDeltaNodeTest.java | 112 ++++- .../TbFetchDeviceCredentialsNodeTest.java | 8 +- .../metadata/TbGetAttributesNodeTest.java | 15 +- .../TbGetCustomerAttributeNodeTest.java | 21 +- .../TbGetCustomerDetailsNodeTest.java | 14 +- .../metadata/TbGetDeviceAttrNodeTest.java | 7 +- .../TbGetOriginatorFieldsNodeTest.java | 42 +- .../TbGetRelatedAttributeNodeTest.java | 14 +- .../metadata/TbGetTelemetryNodeTest.java | 70 ++- .../TbGetTenantAttributeNodeTest.java | 14 +- .../metadata/TbGetTenantDetailsNodeTest.java | 14 +- .../rule/engine/mqtt/TbMqttNodeTest.java | 14 +- .../rule/engine/profile/DeviceStateTest.java | 53 ++- .../profile/TbDeviceProfileNodeTest.java | 417 +++++++++++++++--- .../engine/rabbitmq/TbRabbitMqNodeTest.java | 21 +- .../rule/engine/rest/TbHttpClientTest.java | 17 +- .../engine/rest/TbRestApiCallNodeTest.java | 20 +- .../rest/TbSendRestApiCallReplyNodeTest.java | 14 +- .../engine/rpc/TbSendRPCReplyNodeTest.java | 36 +- .../engine/rpc/TbSendRPCRequestNodeTest.java | 140 +++++- .../telemetry/TbMsgAttributesNodeTest.java | 7 +- .../TbMsgDeleteAttributesNodeTest.java | 8 +- .../telemetry/TbMsgTimeseriesNodeTest.java | 28 +- .../transform/TbChangeOriginatorNodeTest.java | 42 +- .../engine/transform/TbCopyKeysNodeTest.java | 8 +- .../transform/TbDeleteKeysNodeTest.java | 8 +- .../engine/transform/TbJsonPathNodeTest.java | 8 +- .../transform/TbMsgDeduplicationNodeTest.java | 20 +- .../transform/TbRenameKeysNodeTest.java | 8 +- .../transform/TbSplitArrayMsgNodeTest.java | 8 +- .../transform/TbTransformMsgNodeTest.java | 30 +- 101 files changed, 2243 insertions(+), 632 deletions(-) diff --git a/application/src/main/java/org/thingsboard/server/actors/ruleChain/DefaultTbContext.java b/application/src/main/java/org/thingsboard/server/actors/ruleChain/DefaultTbContext.java index 0070eba4a1..e456f9dd46 100644 --- a/application/src/main/java/org/thingsboard/server/actors/ruleChain/DefaultTbContext.java +++ b/application/src/main/java/org/thingsboard/server/actors/ruleChain/DefaultTbContext.java @@ -361,14 +361,18 @@ public class DefaultTbContext implements TbContext { nodeCtx.setSelf(self); } - @Override - public TbMsg newMsg(String queueName, String type, EntityId originator, TbMsgMetaData metaData, String data) { - return newMsg(queueName, type, originator, null, metaData, data); - } - @Override public TbMsg newMsg(String queueName, String type, EntityId originator, CustomerId customerId, TbMsgMetaData metaData, String data) { - return TbMsg.newMsg(queueName, type, originator, customerId, metaData, data, nodeCtx.getSelf().getRuleChainId(), nodeCtx.getSelf().getId()); + return TbMsg.builder() + .queueName(queueName) + .type(type) + .originator(originator) + .customerId(customerId) + .metaData(metaData.copy()) + .data(data) + .ruleChainId(nodeCtx.getSelf().getRuleChainId()) + .ruleNodeId(nodeCtx.getSelf().getId()) + .build(); } @Override @@ -383,7 +387,16 @@ public class DefaultTbContext implements TbContext { @Override public TbMsg newMsg(String queueName, TbMsgType type, EntityId originator, CustomerId customerId, TbMsgMetaData metaData, String data) { - return TbMsg.newMsg(queueName, type, originator, customerId, metaData, data, nodeCtx.getSelf().getRuleChainId(), nodeCtx.getSelf().getId()); + return TbMsg.builder() + .queueName(queueName) + .type(type) + .originator(originator) + .customerId(customerId) + .metaData(metaData.copy()) + .data(data) + .ruleChainId(nodeCtx.getSelf().getRuleChainId()) + .ruleNodeId(nodeCtx.getSelf().getId()) + .build(); } @Override @@ -497,7 +510,15 @@ public class DefaultTbContext implements TbContext { defaultQueueName = profile.getDefaultQueueName(); defaultRuleChainId = profile.getDefaultRuleChainId(); } - return TbMsg.newMsg(defaultQueueName, action, id, msgMetaData, msgData, defaultRuleChainId, null); + return TbMsg.builder() + .queueName(defaultQueueName) + .type(action) + .originator(id) + .metaData(msgMetaData.copy()) + .data(msgData) + .ruleChainId(defaultRuleChainId) + .ruleNodeId(null) + .build(); } public TbMsg entityActionMsg(E entity, I id, RuleNodeId ruleNodeId, TbMsgType actionMsgType, K profile) { @@ -515,7 +536,15 @@ public class DefaultTbContext implements TbContext { defaultQueueName = profile.getDefaultQueueName(); defaultRuleChainId = profile.getDefaultRuleChainId(); } - return TbMsg.newMsg(defaultQueueName, actionMsgType, id, msgMetaData, msgData, defaultRuleChainId, null); + return TbMsg.builder() + .queueName(defaultQueueName) + .type(actionMsgType) + .originator(id) + .metaData(msgMetaData.copy()) + .data(msgData) + .ruleChainId(defaultRuleChainId) + .ruleNodeId(null) + .build(); } @Override diff --git a/application/src/main/java/org/thingsboard/server/controller/RpcV2Controller.java b/application/src/main/java/org/thingsboard/server/controller/RpcV2Controller.java index 67ff1b3fc5..51a13321e7 100644 --- a/application/src/main/java/org/thingsboard/server/controller/RpcV2Controller.java +++ b/application/src/main/java/org/thingsboard/server/controller/RpcV2Controller.java @@ -239,7 +239,12 @@ public class RpcV2Controller extends AbstractRpcController { rpcService.deleteRpc(getTenantId(), rpcId); rpc.setStatus(RpcStatus.DELETED); - TbMsg msg = TbMsg.newMsg(TbMsgType.RPC_DELETED, rpc.getDeviceId(), TbMsgMetaData.EMPTY, JacksonUtil.toString(rpc)); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.RPC_DELETED) + .originator(rpc.getDeviceId()) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(JacksonUtil.toString(rpc)) + .build(); tbClusterService.pushMsgToRuleEngine(getTenantId(), rpc.getDeviceId(), msg, null); } } 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 63a435e6f1..ba7e8e87bc 100644 --- a/application/src/main/java/org/thingsboard/server/controller/RuleChainController.java +++ b/application/src/main/java/org/thingsboard/server/controller/RuleChainController.java @@ -384,7 +384,13 @@ public class RuleChainController extends BaseController { } engine = new RuleNodeTbelScriptEngine(getTenantId(), tbelInvokeService, script, argNames); } - TbMsg inMsg = TbMsg.newMsg(msgType, null, new TbMsgMetaData(metadata), TbMsgDataType.JSON, data); + TbMsg inMsg = TbMsg.builder() + .type(msgType) + .originator(null) + .metaData(new TbMsgMetaData(metadata).copy()) + .dataType(TbMsgDataType.JSON) + .data(data) + .build(); switch (scriptType) { case "update": output = msgToOutput(engine.executeUpdateAsync(inMsg).get(TIMEOUT, TimeUnit.SECONDS)); diff --git a/application/src/main/java/org/thingsboard/server/controller/RuleEngineController.java b/application/src/main/java/org/thingsboard/server/controller/RuleEngineController.java index 8cda3d2212..6484553f80 100644 --- a/application/src/main/java/org/thingsboard/server/controller/RuleEngineController.java +++ b/application/src/main/java/org/thingsboard/server/controller/RuleEngineController.java @@ -169,7 +169,14 @@ public class RuleEngineController extends BaseController { metaData.put("serviceId", serviceInfoProvider.getServiceId()); metaData.put("requestUUID", requestId.toString()); metaData.put("expirationTime", Long.toString(expTime)); - TbMsg msg = TbMsg.newMsg(queueName, TbMsgType.REST_API_REQUEST, entityId, currentUser.getCustomerId(), new TbMsgMetaData(metaData), requestBody); + TbMsg msg = TbMsg.builder() + .queueName(queueName) + .type(TbMsgType.REST_API_REQUEST) + .originator(entityId) + .customerId(currentUser.getCustomerId()) + .metaData(new TbMsgMetaData(metaData).copy()) + .data(requestBody) + .build(); ruleEngineCallService.processRestApiCallToRuleEngine(currentUser.getTenantId(), requestId, msg, queueName != null, reply -> reply(new LocalRequestMetaData(msg, currentUser, result), reply)); } diff --git a/application/src/main/java/org/thingsboard/server/service/action/EntityActionService.java b/application/src/main/java/org/thingsboard/server/service/action/EntityActionService.java index ab6d32fb44..e743fc7a4e 100644 --- a/application/src/main/java/org/thingsboard/server/service/action/EntityActionService.java +++ b/application/src/main/java/org/thingsboard/server/service/action/EntityActionService.java @@ -172,7 +172,14 @@ public class EntityActionService { if (tenantId != null && !tenantId.isSysTenantId()) { processNotificationRules(tenantId, entityId, entity, actionType, user, additionalInfo); } - TbMsg tbMsg = TbMsg.newMsg(msgType.get(), entityId, customerId, metaData, TbMsgDataType.JSON, JacksonUtil.toString(entityNode)); + TbMsg tbMsg = TbMsg.builder() + .type(msgType.get()) + .originator(entityId) + .customerId(customerId) + .metaData(metaData.copy()) + .dataType(TbMsgDataType.JSON) + .data(JacksonUtil.toString(entityNode)) + .build(); tbClusterService.pushMsgToRuleEngine(tenantId, entityId, tbMsg, null); } catch (Exception e) { log.warn("[{}] Failed to push entity action to rule engine: {}", entityId, actionType, e); diff --git a/application/src/main/java/org/thingsboard/server/service/device/DeviceProvisionServiceImpl.java b/application/src/main/java/org/thingsboard/server/service/device/DeviceProvisionServiceImpl.java index f5b6411bf7..59f835b0a1 100644 --- a/application/src/main/java/org/thingsboard/server/service/device/DeviceProvisionServiceImpl.java +++ b/application/src/main/java/org/thingsboard/server/service/device/DeviceProvisionServiceImpl.java @@ -253,7 +253,13 @@ public class DeviceProvisionServiceImpl implements DeviceProvisionService { private void pushProvisionEventToRuleEngine(ProvisionRequest request, Device device, TbMsgType type) { try { JsonNode entityNode = JacksonUtil.valueToTree(request); - TbMsg msg = TbMsg.newMsg(type, device.getId(), device.getCustomerId(), createTbMsgMetaData(device), JacksonUtil.toString(entityNode)); + TbMsg msg = TbMsg.builder() + .type(type) + .originator(device.getId()) + .customerId(device.getCustomerId()) + .metaData(createTbMsgMetaData(device).copy()) + .data(JacksonUtil.toString(entityNode)) + .build(); sendToRuleEngine(device.getTenantId(), msg, null); } catch (IllegalArgumentException e) { log.warn("[{}] Failed to push device action to rule engine: {}", device.getId(), type, e); @@ -263,7 +269,13 @@ public class DeviceProvisionServiceImpl implements DeviceProvisionService { private void pushDeviceCreatedEventToRuleEngine(Device device) { try { ObjectNode entityNode = JacksonUtil.OBJECT_MAPPER.valueToTree(device); - TbMsg msg = TbMsg.newMsg(TbMsgType.ENTITY_CREATED, device.getId(), device.getCustomerId(), createTbMsgMetaData(device), JacksonUtil.OBJECT_MAPPER.writeValueAsString(entityNode)); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.ENTITY_CREATED) + .originator(device.getId()) + .customerId(device.getCustomerId()) + .metaData(createTbMsgMetaData(device).copy()) + .data(JacksonUtil.OBJECT_MAPPER.writeValueAsString(entityNode)) + .build(); sendToRuleEngine(device.getTenantId(), msg, null); } catch (JsonProcessingException | IllegalArgumentException e) { log.warn("[{}] Failed to push device action to rule engine: {}", device.getId(), TbMsgType.ENTITY_CREATED.name(), e); diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/EdgeGrpcService.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/EdgeGrpcService.java index 71387aa542..bef7c90632 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/EdgeGrpcService.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/EdgeGrpcService.java @@ -575,7 +575,13 @@ public class EdgeGrpcService extends EdgeRpcServiceGrpc.EdgeRpcServiceImplBase i md.putValue("edgeName", edge.getName()); md.putValue("edgeType", edge.getType()); } - TbMsg tbMsg = TbMsg.newMsg(msgType, edgeId, md, TbMsgDataType.JSON, data); + TbMsg tbMsg = TbMsg.builder() + .type(msgType) + .originator(edgeId) + .metaData(md.copy()) + .dataType(TbMsgDataType.JSON) + .data(data) + .build(); clusterService.pushMsgToRuleEngine(tenantId, edgeId, tbMsg, null); } catch (Exception e) { log.warn("[{}][{}] Failed to push {}", tenantId, edge.getId(), msgType, e); diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/BaseEdgeProcessor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/BaseEdgeProcessor.java index e448fbd937..f7981f81db 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/BaseEdgeProcessor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/BaseEdgeProcessor.java @@ -343,7 +343,14 @@ public abstract class BaseEdgeProcessor { protected void pushEntityEventToRuleEngine(TenantId tenantId, EntityId entityId, CustomerId customerId, TbMsgType msgType, String msgData, TbMsgMetaData metaData) { - TbMsg tbMsg = TbMsg.newMsg(msgType, entityId, customerId, metaData, TbMsgDataType.JSON, msgData); + TbMsg tbMsg = TbMsg.builder() + .type(msgType) + .originator(entityId) + .customerId(customerId) + .metaData(metaData.copy()) + .dataType(TbMsgDataType.JSON) + .data(msgData) + .build(); edgeCtx.getClusterService().pushMsgToRuleEngine(tenantId, entityId, tbMsg, new TbQueueCallback() { @Override public void onSuccess(TbQueueMsgMetadata metadata) { diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/device/DeviceEdgeProcessor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/device/DeviceEdgeProcessor.java index e453cbc26f..eae19082c5 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/device/DeviceEdgeProcessor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/device/DeviceEdgeProcessor.java @@ -190,8 +190,13 @@ public abstract class DeviceEdgeProcessor extends BaseDeviceProcessor implements ObjectNode data = JacksonUtil.newObjectNode(); data.put("method", deviceRpcCallMsg.getRequestMsg().getMethod()); data.put("params", deviceRpcCallMsg.getRequestMsg().getParams()); - TbMsg tbMsg = TbMsg.newMsg(TbMsgType.TO_SERVER_RPC_REQUEST, deviceId, null, metaData, - TbMsgDataType.JSON, JacksonUtil.toString(data)); + TbMsg tbMsg = TbMsg.builder() + .type(TbMsgType.TO_SERVER_RPC_REQUEST) + .originator(deviceId) + .metaData(metaData.copy()) + .dataType(TbMsgDataType.JSON) + .data(JacksonUtil.toString(data)) + .build(); edgeCtx.getClusterService().pushMsgToRuleEngine(tenantId, deviceId, tbMsg, new TbQueueCallback() { @Override public void onSuccess(TbQueueMsgMetadata metadata) { diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/telemetry/BaseTelemetryProcessor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/telemetry/BaseTelemetryProcessor.java index d94d4d8939..bc425bd624 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/telemetry/BaseTelemetryProcessor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/telemetry/BaseTelemetryProcessor.java @@ -208,7 +208,16 @@ public abstract class BaseTelemetryProcessor extends BaseEdgeProcessor { JsonObject json = JsonUtils.getJsonObject(tsKv.getKvList()); metaData.putValue("ts", tsKv.getTs() + ""); var defaultQueueAndRuleChain = getDefaultQueueNameAndRuleChainId(tenantId, entityId); - TbMsg tbMsg = TbMsg.newMsg(defaultQueueAndRuleChain.getKey(), TbMsgType.POST_TELEMETRY_REQUEST, entityId, customerId, metaData, gson.toJson(json), defaultQueueAndRuleChain.getValue(), null); + TbMsg tbMsg = TbMsg.builder() + .queueName(defaultQueueAndRuleChain.getKey()) + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(entityId) + .customerId(customerId) + .metaData(metaData.copy()) + .data(gson.toJson(json)) + .ruleChainId(defaultQueueAndRuleChain.getValue()) + .ruleNodeId(null) + .build(); edgeCtx.getClusterService().pushMsgToRuleEngine(tenantId, tbMsg.getOriginator(), tbMsg, new TbQueueCallback() { @Override public void onSuccess(TbQueueMsgMetadata metadata) { @@ -252,7 +261,16 @@ public abstract class BaseTelemetryProcessor extends BaseEdgeProcessor { SettableFuture futureToSet = SettableFuture.create(); JsonObject json = JsonUtils.getJsonObject(msg.getKvList()); var defaultQueueAndRuleChain = getDefaultQueueNameAndRuleChainId(tenantId, entityId); - TbMsg tbMsg = TbMsg.newMsg(defaultQueueAndRuleChain.getKey(), TbMsgType.POST_ATTRIBUTES_REQUEST, entityId, customerId, metaData, gson.toJson(json), defaultQueueAndRuleChain.getValue(), null); + TbMsg tbMsg = TbMsg.builder() + .queueName(defaultQueueAndRuleChain.getKey()) + .type(TbMsgType.POST_ATTRIBUTES_REQUEST) + .originator(entityId) + .customerId(customerId) + .metaData(metaData.copy()) + .data(gson.toJson(json)) + .ruleChainId(defaultQueueAndRuleChain.getValue()) + .ruleNodeId(null) + .build(); edgeCtx.getClusterService().pushMsgToRuleEngine(tenantId, tbMsg.getOriginator(), tbMsg, new TbQueueCallback() { @Override public void onSuccess(TbQueueMsgMetadata metadata) { @@ -281,8 +299,16 @@ public abstract class BaseTelemetryProcessor extends BaseEdgeProcessor { @Override public void onSuccess(@Nullable Void tmp) { var defaultQueueAndRuleChain = getDefaultQueueNameAndRuleChainId(tenantId, entityId); - TbMsg tbMsg = TbMsg.newMsg(defaultQueueAndRuleChain.getKey(), TbMsgType.ATTRIBUTES_UPDATED, entityId, - customerId, metaData, gson.toJson(json), defaultQueueAndRuleChain.getValue(), null); + TbMsg tbMsg = TbMsg.builder() + .queueName(defaultQueueAndRuleChain.getKey()) + .type(TbMsgType.ATTRIBUTES_UPDATED) + .originator(entityId) + .customerId(customerId) + .metaData(metaData.copy()) + .data(gson.toJson(json)) + .ruleChainId(defaultQueueAndRuleChain.getValue()) + .ruleNodeId(null) + .build(); edgeCtx.getClusterService().pushMsgToRuleEngine(tenantId, tbMsg.getOriginator(), tbMsg, new TbQueueCallback() { @Override public void onSuccess(TbQueueMsgMetadata metadata) { diff --git a/application/src/main/java/org/thingsboard/server/service/entitiy/EntityStateSourcingListener.java b/application/src/main/java/org/thingsboard/server/service/entitiy/EntityStateSourcingListener.java index bce599c0e3..2fa2bfd0e2 100644 --- a/application/src/main/java/org/thingsboard/server/service/entitiy/EntityStateSourcingListener.java +++ b/application/src/main/java/org/thingsboard/server/service/entitiy/EntityStateSourcingListener.java @@ -250,8 +250,14 @@ public class EntityStateSourcingListener { private void pushAssignedFromNotification(Tenant currentTenant, TenantId newTenantId, Device assignedDevice) { String data = JacksonUtil.toString(JacksonUtil.valueToTree(assignedDevice)); if (data != null) { - TbMsg tbMsg = TbMsg.newMsg(TbMsgType.ENTITY_ASSIGNED_FROM_TENANT, assignedDevice.getId(), - assignedDevice.getCustomerId(), getMetaDataForAssignedFrom(currentTenant), TbMsgDataType.JSON, data); + TbMsg tbMsg = TbMsg.builder() + .type(TbMsgType.ENTITY_ASSIGNED_FROM_TENANT) + .originator(assignedDevice.getId()) + .customerId(assignedDevice.getCustomerId()) + .metaData(getMetaDataForAssignedFrom(currentTenant).copy()) + .dataType(TbMsgDataType.JSON) + .data(data) + .build(); tbClusterService.pushMsgToRuleEngine(newTenantId, assignedDevice.getId(), tbMsg, null); } } diff --git a/application/src/main/java/org/thingsboard/server/service/rpc/DefaultTbCoreDeviceRpcService.java b/application/src/main/java/org/thingsboard/server/service/rpc/DefaultTbCoreDeviceRpcService.java index e8cce43aa2..0e65e55243 100644 --- a/application/src/main/java/org/thingsboard/server/service/rpc/DefaultTbCoreDeviceRpcService.java +++ b/application/src/main/java/org/thingsboard/server/service/rpc/DefaultTbCoreDeviceRpcService.java @@ -183,7 +183,14 @@ public class DefaultTbCoreDeviceRpcService implements TbCoreDeviceRpcService { entityNode.put(DataConstants.ADDITIONAL_INFO, msg.getAdditionalInfo()); try { - TbMsg tbMsg = TbMsg.newMsg(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE, msg.getDeviceId(), Optional.ofNullable(currentUser).map(User::getCustomerId).orElse(null), metaData, TbMsgDataType.JSON, JacksonUtil.toString(entityNode)); + TbMsg tbMsg = TbMsg.builder() + .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) + .originator(msg.getDeviceId()) + .customerId(Optional.ofNullable(currentUser).map(User::getCustomerId).orElse(null)) + .metaData(metaData.copy()) + .dataType(TbMsgDataType.JSON) + .data(JacksonUtil.toString(entityNode)) + .build(); clusterService.pushMsgToRuleEngine(msg.getTenantId(), msg.getDeviceId(), tbMsg, null); } catch (IllegalArgumentException e) { throw new RuntimeException(e); diff --git a/application/src/main/java/org/thingsboard/server/service/rpc/TbRpcService.java b/application/src/main/java/org/thingsboard/server/service/rpc/TbRpcService.java index 133818592e..abe4679afd 100644 --- a/application/src/main/java/org/thingsboard/server/service/rpc/TbRpcService.java +++ b/application/src/main/java/org/thingsboard/server/service/rpc/TbRpcService.java @@ -63,7 +63,12 @@ public class TbRpcService { } private void pushRpcMsgToRuleEngine(TenantId tenantId, Rpc rpc) { - TbMsg msg = TbMsg.newMsg(TbMsgType.valueOf("RPC_" + rpc.getStatus().name()), rpc.getDeviceId(), TbMsgMetaData.EMPTY, JacksonUtil.toString(rpc)); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.valueOf("RPC_" + rpc.getStatus().name())) + .originator(rpc.getDeviceId()) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(JacksonUtil.toString(rpc)) + .build(); tbClusterService.pushMsgToRuleEngine(tenantId, rpc.getDeviceId(), msg, null); } diff --git a/application/src/main/java/org/thingsboard/server/service/state/DefaultDeviceStateService.java b/application/src/main/java/org/thingsboard/server/service/state/DefaultDeviceStateService.java index 6025e874b9..18315c0372 100644 --- a/application/src/main/java/org/thingsboard/server/service/state/DefaultDeviceStateService.java +++ b/application/src/main/java/org/thingsboard/server/service/state/DefaultDeviceStateService.java @@ -857,7 +857,14 @@ public class DefaultDeviceStateService extends AbstractPartitionBasedService() { @@ -86,7 +91,12 @@ public class RuleEngineControllerTest extends AbstractControllerTest { loginTenantAdmin(); Device device = createDevice("Test", "123"); DeviceId deviceId = device.getId(); - TbMsg responseMsg = TbMsg.newMsg(TbMsgType.REST_API_REQUEST, deviceId, TbMsgMetaData.EMPTY, RESPONSE_BODY); + TbMsg responseMsg = TbMsg.builder() + .type(TbMsgType.REST_API_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(RESPONSE_BODY) + .build(); mockRestApiCallToRuleEngine(responseMsg); JsonNode apiResponse = doPostAsyncWithTypedResponse("/api/rule-engine/DEVICE/" + deviceId.getId(), REQUEST_BODY, new TypeReference<>() { @@ -110,7 +120,12 @@ public class RuleEngineControllerTest extends AbstractControllerTest { loginTenantAdmin(); Device device = createDevice("Test", "123"); DeviceId deviceId = device.getId(); - TbMsg responseMsg = TbMsg.newMsg(TbMsgType.REST_API_REQUEST, deviceId, TbMsgMetaData.EMPTY, RESPONSE_BODY); + TbMsg responseMsg = TbMsg.builder() + .type(TbMsgType.REST_API_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(RESPONSE_BODY) + .build(); mockRestApiCallToRuleEngine(responseMsg); JsonNode apiResponse = doPostAsyncWithTypedResponse("/api/rule-engine/DEVICE/" + deviceId.getId() + "/15000", REQUEST_BODY, new TypeReference<>() { @@ -156,7 +171,13 @@ public class RuleEngineControllerTest extends AbstractControllerTest { loginTenantAdmin(); Device device = createDevice("Test", "123"); DeviceId deviceId = device.getId(); - TbMsg responseMsg = TbMsg.newMsg(DataConstants.HP_QUEUE_NAME, TbMsgType.REST_API_REQUEST, deviceId, TbMsgMetaData.EMPTY, RESPONSE_BODY); + TbMsg responseMsg = TbMsg.builder() + .queueName(DataConstants.HP_QUEUE_NAME) + .type(TbMsgType.REST_API_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(RESPONSE_BODY) + .build(); mockRestApiCallToRuleEngine(responseMsg); JsonNode apiResponse = doPostAsyncWithTypedResponse("/api/rule-engine/DEVICE/" + deviceId.getId() + "/HighPriority/1000", REQUEST_BODY, new TypeReference<>() { @@ -195,7 +216,13 @@ public class RuleEngineControllerTest extends AbstractControllerTest { assignDeviceToCustomer(deviceId, customerId); loginCustomerUser(); - TbMsg responseMsg = TbMsg.newMsg(TbMsgType.REST_API_REQUEST, deviceId, customerId, TbMsgMetaData.EMPTY, RESPONSE_BODY); + TbMsg responseMsg = TbMsg.builder() + .type(TbMsgType.REST_API_REQUEST) + .originator(deviceId) + .customerId(customerId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(RESPONSE_BODY) + .build(); mockRestApiCallToRuleEngine(responseMsg); JsonNode apiResponse = doPostAsyncWithTypedResponse("/api/rule-engine/DEVICE/" + deviceId.getId(), REQUEST_BODY, new TypeReference<>() { diff --git a/application/src/test/java/org/thingsboard/server/controller/TenantControllerTest.java b/application/src/test/java/org/thingsboard/server/controller/TenantControllerTest.java index c8cc72c5b5..f2f843e448 100644 --- a/application/src/test/java/org/thingsboard/server/controller/TenantControllerTest.java +++ b/application/src/test/java/org/thingsboard/server/controller/TenantControllerTest.java @@ -743,7 +743,12 @@ public class TenantControllerTest extends AbstractControllerTest { } private TbMsg publishTbMsg(TenantId tenantId, TopicPartitionInfo tpi) { - TbMsg tbMsg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, tenantId, TbMsgMetaData.EMPTY, "{\"test\":1}"); + TbMsg tbMsg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(tenantId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data("{\"test\":1}") + .build(); TransportProtos.ToRuleEngineMsg msg = TransportProtos.ToRuleEngineMsg.newBuilder() .setTenantIdMSB(tenantId.getId().getMostSignificantBits()) .setTenantIdLSB(tenantId.getId().getLeastSignificantBits()) diff --git a/application/src/test/java/org/thingsboard/server/rules/flow/AbstractRuleEngineFlowIntegrationTest.java b/application/src/test/java/org/thingsboard/server/rules/flow/AbstractRuleEngineFlowIntegrationTest.java index fba5f2187f..c47c847241 100644 --- a/application/src/test/java/org/thingsboard/server/rules/flow/AbstractRuleEngineFlowIntegrationTest.java +++ b/application/src/test/java/org/thingsboard/server/rules/flow/AbstractRuleEngineFlowIntegrationTest.java @@ -184,7 +184,13 @@ public abstract class AbstractRuleEngineFlowIntegrationTest extends AbstractRule TbMsgCallback tbMsgCallback = Mockito.mock(TbMsgCallback.class); Mockito.when(tbMsgCallback.isMsgValid()).thenReturn(true); - TbMsg tbMsg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, device.getId(), TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT, tbMsgCallback); + TbMsg tbMsg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(device.getId()) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .callback(tbMsgCallback) + .build(); QueueToRuleEngineMsg qMsg = new QueueToRuleEngineMsg(savedTenant.getId(), tbMsg, null, null); // Pushing Message to the system actorSystem.tell(qMsg); @@ -309,7 +315,13 @@ public abstract class AbstractRuleEngineFlowIntegrationTest extends AbstractRule TbMsgCallback tbMsgCallback = Mockito.mock(TbMsgCallback.class); Mockito.when(tbMsgCallback.isMsgValid()).thenReturn(true); - TbMsg tbMsg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, device.getId(), TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT, tbMsgCallback); + TbMsg tbMsg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(device.getId()) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .callback(tbMsgCallback) + .build(); QueueToRuleEngineMsg qMsg = new QueueToRuleEngineMsg(savedTenant.getId(), tbMsg, null, null); // Pushing Message to the system actorSystem.tell(qMsg); diff --git a/application/src/test/java/org/thingsboard/server/rules/lifecycle/AbstractRuleEngineLifecycleIntegrationTest.java b/application/src/test/java/org/thingsboard/server/rules/lifecycle/AbstractRuleEngineLifecycleIntegrationTest.java index d8bd02ec7f..780bd3c8cb 100644 --- a/application/src/test/java/org/thingsboard/server/rules/lifecycle/AbstractRuleEngineLifecycleIntegrationTest.java +++ b/application/src/test/java/org/thingsboard/server/rules/lifecycle/AbstractRuleEngineLifecycleIntegrationTest.java @@ -142,7 +142,13 @@ public abstract class AbstractRuleEngineLifecycleIntegrationTest extends Abstrac log.warn("attr updated"); TbMsgCallback tbMsgCallback = Mockito.mock(TbMsgCallback.class); Mockito.when(tbMsgCallback.isMsgValid()).thenReturn(true); - TbMsg tbMsg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, device.getId(), TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT, tbMsgCallback); + TbMsg tbMsg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(device.getId()) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .callback(tbMsgCallback) + .build(); QueueToRuleEngineMsg qMsg = new QueueToRuleEngineMsg(tenantId, tbMsg, null, null); // Pushing Message to the system log.warn("before tell tbMsgCallback"); diff --git a/application/src/test/java/org/thingsboard/server/service/queue/DefaultTbClusterServiceTest.java b/application/src/test/java/org/thingsboard/server/service/queue/DefaultTbClusterServiceTest.java index 25fe589a08..ad9e6d8d87 100644 --- a/application/src/test/java/org/thingsboard/server/service/queue/DefaultTbClusterServiceTest.java +++ b/application/src/test/java/org/thingsboard/server/service/queue/DefaultTbClusterServiceTest.java @@ -291,7 +291,13 @@ public class DefaultTbClusterServiceTest { TbQueueCallback callback = mock(TbQueueCallback.class); TenantId tenantId = TenantId.fromUUID(UUID.fromString("3c8bd350-1239-4a3b-b9c3-4dd76f8e20f1")); - TbMsg requestMsg = TbMsg.newMsg(DataConstants.HP_QUEUE_NAME, TbMsgType.REST_API_REQUEST, tenantId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg requestMsg = TbMsg.builder() + .queueName(DataConstants.HP_QUEUE_NAME) + .type(TbMsgType.REST_API_REQUEST) + .originator(tenantId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); when(producerProvider.getRuleEngineMsgProducer()).thenReturn(tbREQueueProducer); @@ -305,7 +311,12 @@ public class DefaultTbClusterServiceTest { public void testPushMsgToRuleEngineWithTenantIdIsNullUuidAndEntityIsDevice() { TenantId tenantId = TenantId.SYS_TENANT_ID; DeviceId deviceId = new DeviceId(UUID.fromString("aa6d112d-2914-4a22-a9e3-bee33edbdb14")); - TbMsg requestMsg = TbMsg.newMsg(TbMsgType.REST_API_REQUEST, deviceId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg requestMsg = TbMsg.builder() + .type(TbMsgType.REST_API_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); TbQueueCallback callback = mock(TbQueueCallback.class); clusterService.pushMsgToRuleEngine(tenantId, deviceId, requestMsg, false, callback); @@ -321,7 +332,13 @@ public class DefaultTbClusterServiceTest { TenantId tenantId = TenantId.fromUUID(UUID.fromString("3c8bd350-1239-4a3b-b9c3-4dd76f8e20f1")); DeviceId deviceId = new DeviceId(UUID.fromString("adbb9d41-3367-40fd-9e74-7dd7cc5d30cf")); DeviceProfile deviceProfile = new DeviceProfile(new DeviceProfileId(UUID.fromString("552f5d6d-0b2b-43e1-a7d2-a51cb2a96927"))); - TbMsg requestMsg = TbMsg.newMsg(DataConstants.HP_QUEUE_NAME, TbMsgType.REST_API_REQUEST, deviceId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg requestMsg = TbMsg.builder() + .queueName(DataConstants.HP_QUEUE_NAME) + .type(TbMsgType.REST_API_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); when(deviceProfileCache.get(any(TenantId.class), any(DeviceId.class))).thenReturn(deviceProfile); when(producerProvider.getRuleEngineMsgProducer()).thenReturn(tbREQueueProducer); @@ -341,7 +358,12 @@ public class DefaultTbClusterServiceTest { DeviceId deviceId = new DeviceId(UUID.fromString("016c2abb-f46f-49f9-a83d-4d28b803cfe6")); DeviceProfile deviceProfile = new DeviceProfile(new DeviceProfileId(UUID.fromString("dc5766e2-1a32-4022-859b-743050097ab7"))); deviceProfile.setDefaultQueueName(DataConstants.MAIN_QUEUE_NAME); - TbMsg requestMsg = TbMsg.newMsg(TbMsgType.REST_API_REQUEST, deviceId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg requestMsg = TbMsg.builder() + .type(TbMsgType.REST_API_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); when(deviceProfileCache.get(any(TenantId.class), any(DeviceId.class))).thenReturn(deviceProfile); when(producerProvider.getRuleEngineMsgProducer()).thenReturn(tbREQueueProducer); @@ -375,12 +397,12 @@ public class DefaultTbClusterServiceTest { device.setDeviceProfileId(deviceProfileId); // device updated - TbMsg tbMsg = TbMsg.builder().internalType(TbMsgType.ENTITY_UPDATED).build(); + TbMsg tbMsg = TbMsg.builder().type(TbMsgType.ENTITY_UPDATED).build(); ((DefaultTbClusterService) clusterService).getRuleEngineProfileForEntityOrElseNull(tenantId, deviceId, tbMsg); verify(deviceProfileCache, times(1)).get(tenantId, deviceId); // device deleted - tbMsg = TbMsg.builder().internalType(TbMsgType.ENTITY_DELETED).data(JacksonUtil.toString(device)).build(); + tbMsg = TbMsg.builder().type(TbMsgType.ENTITY_DELETED).data(JacksonUtil.toString(device)).build(); ((DefaultTbClusterService) clusterService).getRuleEngineProfileForEntityOrElseNull(tenantId, deviceId, tbMsg); verify(deviceProfileCache, times(1)).get(tenantId, deviceProfileId); } @@ -395,12 +417,12 @@ public class DefaultTbClusterServiceTest { asset.setAssetProfileId(assetProfileId); // asset updated - TbMsg tbMsg = TbMsg.builder().internalType(TbMsgType.ENTITY_UPDATED).build(); + TbMsg tbMsg = TbMsg.builder().type(TbMsgType.ENTITY_UPDATED).build(); ((DefaultTbClusterService) clusterService).getRuleEngineProfileForEntityOrElseNull(tenantId, assetId, tbMsg); verify(assetProfileCache, times(1)).get(tenantId, assetId); // asset deleted - tbMsg = TbMsg.builder().internalType(TbMsgType.ENTITY_DELETED).data(JacksonUtil.toString(asset)).build(); + tbMsg = TbMsg.builder().type(TbMsgType.ENTITY_DELETED).data(JacksonUtil.toString(asset)).build(); ((DefaultTbClusterService) clusterService).getRuleEngineProfileForEntityOrElseNull(tenantId, assetId, tbMsg); verify(assetProfileCache, times(1)).get(tenantId, assetProfileId); } diff --git a/application/src/test/java/org/thingsboard/server/service/queue/ruleengine/TbRuleEngineQueueConsumerManagerTest.java b/application/src/test/java/org/thingsboard/server/service/queue/ruleengine/TbRuleEngineQueueConsumerManagerTest.java index 66e3de13d1..63f5f7999f 100644 --- a/application/src/test/java/org/thingsboard/server/service/queue/ruleengine/TbRuleEngineQueueConsumerManagerTest.java +++ b/application/src/test/java/org/thingsboard/server/service/queue/ruleengine/TbRuleEngineQueueConsumerManagerTest.java @@ -782,7 +782,12 @@ public class TbRuleEngineQueueConsumerManagerTest { } public void setUpTestMsg() { - testMsg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, new DeviceId(UUID.randomUUID()), new TbMsgMetaData(), "{}"); + testMsg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(new DeviceId(UUID.randomUUID())) + .metaData(new TbMsgMetaData().copy()) + .data("{}") + .build(); } } diff --git a/application/src/test/java/org/thingsboard/server/service/rpc/DefaultTbRuleEngineRpcServiceTest.java b/application/src/test/java/org/thingsboard/server/service/rpc/DefaultTbRuleEngineRpcServiceTest.java index 2cab5f991a..ac103d54e3 100644 --- a/application/src/test/java/org/thingsboard/server/service/rpc/DefaultTbRuleEngineRpcServiceTest.java +++ b/application/src/test/java/org/thingsboard/server/service/rpc/DefaultTbRuleEngineRpcServiceTest.java @@ -46,7 +46,12 @@ class DefaultTbRuleEngineRpcServiceTest { String serviceId = "tb-core-0"; UUID requestId = UUID.fromString("f64a20df-eb1e-46a3-ba6f-0b3ae053ee0a"); DeviceId deviceId = new DeviceId(UUID.fromString("1d9f771a-7cdc-4ac7-838c-ba193d05a012")); - TbMsg msg = TbMsg.newMsg(TbMsgType.REST_API_REQUEST, deviceId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.REST_API_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); var restApiCallResponseMsgProto = TransportProtos.RestApiCallResponseMsgProto.newBuilder() .setRequestIdMSB(requestId.getMostSignificantBits()) .setRequestIdLSB(requestId.getLeastSignificantBits()) diff --git a/application/src/test/java/org/thingsboard/server/service/ruleengine/DefaultRuleEngineCallServiceTest.java b/application/src/test/java/org/thingsboard/server/service/ruleengine/DefaultRuleEngineCallServiceTest.java index c49149bd07..48853c0e46 100644 --- a/application/src/test/java/org/thingsboard/server/service/ruleengine/DefaultRuleEngineCallServiceTest.java +++ b/application/src/test/java/org/thingsboard/server/service/ruleengine/DefaultRuleEngineCallServiceTest.java @@ -85,7 +85,13 @@ public class DefaultRuleEngineCallServiceTest { metaData.put("serviceId", "core"); metaData.put("requestUUID", requestId.toString()); metaData.put("expirationTime", Long.toString(expTime)); - TbMsg msg = TbMsg.newMsg(DataConstants.MAIN_QUEUE_NAME, TbMsgType.REST_API_REQUEST, TENANT_ID, new TbMsgMetaData(metaData), "{\"key\":\"value\"}"); + TbMsg msg = TbMsg.builder() + .queueName(DataConstants.MAIN_QUEUE_NAME) + .type(TbMsgType.REST_API_REQUEST) + .originator(TENANT_ID) + .metaData(new TbMsgMetaData(metaData).copy()) + .data("{\"key\":\"value\"}") + .build(); Consumer anyConsumer = TbMsg::getData; doAnswer(invocation -> { @@ -113,7 +119,13 @@ public class DefaultRuleEngineCallServiceTest { metaData.put("serviceId", "core"); metaData.put("requestUUID", requestId.toString()); metaData.put("expirationTime", Long.toString(expTime)); - TbMsg msg = TbMsg.newMsg(DataConstants.MAIN_QUEUE_NAME, TbMsgType.REST_API_REQUEST, TENANT_ID, new TbMsgMetaData(metaData), "{\"key\":\"value\"}"); + TbMsg msg = TbMsg.builder() + .queueName(DataConstants.MAIN_QUEUE_NAME) + .type(TbMsgType.REST_API_REQUEST) + .originator(TENANT_ID) + .metaData(new TbMsgMetaData(metaData).copy()) + .data("{\"key\":\"value\"}") + .build(); Consumer anyConsumer = TbMsg::getData; doAnswer(invocation -> { diff --git a/application/src/test/java/org/thingsboard/server/service/sql/SequentialTimeseriesPersistenceTest.java b/application/src/test/java/org/thingsboard/server/service/sql/SequentialTimeseriesPersistenceTest.java index 02281abac3..5d06102a0b 100644 --- a/application/src/test/java/org/thingsboard/server/service/sql/SequentialTimeseriesPersistenceTest.java +++ b/application/src/test/java/org/thingsboard/server/service/sql/SequentialTimeseriesPersistenceTest.java @@ -131,11 +131,13 @@ public class SequentialTimeseriesPersistenceTest extends AbstractControllerTest void saveLatestTsForAssetAndDevice(List devices, Asset asset, int idx) throws ExecutionException, InterruptedException, TimeoutException { for (Device device : devices) { - TbMsg tbMsg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, - device.getId(), - getTbMsgMetadata(device.getName(), ts.get(idx)), - TbMsgDataType.JSON, - getTbMsgData(msgValue.get(idx))); + TbMsg tbMsg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(device.getId()) + .metaData(getTbMsgMetadata(device.getName(), ts.get(idx)).copy()) + .dataType(TbMsgDataType.JSON) + .data(getTbMsgData(msgValue.get(idx))) + .build(); saveDeviceTsEntry(device.getId(), tbMsg, msgValue.get(idx)); saveAssetTsEntry(asset, device.getName(), msgValue.get(idx), TbMsgTimeseriesNode.computeTs(tbMsg, configuration.isUseServerTs())); idx++; diff --git a/common/message/src/main/java/org/thingsboard/server/common/msg/TbMsg.java b/common/message/src/main/java/org/thingsboard/server/common/msg/TbMsg.java index 46c31cf245..b987a73a6e 100644 --- a/common/message/src/main/java/org/thingsboard/server/common/msg/TbMsg.java +++ b/common/message/src/main/java/org/thingsboard/server/common/msg/TbMsg.java @@ -20,7 +20,6 @@ import com.google.protobuf.ByteString; import com.google.protobuf.InvalidProtocolBufferException; import lombok.AccessLevel; import lombok.AllArgsConstructor; -import lombok.Builder; import lombok.Data; import lombok.Getter; import lombok.extern.slf4j.Slf4j; @@ -47,7 +46,6 @@ import static java.util.Objects.requireNonNull; @Data @Slf4j @AllArgsConstructor(access = AccessLevel.PRIVATE) -@Builder(toBuilder = true) public final class TbMsg implements Serializable { public static final String EMPTY_JSON_OBJECT = "{}"; @@ -156,229 +154,6 @@ public final class TbMsg implements Serializable { tbMsg.getDataType(), tbMsg.getData(), ruleChainId, ruleNodeId, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), TbMsgCallback.EMPTY); } - @Deprecated(since = "3.6.0", forRemoval = true) - public static TbMsg newMsg(String queueName, String type, EntityId originator, TbMsgMetaData metaData, String data, RuleChainId ruleChainId, RuleNodeId ruleNodeId) { - return newMsg(queueName, type, originator, null, metaData, data, ruleChainId, ruleNodeId); - } - - /** - * Creates a new TbMsg instance with the specified parameters. - * - *

Deprecated: This method is deprecated since version 3.6.0 and should only be used when you need to - * specify a custom message type that doesn't exist in the {@link TbMsgType} enum. For standard message types, - * it is recommended to use the {@link #newMsg(String, TbMsgType, EntityId, CustomerId, TbMsgMetaData, String, RuleChainId, RuleNodeId)} - * method instead.

- * - * @param queueName the name of the queue where the message will be sent - * @param type the type of the message - * @param originator the originator of the message - * @param customerId the ID of the customer associated with the message - * @param metaData the metadata of the message - * @param data the data of the message - * @param ruleChainId the ID of the rule chain associated with the message - * @param ruleNodeId the ID of the rule node associated with the message - * @return new TbMsg instance - */ - @Deprecated(since = "3.6.0") - public static TbMsg newMsg(String queueName, String type, EntityId originator, CustomerId customerId, TbMsgMetaData metaData, String data, RuleChainId ruleChainId, RuleNodeId ruleNodeId) { - return TbMsg.builder() - .queueName(queueName) - .type(type) - .originator(originator) - .metaData(metaData.copy()) - .data(data) - .ruleChainId(ruleChainId) - .ruleNodeId(ruleNodeId) - .build(); - } - - @Deprecated(since = "3.6.0", forRemoval = true) - public static TbMsg newMsg(String type, EntityId originator, TbMsgMetaData metaData, String data) { - return newMsg(type, originator, null, metaData, data); - } - - @Deprecated(since = "3.6.0", forRemoval = true) - public static TbMsg newMsg(String type, EntityId originator, CustomerId customerId, TbMsgMetaData metaData, String data) { - return TbMsg.builder() - .type(type) - .originator(originator) - .customerId(customerId) - .metaData(metaData.copy()) - .data(data) - .build(); - } - - public static TbMsg newMsg(String queueName, TbMsgType type, EntityId originator, TbMsgMetaData metaData, String data, RuleChainId ruleChainId, RuleNodeId ruleNodeId) { - return newMsg(queueName, type, originator, null, metaData, data, ruleChainId, ruleNodeId); - } - - public static TbMsg newMsg(String queueName, TbMsgType type, EntityId originator, CustomerId customerId, TbMsgMetaData metaData, String data, RuleChainId ruleChainId, RuleNodeId ruleNodeId) { - return TbMsg.builder() - .queueName(queueName) - .internalType(type) - .originator(originator) - .customerId(customerId) - .metaData(metaData.copy()) - .data(data) - .ruleChainId(ruleChainId) - .ruleNodeId(ruleNodeId) - .build(); - } - - public static TbMsg newMsg(TbMsgType type, EntityId originator, TbMsgMetaData metaData, String data) { - return newMsg(type, originator, null, metaData, data); - } - - public static TbMsg newMsg(TbMsgType type, EntityId originator, CustomerId customerId, TbMsgMetaData metaData, String data) { - return TbMsg.builder() - .internalType(type) - .originator(originator) - .customerId(customerId) - .metaData(metaData.copy()) - .data(data) - .build(); - } - - public static TbMsg newMsg(TbMsgType type, EntityId originator, TbMsgMetaData metaData, String data, long ts) { - return TbMsg.builder() - .ts(ts) - .internalType(type) - .originator(originator) - .metaData(metaData.copy()) - .data(data) - .build(); - } - - // REALLY NEW MSG - - /** - * Creates a new TbMsg instance with the specified parameters. - * - *

Deprecated: This method is deprecated since version 3.6.0 and should only be used when you need to - * specify a custom message type that doesn't exist in the {@link TbMsgType} enum. For standard message types, - * it is recommended to use the {@link #newMsg(String, TbMsgType, EntityId, TbMsgMetaData, String)} - * method instead.

- * - * @param queueName the name of the queue where the message will be sent - * @param type the type of the message - * @param originator the originator of the message - * @param metaData the metadata of the message - * @param data the data of the message - * @return new TbMsg instance - */ - @Deprecated(since = "3.6.0") - public static TbMsg newMsg(String queueName, String type, EntityId originator, TbMsgMetaData metaData, String data) { - return newMsg(queueName, type, originator, null, metaData, data); - } - - /** - * Creates a new TbMsg instance with the specified parameters. - * - *

Deprecated: This method is deprecated since version 3.6.0 and should only be used when you need to - * specify a custom message type that doesn't exist in the {@link TbMsgType} enum. For standard message types, - * it is recommended to use the {@link #newMsg(String, TbMsgType, EntityId, CustomerId, TbMsgMetaData, String)} - * method instead.

- * - * @param queueName the name of the queue where the message will be sent - * @param type the type of the message - * @param originator the originator of the message - * @param customerId the ID of the customer associated with the message - * @param metaData the metadata of the message - * @param data the data of the message - * @return new TbMsg instance - */ - @Deprecated(since = "3.6.0") - public static TbMsg newMsg(String queueName, String type, EntityId originator, CustomerId customerId, TbMsgMetaData metaData, String data) { - return TbMsg.builder() - .queueName(queueName) - .type(type) - .originator(originator) - .customerId(customerId) - .metaData(metaData.copy()) - .data(data) - .build(); - } - - /** - * Creates a new TbMsg instance with the specified parameters. - * - *

Deprecated: This method is deprecated since version 3.6.0 and should only be used when you need to - * specify a custom message type that doesn't exist in the {@link TbMsgType} enum. For standard message types, - * it is recommended to use the {@link #newMsg(TbMsgType, EntityId, TbMsgMetaData, TbMsgDataType, String)} - * method instead.

- * - * @param type the type of the message - * @param originator the originator of the message - * @param metaData the metadata of the message - * @param dataType the dataType of the message - * @param data the data of the message - * @return new TbMsg instance - */ - @Deprecated(since = "3.6.0") - public static TbMsg newMsg(String type, EntityId originator, TbMsgMetaData metaData, TbMsgDataType dataType, String data) { - return TbMsg.builder() - .type(type) - .originator(originator) - .customerId(null) - .metaData(metaData.copy()) - .dataType(dataType) - .data(data) - .build(); - } - - public static TbMsg newMsg(String queueName, TbMsgType type, EntityId originator, TbMsgMetaData metaData, String data) { - return newMsg(queueName, type, originator, null, metaData, data); - } - - public static TbMsg newMsg(String queueName, TbMsgType type, EntityId originator, CustomerId customerId, TbMsgMetaData metaData, String data) { - return TbMsg.builder() - .queueName(queueName) - .internalType(type) - .originator(originator) - .customerId(customerId) - .metaData(metaData.copy()) - .data(data) - .build(); - } - - public static TbMsg newMsg(TbMsgType type, EntityId originator, CustomerId customerId, TbMsgMetaData metaData, TbMsgDataType dataType, String data) { - return TbMsg.builder() - .internalType(type) - .originator(originator) - .customerId(customerId) - .metaData(metaData.copy()) - .dataType(dataType) - .data(data) - .build(); - } - - public static TbMsg newMsg(TbMsgType type, EntityId originator, TbMsgMetaData metaData, TbMsgDataType dataType, String data) { - return newMsg(type, originator, null, metaData, dataType, data); - } - - public static TbMsg newMsg(TbMsgType type, EntityId originator, TbMsgMetaData metaData, TbMsgDataType dataType, String data, RuleChainId ruleChainId, RuleNodeId ruleNodeId) { - return TbMsg.builder() - .internalType(type) - .originator(originator) - .metaData(metaData.copy()) - .dataType(dataType) - .data(data) - .ruleChainId(ruleChainId) - .ruleNodeId(ruleNodeId) - .build(); - } - - public static TbMsg newMsg(TbMsgType type, EntityId originator, TbMsgMetaData metaData, String data, TbMsgCallback callback) { - return TbMsg.builder() - .internalType(type) - .originator(originator) - .metaData(metaData.copy()) - .data(data) - .callback(callback) - .build(); - } - - @Builder private TbMsg(String queueName, UUID id, long ts, TbMsgType internalType, String type, EntityId originator, CustomerId customerId, TbMsgMetaData metaData, TbMsgDataType dataType, String data, RuleChainId ruleChainId, RuleNodeId ruleNodeId, UUID correlationId, Integer partition, TbMsgProcessingCtx ctx, TbMsgCallback callback) { this.id = id != null ? id : UUID.randomUUID(); @@ -390,7 +165,7 @@ public final class TbMsg implements Serializable { } this.internalType = internalType != null ? internalType : getInternalType(type); this.type = type != null ? type : this.internalType.name(); - this.originator = requireNonNull(originator, "msg originator is missing"); + this.originator = originator; if (customerId == null || customerId.isNullUid()) { if (originator != null && originator.getEntityType() == EntityType.CUSTOMER) { this.customerId = new CustomerId(originator.getId()); @@ -572,4 +347,150 @@ public final class TbMsg implements Serializable { return false; } + public static TbMsgBuilder builder() { + return new TbMsgBuilder(); + } + + public TbMsgBuilder toBuilder() { + return new TbMsgBuilder() + .queueName(this.queueName) + .id(this.id) + .ts(this.ts) + .type(this.type) + .type(this.internalType) + .originator(this.originator) + .customerId(this.customerId) + .metaData(this.metaData) + .dataType(this.dataType) + .data(this.data) + .ruleChainId(this.ruleChainId) + .ruleNodeId(this.ruleNodeId) + .correlationId(this.correlationId) + .partition(this.partition) + .ctx(this.ctx) + .callback(this.callback); + } + + public static class TbMsgBuilder { + + private String queueName; + private UUID id; + private long ts; + private String type; + private TbMsgType internalType; + private EntityId originator; + private CustomerId customerId; + private TbMsgMetaData metaData; + private TbMsgDataType dataType; + private String data; + private RuleChainId ruleChainId; + private RuleNodeId ruleNodeId; + private UUID correlationId; + private Integer partition; + private TbMsgProcessingCtx ctx; + private TbMsgCallback callback; + + TbMsgBuilder() {} + + public TbMsgBuilder queueName(String queueName) { + this.queueName = queueName; + return this; + } + + public TbMsgBuilder id(UUID id) { + this.id = id; + return this; + } + + public TbMsgBuilder ts(long ts) { + this.ts = ts; + return this; + } + + /** + *

Deprecated: This should only be used when you need to specify a custom message type that doesn't exist in the {@link TbMsgType} enum. + * Prefer using {@link #type(TbMsgType)} instead. + * + * */ + @Deprecated + public TbMsgBuilder type(String type) { + this.type = type; + return this; + } + + public TbMsgBuilder type(TbMsgType internalType) { + this.internalType = internalType; + return this; + } + + public TbMsgBuilder originator(EntityId originator) { + this.originator = originator; + return this; + } + + public TbMsgBuilder customerId(CustomerId customerId) { + this.customerId = customerId; + return this; + } + + public TbMsgBuilder metaData(TbMsgMetaData metaData) { + this.metaData = metaData; + return this; + } + + public TbMsgBuilder dataType(TbMsgDataType dataType) { + this.dataType = dataType; + return this; + } + + public TbMsgBuilder data(String data) { + this.data = data; + return this; + } + + public TbMsgBuilder ruleChainId(RuleChainId ruleChainId) { + this.ruleChainId = ruleChainId; + return this; + } + + public TbMsgBuilder ruleNodeId(RuleNodeId ruleNodeId) { + this.ruleNodeId = ruleNodeId; + return this; + } + + public TbMsgBuilder correlationId(UUID correlationId) { + this.correlationId = correlationId; + return this; + } + + public TbMsgBuilder partition(Integer partition) { + this.partition = partition; + return this; + } + + public TbMsgBuilder ctx(TbMsgProcessingCtx ctx) { + this.ctx = ctx; + return this; + } + + public TbMsgBuilder callback(TbMsgCallback callback) { + this.callback = callback; + return this; + } + + public TbMsg build() { + return new TbMsg(queueName, id, ts, type, internalType, originator, customerId, metaData, dataType, data, ruleChainId, ruleNodeId, correlationId, partition, ctx, callback); + } + + public String toString() { + return "TbMsg.TbMsgBuilder(queueName=" + this.queueName + ", id=" + this.id + ", ts=" + this.ts + + ", type=" + this.type + ", internalType=" + this.internalType + ", originator=" + this.originator + + ", customerId=" + this.customerId + ", metaData=" + this.metaData + ", dataType=" + this.dataType + + ", data=" + this.data + ", ruleChainId=" + this.ruleChainId + ", ruleNodeId=" + this.ruleNodeId + + ", correlationId=" + this.correlationId + ", partition=" + this.partition + ", ctx=" + this.ctx + + ", callback=" + this.callback + ")"; + } + + } + } diff --git a/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/DefaultTransportService.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/DefaultTransportService.java index 44f61270b4..e15d27a1e0 100644 --- a/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/DefaultTransportService.java +++ b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/DefaultTransportService.java @@ -45,7 +45,6 @@ import org.thingsboard.server.common.data.ResourceType; import org.thingsboard.server.common.data.StringUtils; import org.thingsboard.server.common.data.Tenant; import org.thingsboard.server.common.data.device.data.PowerMode; -import org.thingsboard.server.common.data.exception.TenantNotFoundException; import org.thingsboard.server.common.data.id.CustomerId; import org.thingsboard.server.common.data.id.DeviceId; import org.thingsboard.server.common.data.id.DeviceProfileId; @@ -1137,7 +1136,16 @@ public class DefaultTransportService extends TransportActivityManager implements queueName = deviceProfile.getDefaultQueueName(); } - TbMsg tbMsg = TbMsg.newMsg(queueName, tbMsgType, deviceId, customerId, metaData, gson.toJson(json), ruleChainId, null); + TbMsg tbMsg = TbMsg.builder() + .queueName(queueName) + .type(tbMsgType) + .originator(deviceId) + .customerId(customerId) + .metaData(metaData.copy()) + .data(gson.toJson(json)) + .ruleChainId(ruleChainId) + .ruleNodeId(null) + .build(); ruleEngineProducerService.sendToRuleEngine(ruleEngineMsgProducer, tenantId, tbMsg, new StatsCallback(callback, ruleEngineProducerStats)); ruleEngineProducerStats.incrementTotal(); } diff --git a/rule-engine/rule-engine-api/src/main/java/org/thingsboard/rule/engine/api/TbContext.java b/rule-engine/rule-engine-api/src/main/java/org/thingsboard/rule/engine/api/TbContext.java index b517bb0051..fa8e51b51f 100644 --- a/rule-engine/rule-engine-api/src/main/java/org/thingsboard/rule/engine/api/TbContext.java +++ b/rule-engine/rule-engine-api/src/main/java/org/thingsboard/rule/engine/api/TbContext.java @@ -192,9 +192,6 @@ public interface TbContext { void ack(TbMsg tbMsg); - @Deprecated(since = "3.6.0", forRemoval = true) - TbMsg newMsg(String queueName, String type, EntityId originator, TbMsgMetaData metaData, String data); - /** * Creates a new TbMsg instance with the specified parameters. * diff --git a/rule-engine/rule-engine-api/src/test/java/org/thingsboard/rule/engine/api/util/TbNodeUtilsTest.java b/rule-engine/rule-engine-api/src/test/java/org/thingsboard/rule/engine/api/util/TbNodeUtilsTest.java index 7da2efdf3f..895b527d6a 100644 --- a/rule-engine/rule-engine-api/src/test/java/org/thingsboard/rule/engine/api/util/TbNodeUtilsTest.java +++ b/rule-engine/rule-engine-api/src/test/java/org/thingsboard/rule/engine/api/util/TbNodeUtilsTest.java @@ -44,7 +44,12 @@ public class TbNodeUtilsTest { ObjectNode node = JacksonUtil.newObjectNode(); node.put("data_key", "data_value"); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, TenantId.SYS_TENANT_ID, md, JacksonUtil.toString(node)); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(TenantId.SYS_TENANT_ID) + .metaData(md.copy()) + .data(JacksonUtil.toString(node)) + .build(); String result = TbNodeUtils.processPattern(pattern, msg); Assertions.assertEquals("ABC metadata_value data_value", result); } @@ -58,7 +63,12 @@ public class TbNodeUtilsTest { ObjectNode node = JacksonUtil.newObjectNode(); node.put("key", "data_value"); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, TenantId.SYS_TENANT_ID, md, JacksonUtil.toString(node)); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(TenantId.SYS_TENANT_ID) + .metaData(md.copy()) + .data(JacksonUtil.toString(node)) + .build(); String result = TbNodeUtils.processPattern(pattern, msg); Assertions.assertEquals(pattern, result); } @@ -72,7 +82,12 @@ public class TbNodeUtilsTest { ObjectNode node = JacksonUtil.newObjectNode(); node.put("key", "data_value"); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, TenantId.SYS_TENANT_ID, md, JacksonUtil.toString(node)); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(TenantId.SYS_TENANT_ID) + .metaData(md.copy()) + .data(JacksonUtil.toString(node)) + .build(); String result = TbNodeUtils.processPattern(pattern, msg); Assertions.assertEquals("ABC metadata_value data_value", result); } @@ -93,7 +108,12 @@ public class TbNodeUtilsTest { ObjectNode node = JacksonUtil.newObjectNode(); node.set("key1", key1Node); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, TenantId.SYS_TENANT_ID, md, JacksonUtil.toString(node)); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(TenantId.SYS_TENANT_ID) + .metaData(md.copy()) + .data(JacksonUtil.toString(node)) + .build(); String result = TbNodeUtils.processPattern(pattern, msg); Assertions.assertEquals("ABC metadata_value value3", result); } @@ -114,7 +134,12 @@ public class TbNodeUtilsTest { ObjectNode node = JacksonUtil.newObjectNode(); node.set("key1", key1Node); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, TenantId.SYS_TENANT_ID, md, JacksonUtil.toString(node)); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(TenantId.SYS_TENANT_ID) + .metaData(md.copy()) + .data(JacksonUtil.toString(node)) + .build(); String result = TbNodeUtils.processPattern(pattern, msg); Assertions.assertEquals("ABC metadata_value $[key1.key2[0].key3]", result); } diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbMsgCountNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbMsgCountNode.java index 333aaaf7df..c6619b508c 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbMsgCountNode.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbMsgCountNode.java @@ -74,7 +74,14 @@ public class TbMsgCountNode implements TbNode { TbMsgMetaData metaData = new TbMsgMetaData(); metaData.putValue("delta", Long.toString(System.currentTimeMillis() - lastScheduledTs + delay)); - TbMsg tbMsg = TbMsg.newMsg(msg.getQueueName(), TbMsgType.POST_TELEMETRY_REQUEST, ctx.getTenantId(), msg.getCustomerId(), metaData, gson.toJson(telemetryJson)); + TbMsg tbMsg = TbMsg.builder() + .queueName(msg.getQueueName()) + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(ctx.getTenantId()) + .customerId(msg.getCustomerId()) + .metaData(metaData.copy()) + .data(gson.toJson(telemetryJson)) + .build(); ctx.enqueueForTellNext(tbMsg, TbNodeConnectionType.SUCCESS); scheduleTickMsg(ctx, tbMsg); } else { diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/deduplication/TbMsgDeduplicationNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/deduplication/TbMsgDeduplicationNode.java index 1afba3581f..e16528d5d3 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/deduplication/TbMsgDeduplicationNode.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/deduplication/TbMsgDeduplicationNode.java @@ -154,12 +154,13 @@ public class TbMsgDeduplicationNode implements TbNode { iterator.remove(); } } - deduplicationResults.add(TbMsg.newMsg( - queueName, - config.getOutMsgType(), - deduplicationId, - getMetadata(), - getMergedData(pack))); + deduplicationResults.add(TbMsg.builder() + .queueName(queueName) + .type(config.getOutMsgType()) + .originator(deduplicationId) + .metaData(getMetadata().copy()) + .data(getMergedData(pack)) + .build()); } else { TbMsg resultMsg = null; boolean searchMin = DeduplicationStrategy.FIRST.equals(config.getStrategy()); @@ -176,13 +177,15 @@ public class TbMsgDeduplicationNode implements TbNode { } } if (resultMsg != null) { - deduplicationResults.add(TbMsg.newMsg( - queueName != null ? queueName : resultMsg.getQueueName(), - resultMsg.getType(), - resultMsg.getOriginator(), - resultMsg.getCustomerId(), - resultMsg.getMetaData(), - resultMsg.getData())); + String queueName1 = queueName != null ? queueName : resultMsg.getQueueName(); + deduplicationResults.add(TbMsg.builder() + .queueName(queueName1) + .type(resultMsg.getType()) + .originator(resultMsg.getOriginator()) + .customerId(resultMsg.getCustomerId()) + .metaData(resultMsg.getMetaData().copy()) + .data(resultMsg.getData()) + .build()); } } packBoundsOpt = findValidPack(msgList, deduplicationTimeoutMs); diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/delay/TbMsgDelayNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/delay/TbMsgDelayNode.java index b60a46ee0a..8331f066d8 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/delay/TbMsgDelayNode.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/delay/TbMsgDelayNode.java @@ -65,14 +65,14 @@ public class TbMsgDelayNode implements TbNode { TbMsg pendingMsg = pendingMsgs.remove(UUID.fromString(msg.getData())); if (pendingMsg != null) { ctx.enqueueForTellNext( - TbMsg.newMsg( - pendingMsg.getQueueName(), - pendingMsg.getType(), - pendingMsg.getOriginator(), - pendingMsg.getCustomerId(), - pendingMsg.getMetaData(), - pendingMsg.getData() - ), + TbMsg.builder() + .queueName(pendingMsg.getQueueName()) + .type(pendingMsg.getType()) + .originator(pendingMsg.getOriginator()) + .customerId(pendingMsg.getCustomerId()) + .metaData(pendingMsg.getMetaData().copy()) + .data(pendingMsg.getData()) + .build(), TbNodeConnectionType.SUCCESS ); } diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/profile/TbDeviceProfileNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/profile/TbDeviceProfileNode.java index c7b2d010a8..a1ff3dc2d4 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/profile/TbDeviceProfileNode.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/profile/TbDeviceProfileNode.java @@ -29,6 +29,7 @@ import org.thingsboard.rule.engine.api.util.TbNodeUtils; import org.thingsboard.server.common.data.Device; import org.thingsboard.server.common.data.DeviceProfile; import org.thingsboard.server.common.data.EntityType; +import org.thingsboard.server.common.data.id.CustomerId; import org.thingsboard.server.common.data.id.DeviceId; import org.thingsboard.server.common.data.id.DeviceProfileId; import org.thingsboard.server.common.data.msg.TbMsgType; @@ -176,7 +177,14 @@ public class TbDeviceProfileNode implements TbNode { } protected void scheduleAlarmHarvesting(TbContext ctx, TbMsg msg) { - TbMsg periodicCheck = TbMsg.newMsg(TbMsgType.DEVICE_PROFILE_PERIODIC_SELF_MSG, ctx.getTenantId(), msg != null ? msg.getCustomerId() : null, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + CustomerId customerId = msg != null ? msg.getCustomerId() : null; + TbMsg periodicCheck = TbMsg.builder() + .type(TbMsgType.DEVICE_PROFILE_PERIODIC_SELF_MSG) + .originator(ctx.getTenantId()) + .customerId(customerId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); ctx.tellSelf(periodicCheck, TimeUnit.MINUTES.toMillis(1)); } @@ -201,7 +209,12 @@ public class TbDeviceProfileNode implements TbNode { } protected void onProfileUpdate(DeviceProfile profile) { - ctx.tellSelf(TbMsg.newMsg(TbMsgType.DEVICE_PROFILE_UPDATE_SELF_MSG, ctx.getTenantId(), TbMsgMetaData.EMPTY, profile.getId().getId().toString()), 0L); + ctx.tellSelf(TbMsg.builder() + .type(TbMsgType.DEVICE_PROFILE_UPDATE_SELF_MSG) + .originator(ctx.getTenantId()) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(profile.getId().getId().toString()) + .build(), 0L); } private void onDeviceUpdate(DeviceId deviceId, DeviceProfile deviceProfile) { @@ -210,7 +223,12 @@ public class TbDeviceProfileNode implements TbNode { if (deviceProfile != null) { msgData.put("deviceProfileId", deviceProfile.getId().getId().toString()); } - ctx.tellSelf(TbMsg.newMsg(TbMsgType.DEVICE_UPDATE_SELF_MSG, ctx.getTenantId(), TbMsgMetaData.EMPTY, JacksonUtil.toString(msgData)), 0L); + ctx.tellSelf(TbMsg.builder() + .type(TbMsgType.DEVICE_UPDATE_SELF_MSG) + .originator(ctx.getTenantId()) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(JacksonUtil.toString(msgData)) + .build(), 0L); } protected void invalidateDeviceProfileCache(DeviceId deviceId, String deviceJson) { diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbAssignToCustomerNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbAssignToCustomerNodeTest.java index dde4808deb..728b1a88d7 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbAssignToCustomerNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbAssignToCustomerNodeTest.java @@ -306,7 +306,12 @@ class TbAssignToCustomerNodeTest extends AbstractRuleNodeUpgradeTest { } private TbMsg getTbMsg(EntityId originator) { - return TbMsg.newMsg(TbMsgType.NA, originator, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + return TbMsg.builder() + .type(TbMsgType.NA) + .originator(originator) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); } private EntityId toOriginator(EntityType type) { diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbClearAlarmNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbClearAlarmNodeTest.java index afab0a0a99..177c2349fb 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbClearAlarmNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbClearAlarmNodeTest.java @@ -91,7 +91,12 @@ class TbClearAlarmNodeTest { void alarmCanBeCleared() { initWithClearAlarmScript(); metadata.putValue("key", "value"); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, msgOriginator, metadata, "{\"temperature\": 50}"); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(msgOriginator) + .metaData(metadata.copy()) + .data("{\"temperature\": 50}") + .build(); long oldEndDate = System.currentTimeMillis(); Alarm activeAlarm = Alarm.builder().type("SomeType").tenantId(tenantId).originator(msgOriginator).severity(AlarmSeverity.WARNING).endTs(oldEndDate).build(); @@ -143,7 +148,12 @@ class TbClearAlarmNodeTest { void alarmCanBeClearedWithAlarmOriginator() { initWithClearAlarmScript(); metadata.putValue("key", "value"); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, alarmOriginator, metadata, "{\"temperature\": 50}"); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(alarmOriginator) + .metaData(metadata.copy()) + .data("{\"temperature\": 50}") + .build(); long oldEndDate = System.currentTimeMillis(); AlarmId id = new AlarmId(alarmOriginator.getId()); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbCopyAttributesToEntityViewNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbCopyAttributesToEntityViewNodeTest.java index 4166c05a7a..b676816d4f 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbCopyAttributesToEntityViewNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbCopyAttributesToEntityViewNodeTest.java @@ -106,9 +106,12 @@ public class TbCopyAttributesToEntityViewNodeTest { public void givenExistingClientAttributes_whenOnMsg_thenCopyAttributesToView() { EntityView entityView = getEntityView(CLIENT_TELEMETRY_ENTITY_VIEW); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_ATTRIBUTES_REQUEST, DEVICE_ID, - new TbMsgMetaData(Map.of(DataConstants.SCOPE, AttributeScope.SERVER_SCOPE.name())), - "{\"clientAttribute1\": 100, \"clientAttribute2\": \"value2\"}"); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_ATTRIBUTES_REQUEST) + .originator(DEVICE_ID) + .metaData(new TbMsgMetaData(Map.of(DataConstants.SCOPE, AttributeScope.SERVER_SCOPE.name())).copy()) + .data("{\"clientAttribute1\": 100, \"clientAttribute2\": \"value2\"}") + .build(); mockEntityViewLookup(entityView); when(ctxMock.getTelemetryService()).thenReturn(telemetryServiceMock); @@ -140,9 +143,12 @@ public class TbCopyAttributesToEntityViewNodeTest { public void givenExistingServerAttributesAndMsgTypeAttributesDeleted_whenOnMsg_thenDeleteAttributesFromView() { EntityView entityView = getEntityView(SERVER_TELEMETRY_ENTITY_VIEW); - TbMsg msg = TbMsg.newMsg( - ATTRIBUTES_DELETED, DEVICE_ID, new TbMsgMetaData(Map.of(DataConstants.SCOPE, AttributeScope.SERVER_SCOPE.name())), - "{\"attributes\": [\"serverAttribute1\"]}"); + TbMsg msg = TbMsg.builder() + .type(ATTRIBUTES_DELETED) + .originator(DEVICE_ID) + .metaData(new TbMsgMetaData(Map.of(DataConstants.SCOPE, AttributeScope.SERVER_SCOPE.name())).copy()) + .data("{\"attributes\": [\"serverAttribute1\"]}") + .build(); mockEntityViewLookup(entityView); when(ctxMock.getTelemetryService()).thenReturn(telemetryServiceMock); @@ -171,9 +177,12 @@ public class TbCopyAttributesToEntityViewNodeTest { public void givenNonMatchedSharedAttributesAndMsgTypeIsAttributesDeleted_whenOnMsg_thenNoAttributesDeleteFromView() { EntityView entityView = getEntityView(SHARED_TELEMETRY_ENTITY_VIEW); - TbMsg msg = TbMsg.newMsg( - TbMsgType.ATTRIBUTES_DELETED, DEVICE_ID, new TbMsgMetaData(Map.of(DataConstants.SCOPE, AttributeScope.SHARED_SCOPE.name())), - "{\"attributes\": [\"anotherAttribute\"]}"); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.ATTRIBUTES_DELETED) + .originator(DEVICE_ID) + .metaData(new TbMsgMetaData(Map.of(DataConstants.SCOPE, AttributeScope.SHARED_SCOPE.name())).copy()) + .data("{\"attributes\": [\"anotherAttribute\"]}") + .build(); mockEntityViewLookup(entityView); @@ -188,9 +197,12 @@ public class TbCopyAttributesToEntityViewNodeTest { public void givenNonMatchedAttributesAndMsgTypeIsPostAttributesRequest_whenOnMsg_thenCopyNoAttributesToView() { EntityView entityView = getEntityView(CLIENT_TELEMETRY_ENTITY_VIEW); - TbMsg msg = TbMsg.newMsg( - TbMsgType.POST_ATTRIBUTES_REQUEST, DEVICE_ID, new TbMsgMetaData(Map.of(DataConstants.SCOPE, AttributeScope.SERVER_SCOPE.name())), - "{\"clientAttribute2\": \"value2\"}"); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_ATTRIBUTES_REQUEST) + .originator(DEVICE_ID) + .metaData(new TbMsgMetaData(Map.of(DataConstants.SCOPE, AttributeScope.SERVER_SCOPE.name())).copy()) + .data("{\"clientAttribute2\": \"value2\"}") + .build(); mockEntityViewLookup(entityView); when(ctxMock.getTelemetryService()).thenReturn(telemetryServiceMock); @@ -220,9 +232,12 @@ public class TbCopyAttributesToEntityViewNodeTest { ); mockEntityViewLookup(entityView); - TbMsg msg = TbMsg.newMsg( - ATTRIBUTES_DELETED, DEVICE_ID, new TbMsgMetaData(Map.of(DataConstants.SCOPE, AttributeScope.SERVER_SCOPE.name())), - "{\"attributes\": [\"serverAttribute1\"]}"); + TbMsg msg = TbMsg.builder() + .type(ATTRIBUTES_DELETED) + .originator(DEVICE_ID) + .metaData(new TbMsgMetaData(Map.of(DataConstants.SCOPE, AttributeScope.SERVER_SCOPE.name())).copy()) + .data("{\"attributes\": [\"serverAttribute1\"]}") + .build(); node.onMsg(ctxMock, msg); verify(entityViewServiceMock).findEntityViewsByTenantIdAndEntityIdAsync(eq(TENANT_ID), eq(DEVICE_ID)); @@ -233,7 +248,12 @@ public class TbCopyAttributesToEntityViewNodeTest { @ParameterizedTest @EnumSource(TbMsgType.class) public void givenMsgTypeAndEmptyMetadata_whenOnMsg_thenVerifyFailureMsg(TbMsgType msgType) { - TbMsg msg = TbMsg.newMsg(msgType, DEVICE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(msgType) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); node.onMsg(ctxMock, msg); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbCreateAlarmNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbCreateAlarmNodeTest.java index c0e27231c4..a73aa72cec 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbCreateAlarmNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbCreateAlarmNodeTest.java @@ -163,7 +163,12 @@ class TbCreateAlarmNodeTest { var ruleNodeSelfId = new RuleNodeId(Uuids.timeBased()); - var incomingMsg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, msgOriginator, metadata, "{\"temperature\": 50}"); + var incomingMsg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(msgOriginator) + .metaData(metadata.copy()) + .data("{\"temperature\": 50}") + .build(); Alarm existingAlarm = null; @@ -317,7 +322,12 @@ class TbCreateAlarmNodeTest { var ruleNodeSelfId = new RuleNodeId(Uuids.timeBased()); - var incomingMsg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, msgOriginator, metadata, "{\"temperature\": 50, \"alarmType\": \"" + alarmType + "\"}"); + var incomingMsg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(msgOriginator) + .metaData(metadata.copy()) + .data("{\"temperature\": 50, \"alarmType\": \"" + alarmType + "\"}") + .build(); var existingClearedAlarm = Alarm.builder() .tenantId(tenantId) @@ -508,7 +518,12 @@ class TbCreateAlarmNodeTest { var ruleNodeSelfId = new RuleNodeId(Uuids.timeBased()); - var incomingMsg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, msgOriginator, metadata, "{\"temperature\": 50, \"alarmSeverity\": \"" + newAlarmSeverity.name() + "\"}"); + var incomingMsg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(msgOriginator) + .metaData(metadata.copy()) + .data("{\"temperature\": 50, \"alarmSeverity\": \"" + newAlarmSeverity.name() + "\"}") + .build(); var existingAlarmId = new AlarmId(Uuids.timeBased()); var existingActiveAlarm = Alarm.builder() @@ -680,7 +695,12 @@ class TbCreateAlarmNodeTest { var ruleNodeSelfId = new RuleNodeId(Uuids.timeBased()); - var incomingMsg = TbMsg.newMsg(TbMsgType.ALARM, msgOriginator, metadata, JacksonUtil.toString(alarmFromIncomingMessage)); + var incomingMsg = TbMsg.builder() + .type(TbMsgType.ALARM) + .originator(msgOriginator) + .metaData(metadata.copy()) + .data(JacksonUtil.toString(alarmFromIncomingMessage)) + .build(); var existingClearedAlarm = Alarm.builder() .tenantId(tenantId) @@ -867,7 +887,12 @@ class TbCreateAlarmNodeTest { .details(newAlarmDetails) .build(); - var incomingMsg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, msgOriginator, metadata, JacksonUtil.toString(alarmFromIncomingMessage)); + var incomingMsg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(msgOriginator) + .metaData(metadata.copy()) + .data(JacksonUtil.toString(alarmFromIncomingMessage)) + .build(); var existingAlarmId = new AlarmId(Uuids.timeBased()); var existingActiveAlarm = Alarm.builder() @@ -1048,7 +1073,12 @@ class TbCreateAlarmNodeTest { .details(alarmDetails) .build(); - var incomingMsg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, msgOriginator, metadata, JacksonUtil.toString(alarmFromIncomingMessage)); + var incomingMsg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(msgOriginator) + .metaData(metadata.copy()) + .data(JacksonUtil.toString(alarmFromIncomingMessage)) + .build(); var existingAlarmId = new AlarmId(Uuids.timeBased()); var existingActiveAlarm = Alarm.builder() @@ -1189,7 +1219,12 @@ class TbCreateAlarmNodeTest { // GIVEN config = config.defaultConfiguration(); - var incomingMsg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, msgOriginator, metadata, "{\"temperature\": 50}"); + var incomingMsg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(msgOriginator) + .metaData(metadata.copy()) + .data("{\"temperature\": 50}") + .build(); given(ctxMock.getTenantId()).willReturn(tenantId); given(ctxMock.getAlarmService()).willReturn(alarmServiceMock); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbCreateRelationNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbCreateRelationNodeTest.java index 86381634ac..d287bb8e01 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbCreateRelationNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbCreateRelationNodeTest.java @@ -486,7 +486,12 @@ public class TbCreateRelationNodeTest extends AbstractRuleNodeUpgradeTest { when(ctxMock.getRelationService()).thenReturn(relationServiceMock); var mockMethodCallsMap = mockEntityServiceCallsCreateEntityIfNotExistsEnabled(); - var entityCreatedMsg = TbMsg.newMsg(TbMsgType.ENTITY_CREATED, entityId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + var entityCreatedMsg = TbMsg.builder() + .type(TbMsgType.ENTITY_CREATED) + .originator(entityId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); mockMethodCallsMap.get(entityType).accept(entity, entityCreatedMsg); when(relationServiceMock.checkRelationAsync(any(), any(), any(), any(), any())).thenReturn(Futures.immediateFuture(false)); @@ -676,7 +681,12 @@ public class TbCreateRelationNodeTest extends AbstractRuleNodeUpgradeTest { } private TbMsg getTbMsg(EntityId originator, TbMsgMetaData metaData) { - return TbMsg.newMsg(TbMsgType.NA, originator, metaData, TbMsg.EMPTY_JSON_OBJECT); + return TbMsg.builder() + .type(TbMsgType.NA) + .originator(originator) + .metaData(metaData.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); } private TbMsgMetaData getMetadataWithNameTemplate() { diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbDeleteRelationNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbDeleteRelationNodeTest.java index 55461bdd7b..8e9295b3e0 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbDeleteRelationNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbDeleteRelationNodeTest.java @@ -560,7 +560,12 @@ public class TbDeleteRelationNodeTest extends AbstractRuleNodeUpgradeTest { } private TbMsg getTbMsg(EntityId originator, TbMsgMetaData metaData) { - return TbMsg.newMsg(TbMsgType.NA, originator, metaData, TbMsg.EMPTY_JSON_OBJECT); + return TbMsg.builder() + .type(TbMsgType.NA) + .originator(originator) + .metaData(metaData.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); } private TbMsgMetaData getMetadataWithNameTemplate() { diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbDeviceStateNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbDeviceStateNodeTest.java index 9b3d2dc29b..1f8dcd61be 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbDeviceStateNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbDeviceStateNodeTest.java @@ -85,7 +85,12 @@ public class TbDeviceStateNodeTest { metaData.putValue("ts", String.valueOf(METADATA_TS)); var data = JacksonUtil.newObjectNode(); data.put("humidity", 58.3); - msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, metaData, JacksonUtil.toString(data)); + msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(metaData.copy()) + .data(JacksonUtil.toString(data)) + .build(); } @BeforeEach @@ -207,7 +212,12 @@ public class TbDeviceStateNodeTest { return unsupportedType; } }; - var msg = TbMsg.newMsg(TbMsgType.ENTITY_CREATED, nonDeviceOriginator, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + var msg = TbMsg.builder() + .type(TbMsgType.ENTITY_CREATED) + .originator(nonDeviceOriginator) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); // WHEN node.onMsg(ctxMock, msg); @@ -236,7 +246,13 @@ public class TbDeviceStateNodeTest { given(ctxMock.getDeviceStateManager()).willReturn(deviceStateManagerMock); long msgTs = METADATA_TS + 1; - msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT, msgTs); + msg = TbMsg.builder() + .ts(msgTs) + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); // WHEN node.onMsg(ctxMock, msg); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbLogNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbLogNodeTest.java index 7d915f1cc9..63e5639d43 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbLogNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbLogNodeTest.java @@ -50,7 +50,12 @@ public class TbLogNodeTest { TbLogNode node = new TbLogNode(); String data = "{\"key\": \"value\"}"; TbMsgMetaData metaData = new TbMsgMetaData(Map.of("mdKey1", "mdValue1", "mdKey2", "23")); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, TenantId.SYS_TENANT_ID, metaData, data); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(TenantId.SYS_TENANT_ID) + .metaData(metaData.copy()) + .data(data) + .build(); String logMessage = node.toLogMessage(msg); log.info(logMessage); @@ -66,7 +71,12 @@ public class TbLogNodeTest { void givenEmptyDataMsg_whenToLog_thenReturnString() { TbLogNode node = new TbLogNode(); TbMsgMetaData metaData = new TbMsgMetaData(Collections.emptyMap()); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, TenantId.SYS_TENANT_ID, metaData, ""); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(TenantId.SYS_TENANT_ID) + .metaData(metaData.copy()) + .data("") + .build(); String logMessage = node.toLogMessage(msg); log.info(logMessage); @@ -82,7 +92,12 @@ public class TbLogNodeTest { void givenNullDataMsg_whenToLog_thenReturnString() { TbLogNode node = new TbLogNode(); TbMsgMetaData metaData = new TbMsgMetaData(Collections.emptyMap()); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, TenantId.SYS_TENANT_ID, metaData, null); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(TenantId.SYS_TENANT_ID) + .metaData(metaData.copy()) + .data(null) + .build(); String logMessage = node.toLogMessage(msg); log.info(logMessage); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbMsgCountNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbMsgCountNodeTest.java index e1f020f5ff..3c71b09b7d 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbMsgCountNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbMsgCountNodeTest.java @@ -63,7 +63,12 @@ public class TbMsgCountNodeTest { private final DeviceId DEVICE_ID = new DeviceId(UUID.fromString("1b21c7cc-0c9e-4ab1-b867-99451599e146")); private final TenantId TENANT_ID = TenantId.fromUUID(UUID.fromString("04dfbd38-10e5-47b7-925f-11e795db89e1")); - private final TbMsg tickMsg = TbMsg.newMsg(TbMsgType.MSG_COUNT_SELF_MSG, RULE_NODE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_STRING); + private final TbMsg tickMsg = TbMsg.builder() + .type(TbMsgType.MSG_COUNT_SELF_MSG) + .originator(RULE_NODE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_STRING) + .build(); private ScheduledExecutorService executorService; private TbMsgCountNode node; @@ -120,7 +125,12 @@ public class TbMsgCountNodeTest { var expectedProcessedMsgs = new ArrayList(); for (int i = 0; i < msgCount; i++) { - var msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_STRING); + var msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_STRING) + .build(); if (msgWithCounterSent.get()) { break; } @@ -142,7 +152,12 @@ public class TbMsgCountNodeTest { then(ctxMock).should().enqueueForTellNext(msgWithCounterCaptor.capture(), eq(TbNodeConnectionType.SUCCESS)); TbMsg resultedMsg = msgWithCounterCaptor.getValue(); String expectedData = "{\"messageCount_tb-rule-engine\":" + currentMsgNumber + "}"; - TbMsg expectedMsg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, TENANT_ID, TbMsgMetaData.EMPTY, expectedData); + TbMsg expectedMsg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(TENANT_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(expectedData) + .build(); assertThat(resultedMsg).usingRecursiveComparison() .ignoringFields("id", "ts", "ctx", "metaData") .isEqualTo(expectedMsg); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbSaveToCustomCassandraTableNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbSaveToCustomCassandraTableNodeTest.java index 7df2a982de..e211ee6514 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbSaveToCustomCassandraTableNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbSaveToCustomCassandraTableNodeTest.java @@ -185,7 +185,12 @@ public class TbSaveToCustomCassandraTableNodeTest extends AbstractRuleNodeUpgrad node.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(config))); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_STRING); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_STRING) + .build(); assertThatThrownBy(() -> node.onMsg(ctxMock, msg)) .isInstanceOf(IllegalStateException.class) .hasMessage("Invalid message structure, it is not a JSON Object: " + null); @@ -206,7 +211,12 @@ public class TbSaveToCustomCassandraTableNodeTest extends AbstractRuleNodeUpgrad "humidity": 77 } """; - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, data); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(data) + .build(); assertThatThrownBy(() -> node.onMsg(ctxMock, msg)) .isInstanceOf(RuntimeException.class) .hasMessage("Message data doesn't contain key: 'temp'!"); @@ -227,7 +237,12 @@ public class TbSaveToCustomCassandraTableNodeTest extends AbstractRuleNodeUpgrad "temp": [value] } """; - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, data); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(data) + .build(); assertThatThrownBy(() -> node.onMsg(ctxMock, msg)) .isInstanceOf(RuntimeException.class) .hasMessage("Message data key: 'temp' with value: '[\"value\"]' is not a JSON Object or JSON Primitive!"); @@ -249,7 +264,12 @@ public class TbSaveToCustomCassandraTableNodeTest extends AbstractRuleNodeUpgrad mockSubmittingCassandraTask(); node.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(config))); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); node.onMsg(ctxMock, msg); then(sessionMock).should().prepare(expectedQuery); @@ -299,7 +319,12 @@ public class TbSaveToCustomCassandraTableNodeTest extends AbstractRuleNodeUpgrad } } """; - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, data); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(data) + .build(); node.onMsg(ctxMock, msg); verifySettingStatementBuilder(); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbUnassignFromCustomerNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbUnassignFromCustomerNodeTest.java index 8abef77289..65be0c5cff 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbUnassignFromCustomerNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbUnassignFromCustomerNodeTest.java @@ -294,7 +294,12 @@ class TbUnassignFromCustomerNodeTest extends AbstractRuleNodeUpgradeTest { } private TbMsg getTbMsg(EntityId originator) { - return TbMsg.newMsg(TbMsgType.NA, originator, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + return TbMsg.builder() + .type(TbMsgType.NA) + .originator(originator) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); } private static EntityId toOriginator(EntityType type) { diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/lambda/TbAwsLambdaNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/lambda/TbAwsLambdaNodeTest.java index 14ae9bef20..7a96720292 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/lambda/TbAwsLambdaNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/lambda/TbAwsLambdaNodeTest.java @@ -145,7 +145,12 @@ public class TbAwsLambdaNodeTest { config.setFunctionName(functionName); config.setQualifier(qualifier); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, metadata, data); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(metadata.copy()) + .data(data) + .build(); InvokeRequest request = createInvokeRequest(msg); String requestIdStr = "a124af57-e7c3-4ebb-83bf-b09ff86eaa23"; @@ -197,7 +202,12 @@ public class TbAwsLambdaNodeTest { init(); config.setTellFailureIfFuncThrowsExc(true); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_ARRAY); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_ARRAY) + .build(); InvokeRequest request = createInvokeRequest(msg); String requestIdStr = "a124af57-e7c3-4ebb-83bf-b09ff86eaa23"; String errorMsg = "Unhandled exception from function"; @@ -233,7 +243,12 @@ public class TbAwsLambdaNodeTest { public void givenExceptionWasThrownInsideFunctionAndTellFailureIfFuncThrowsExcIsFalse_whenOnMsg_thenTellSuccess() { init(); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); InvokeRequest request = createInvokeRequest(msg); String requestIdStr = "e83dfbc4-68d5-441c-8ee9-289959a30d3b"; String payload = "{\"errorMessage\":\"Something went wrong\",\"errorType\":\"Exception\",\"requestId\":\"" + requestIdStr + "\"}"; @@ -266,7 +281,12 @@ public class TbAwsLambdaNodeTest { public void givenPayloadFromResultIsNull_whenOnMsg_thenTellFailure() { init(); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); InvokeRequest request = createInvokeRequest(msg); String requestIdStr = "12bbb074-e2fc-4381-8f28-d4bd235103d5"; String errorMsg = "Payload from result of AWS Lambda function execution is null."; @@ -300,7 +320,12 @@ public class TbAwsLambdaNodeTest { @Test public void givenExceptionWasThrownOnAWS_whenOnMsg_thenTellFailure() { init(); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); InvokeRequest request = createInvokeRequest(msg); String errorMsg = "Simulated error"; diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/sns/TbSnsNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/sns/TbSnsNodeTest.java index eaa20e7b59..d6161a14ae 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/sns/TbSnsNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/sns/TbSnsNodeTest.java @@ -105,7 +105,12 @@ class TbSnsNodeTest { given(publishResultMock.getSdkResponseMetadata()).willReturn(responseMetadataMock); given(responseMetadataMock.getRequestId()).willReturn(requestId); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, metaData, data); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(metaData.copy()) + .data(data) + .build(); node.onMsg(ctxMock, msg); then(ctxMock).should().ack(msg); @@ -143,7 +148,12 @@ class TbSnsNodeTest { ListenableFuture failedFuture = Futures.immediateFailedFuture(new RuntimeException(errorMsg)); given(listeningExecutor.executeAsync(any(Callable.class))).willReturn(failedFuture); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); node.onMsg(ctxMock, msg); then(ctxMock).should(never()).enqueueForTellNext(any(), any(String.class)); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/sqs/TbSqsNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/sqs/TbSqsNodeTest.java index e8238ce5af..f32ddf665c 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/sqs/TbSqsNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/sqs/TbSqsNodeTest.java @@ -107,7 +107,12 @@ class TbSqsNodeTest { mockSendingMsgRequest(); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, metaData, data); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(metaData.copy()) + .data(data) + .build(); node.onMsg(ctxMock, msg); SendMessageRequest sendMsgRequest = new SendMessageRequest() @@ -143,7 +148,12 @@ class TbSqsNodeTest { mockSendingMsgRequest(); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, metaData, data); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(metaData.copy()) + .data(data) + .build(); node.onMsg(ctxMock, msg); Map messageAttributes = new HashMap<>(); @@ -186,7 +196,12 @@ class TbSqsNodeTest { given(sendMessageResultMock.getMD5OfMessageAttributes()).willReturn(messageAttributesMd5); given(sendMessageResultMock.getSequenceNumber()).willReturn(sequenceNumber); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); node.onMsg(ctxMock, msg); then(ctxMock).should().ack(msg); @@ -221,7 +236,12 @@ class TbSqsNodeTest { ListenableFuture failedFuture = Futures.immediateFailedFuture(new RuntimeException(errorMsg)); given(listeningExecutor.executeAsync(any(Callable.class))).willReturn(failedFuture); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); node.onMsg(ctxMock, msg); then(ctxMock).should(never()).enqueueForTellNext(any(), any(String.class)); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/debug/TbMsgGeneratorNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/debug/TbMsgGeneratorNodeTest.java index 53b8e5f814..9d1ede5bd6 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/debug/TbMsgGeneratorNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/debug/TbMsgGeneratorNodeTest.java @@ -190,7 +190,12 @@ public class TbMsgGeneratorNodeTest extends AbstractRuleNodeUpgradeTest { given(ctxMock.createScriptEngine(any(), any(), any(), any(), any())).willReturn(scriptEngineMock); // creation of tickMsg - TbMsg tickMsg = TbMsg.newMsg(TbMsgType.GENERATOR_NODE_SELF_MSG, RULE_NODE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_STRING); + TbMsg tickMsg = TbMsg.builder() + .type(TbMsgType.GENERATOR_NODE_SELF_MSG) + .originator(RULE_NODE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_STRING) + .build(); given(ctxMock.newMsg(null, TbMsgType.GENERATOR_NODE_SELF_MSG, RULE_NODE_ID, null, TbMsgMetaData.EMPTY, TbMsg.EMPTY_STRING)).willReturn(tickMsg); // invocation of tellSelf() method @@ -203,16 +208,31 @@ public class TbMsgGeneratorNodeTest extends AbstractRuleNodeUpgradeTest { }).given(ctxMock).tellSelf(any(), any(Long.class)); // creation of first message - TbMsg firstMsg = TbMsg.newMsg(TbMsg.EMPTY_STRING, RULE_NODE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg firstMsg = TbMsg.builder() + .type(TbMsg.EMPTY_STRING) + .originator(RULE_NODE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); given(ctxMock.newMsg(null, TbMsg.EMPTY_STRING, RULE_NODE_ID, null, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT)).willReturn(firstMsg); // creation of generated message TbMsgMetaData metaData = new TbMsgMetaData(Map.of("data", "40")); - TbMsg generatedMsg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, RULE_NODE_ID, metaData, "{ \"temp\": 42, \"humidity\": 77 }"); + TbMsg generatedMsg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(RULE_NODE_ID) + .metaData(metaData.copy()) + .data("{ \"temp\": 42, \"humidity\": 77 }") + .build(); given(scriptEngineMock.executeGenerateAsync(any())).willReturn(Futures.immediateFuture(generatedMsg)); // creation of prev message - TbMsg prevMsg = TbMsg.newMsg(generatedMsg.getType(), RULE_NODE_ID, generatedMsg.getMetaData(), generatedMsg.getData()); + TbMsg prevMsg = TbMsg.builder() + .type(generatedMsg.getType()) + .originator(RULE_NODE_ID) + .metaData(generatedMsg.getMetaData().copy()) + .data(generatedMsg.getData()) + .build(); given(ctxMock.newMsg(null, generatedMsg.getType(), RULE_NODE_ID, null, generatedMsg.getMetaData(), generatedMsg.getData())).willReturn(prevMsg); // WHEN diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/edge/TbMsgPushToEdgeNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/edge/TbMsgPushToEdgeNodeTest.java index 621a1a4ba2..e45e5fc0f1 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/edge/TbMsgPushToEdgeNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/edge/TbMsgPushToEdgeNodeTest.java @@ -85,8 +85,15 @@ public class TbMsgPushToEdgeNodeTest { Mockito.when(ctx.getEdgeService()).thenReturn(edgeService); Mockito.when(edgeService.findRelatedEdgeIdsByEntityId(tenantId, deviceId, new PageLink(RELATED_EDGES_CACHE_ITEMS))).thenReturn(new PageData<>()); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, deviceId, TbMsgMetaData.EMPTY, - TbMsgDataType.JSON, TbMsg.EMPTY_JSON_OBJECT, null, null); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .dataType(TbMsgDataType.JSON) + .data(TbMsg.EMPTY_JSON_OBJECT) + .ruleChainId(null) + .ruleNodeId(null) + .build(); node.onMsg(ctx, msg); @@ -106,8 +113,15 @@ public class TbMsgPushToEdgeNodeTest { PageData edgePageData = new PageData<>(List.of(edgeId), 1, 1, false); Mockito.when(edgeService.findRelatedEdgeIdsByEntityId(tenantId, userId, new PageLink(RELATED_EDGES_CACHE_ITEMS))).thenReturn(edgePageData); - TbMsg msg = TbMsg.newMsg(TbMsgType.ATTRIBUTES_UPDATED, userId, TbMsgMetaData.EMPTY, - TbMsgDataType.JSON, TbMsg.EMPTY_JSON_OBJECT, null, null); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.ATTRIBUTES_UPDATED) + .originator(userId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .dataType(TbMsgDataType.JSON) + .data(TbMsg.EMPTY_JSON_OBJECT) + .ruleChainId(null) + .ruleNodeId(null) + .build(); node.onMsg(ctx, msg); @@ -137,8 +151,15 @@ public class TbMsgPushToEdgeNodeTest { Mockito.when(ctx.getDbCallbackExecutor()).thenReturn(dbCallbackExecutor); Mockito.when(edgeEventService.saveAsync(any())).thenReturn(SettableFuture.create()); - TbMsg msg = TbMsg.newMsg(event, new EdgeId(UUID.randomUUID()), metaData, - TbMsgDataType.JSON, "{\"lastConnectTs\":1}", null, null); + TbMsg msg = TbMsg.builder() + .type(event) + .originator(new EdgeId(UUID.randomUUID())) + .metaData(metaData.copy()) + .dataType(TbMsgDataType.JSON) + .data("{\"lastConnectTs\":1}") + .ruleChainId(null) + .ruleNodeId(null) + .build(); node.onMsg(ctx, msg); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbAssetTypeSwitchNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbAssetTypeSwitchNodeTest.java index f072eb1723..22c7997983 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbAssetTypeSwitchNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbAssetTypeSwitchNodeTest.java @@ -118,7 +118,13 @@ class TbAssetTypeSwitchNodeTest { } private TbMsg getTbMsg(EntityId entityId) { - return TbMsg.newMsg(TbMsgType.POST_ATTRIBUTES_REQUEST, entityId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT, callback); + return TbMsg.builder() + .type(TbMsgType.POST_ATTRIBUTES_REQUEST) + .originator(entityId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .callback(callback) + .build(); } } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckAlarmStatusNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckAlarmStatusNodeTest.java index 5b71db5dfb..5aa9b9769f 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckAlarmStatusNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckAlarmStatusNodeTest.java @@ -174,7 +174,12 @@ class TbCheckAlarmStatusNodeTest { } private TbMsg getTbMsg(String msgData) { - return TbMsg.newMsg(TbMsgType.POST_ATTRIBUTES_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, msgData); + return TbMsg.builder() + .type(TbMsgType.POST_ATTRIBUTES_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(msgData) + .build(); } } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckMessageNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckMessageNodeTest.java index ce8afbbe99..a1dcd7d526 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckMessageNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckMessageNodeTest.java @@ -44,7 +44,12 @@ import static org.mockito.Mockito.verify; class TbCheckMessageNodeTest { private static final DeviceId DEVICE_ID = new DeviceId(UUID.randomUUID()); - private static final TbMsg EMPTY_POST_ATTRIBUTES_MSG = TbMsg.newMsg(TbMsgType.POST_ATTRIBUTES_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + private static final TbMsg EMPTY_POST_ATTRIBUTES_MSG = TbMsg.builder() + .type(TbMsgType.POST_ATTRIBUTES_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); private TbCheckMessageNode node; @@ -196,7 +201,12 @@ class TbCheckMessageNodeTest { metadata.putValue(DataConstants.DEVICE_NAME, "Test Device"); metadata.putValue(DataConstants.DEVICE_TYPE, DataConstants.DEFAULT_DEVICE_TYPE); metadata.putValue("ts", String.valueOf(System.currentTimeMillis())); - return TbMsg.newMsg(TbMsgType.POST_ATTRIBUTES_REQUEST, DEVICE_ID, metadata, data); + return TbMsg.builder() + .type(TbMsgType.POST_ATTRIBUTES_REQUEST) + .originator(DEVICE_ID) + .metaData(metadata.copy()) + .data(data) + .build(); } } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckRelationNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckRelationNodeTest.java index e445b93455..d6a9f98ac0 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckRelationNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckRelationNodeTest.java @@ -66,7 +66,12 @@ class TbCheckRelationNodeTest extends AbstractRuleNodeUpgradeTest { private final TenantId TENANT_ID = new TenantId(UUID.randomUUID()); private final DeviceId ORIGINATOR_ID = new DeviceId(UUID.randomUUID()); private final TestDbCallbackExecutor DB_EXECUTOR = new TestDbCallbackExecutor(); - private final TbMsg EMPTY_POST_ATTRIBUTES_MSG = TbMsg.newMsg(TbMsgType.POST_ATTRIBUTES_REQUEST, ORIGINATOR_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + private final TbMsg EMPTY_POST_ATTRIBUTES_MSG = TbMsg.builder() + .type(TbMsgType.POST_ATTRIBUTES_REQUEST) + .originator(ORIGINATOR_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); private TbCheckRelationNode node; diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbDeviceTypeSwitchNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbDeviceTypeSwitchNodeTest.java index 707df26d0f..ab446f3215 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbDeviceTypeSwitchNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbDeviceTypeSwitchNodeTest.java @@ -118,6 +118,12 @@ class TbDeviceTypeSwitchNodeTest { } private TbMsg getTbMsg(EntityId entityId) { - return TbMsg.newMsg(TbMsgType.POST_ATTRIBUTES_REQUEST, entityId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT, callback); + return TbMsg.builder() + .type(TbMsgType.POST_ATTRIBUTES_REQUEST) + .originator(entityId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .callback(callback) + .build(); } } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbJsFilterNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbJsFilterNodeTest.java index b991b7b220..c38461d08b 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbJsFilterNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbJsFilterNodeTest.java @@ -59,7 +59,15 @@ public class TbJsFilterNodeTest { @Test public void falseEvaluationDoNotSendMsg() throws TbNodeException { initWithScript(); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, null, TbMsgMetaData.EMPTY, TbMsgDataType.JSON, TbMsg.EMPTY_JSON_OBJECT, ruleChainId, ruleNodeId); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(null) + .metaData(TbMsgMetaData.EMPTY.copy()) + .dataType(TbMsgDataType.JSON) + .data(TbMsg.EMPTY_JSON_OBJECT) + .ruleChainId(ruleChainId) + .ruleNodeId(ruleNodeId) + .build(); when(scriptEngine.executeFilterAsync(msg)).thenReturn(Futures.immediateFuture(false)); node.onMsg(ctx, msg); @@ -71,7 +79,15 @@ public class TbJsFilterNodeTest { public void exceptionInJsThrowsException() throws TbNodeException { initWithScript(); TbMsgMetaData metaData = new TbMsgMetaData(); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, null, metaData, TbMsgDataType.JSON, TbMsg.EMPTY_JSON_OBJECT, ruleChainId, ruleNodeId); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(null) + .metaData(metaData.copy()) + .dataType(TbMsgDataType.JSON) + .data(TbMsg.EMPTY_JSON_OBJECT) + .ruleChainId(ruleChainId) + .ruleNodeId(ruleNodeId) + .build(); when(scriptEngine.executeFilterAsync(msg)).thenReturn(Futures.immediateFailedFuture(new ScriptException("error"))); @@ -83,7 +99,15 @@ public class TbJsFilterNodeTest { public void metadataConditionCanBeTrue() throws TbNodeException { initWithScript(); TbMsgMetaData metaData = new TbMsgMetaData(); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, null, metaData, TbMsgDataType.JSON, TbMsg.EMPTY_JSON_OBJECT, ruleChainId, ruleNodeId); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(null) + .metaData(metaData.copy()) + .dataType(TbMsgDataType.JSON) + .data(TbMsg.EMPTY_JSON_OBJECT) + .ruleChainId(ruleChainId) + .ruleNodeId(ruleNodeId) + .build(); when(scriptEngine.executeFilterAsync(msg)).thenReturn(Futures.immediateFuture(true)); node.onMsg(ctx, msg); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbJsSwitchNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbJsSwitchNodeTest.java index ff7a40644b..908e941355 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbJsSwitchNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbJsSwitchNodeTest.java @@ -59,7 +59,15 @@ public class TbJsSwitchNodeTest { metaData.putValue("humidity", "99"); String rawJson = "{\"name\": \"Vit\", \"passed\": 5}"; - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, null, metaData, TbMsgDataType.JSON, rawJson, ruleChainId, ruleNodeId); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(null) + .metaData(metaData.copy()) + .dataType(TbMsgDataType.JSON) + .data(rawJson) + .ruleChainId(ruleChainId) + .ruleNodeId(ruleNodeId) + .build(); when(scriptEngine.executeSwitchAsync(msg)).thenReturn(Futures.immediateFuture(Sets.newHashSet("one", "three"))); node.onMsg(ctx, msg); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbMsgTypeFilterNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbMsgTypeFilterNodeTest.java index c760a295e2..554b41aebf 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbMsgTypeFilterNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbMsgTypeFilterNodeTest.java @@ -97,7 +97,12 @@ class TbMsgTypeFilterNodeTest { } private TbMsg getTbMsg(EntityId entityId, TbMsgType msgType) { - return TbMsg.newMsg(msgType, entityId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + return TbMsg.builder() + .type(msgType) + .originator(entityId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); } } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbMsgTypeSwitchNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbMsgTypeSwitchNodeTest.java index cc771de1d1..2668588f91 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbMsgTypeSwitchNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbMsgTypeSwitchNodeTest.java @@ -89,7 +89,12 @@ class TbMsgTypeSwitchNodeTest { } private TbMsg getTbMsg(TbMsgType msgType) { - return TbMsg.newMsg(msgType, DEVICE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + return TbMsg.builder() + .type(msgType) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); } } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbOriginatorTypeFilterNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbOriginatorTypeFilterNodeTest.java index b1f6c59407..e3bc8662d7 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbOriginatorTypeFilterNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbOriginatorTypeFilterNodeTest.java @@ -96,7 +96,12 @@ class TbOriginatorTypeFilterNodeTest { } private TbMsg getTbMsg(EntityId entityId) { - return TbMsg.newMsg(TbMsgType.POST_ATTRIBUTES_REQUEST, entityId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + return TbMsg.builder() + .type(TbMsgType.POST_ATTRIBUTES_REQUEST) + .originator(entityId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); } } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbOriginatorTypeSwitchNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbOriginatorTypeSwitchNodeTest.java index fd67fa16b8..914e6dfee3 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbOriginatorTypeSwitchNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbOriginatorTypeSwitchNodeTest.java @@ -90,7 +90,12 @@ class TbOriginatorTypeSwitchNodeTest { } private TbMsg getTbMsg(EntityId entityId) { - return TbMsg.newMsg(TbMsgType.POST_ATTRIBUTES_REQUEST, entityId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + return TbMsg.builder() + .type(TbMsgType.POST_ATTRIBUTES_REQUEST) + .originator(entityId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); } } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbAckNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbAckNodeTest.java index 49e92f2d74..08b3eff39a 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbAckNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbAckNodeTest.java @@ -67,7 +67,12 @@ public class TbAckNodeTest { public void givenMsg_whenOnMsg_thenAckAndTellSuccess() throws TbNodeException { node.init(ctxMock, nodeConfiguration); DeviceId deviceId = new DeviceId(UUID.fromString("5770153d-6ca2-4447-8a54-5d8a4538e052")); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, deviceId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); node.onMsg(ctxMock, msg); then(ctxMock).should().ack(msg); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbCheckpointNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbCheckpointNodeTest.java index e596c71d1e..777c93c3f5 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbCheckpointNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbCheckpointNodeTest.java @@ -87,7 +87,12 @@ public class TbCheckpointNodeTest extends AbstractRuleNodeUpgradeTest { given(ctxMock.getQueueName()).willReturn(queueName); node.init(ctxMock, nodeConfiguration); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); node.onMsg(ctxMock, msg); ArgumentCaptor onSuccess = ArgumentCaptor.forClass(Runnable.class); @@ -101,7 +106,12 @@ public class TbCheckpointNodeTest extends AbstractRuleNodeUpgradeTest { given(ctxMock.getQueueName()).willReturn(DataConstants.HP_QUEUE_NAME); node.init(ctxMock, nodeConfiguration); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); node.onMsg(ctxMock, msg); ArgumentCaptor> onFailure = ArgumentCaptor.forClass(Consumer.class); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbRuleChainInputNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbRuleChainInputNodeTest.java index 680d106d1e..91e89afd2e 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbRuleChainInputNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbRuleChainInputNodeTest.java @@ -300,6 +300,11 @@ public class TbRuleChainInputNodeTest extends AbstractRuleNodeUpgradeTest { } private TbMsg getMsg(EntityId entityId) { - return TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, entityId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_STRING); + return TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(entityId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_STRING) + .build(); } } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbRuleChainOutputNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbRuleChainOutputNodeTest.java index 5c678e5c50..623e40c130 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbRuleChainOutputNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbRuleChainOutputNodeTest.java @@ -74,7 +74,12 @@ public class TbRuleChainOutputNodeTest { node.init(ctxMock, nodeConfiguration); DeviceId deviceId = new DeviceId(UUID.fromString("f514da88-79b3-46da-9f02-1747c5e84f44")); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, deviceId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); node.onMsg(ctxMock, msg); then(ctxMock).should().output(msg, "test"); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/gcp/pubsub/TbPubSubNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/gcp/pubsub/TbPubSubNodeTest.java index 309023b3c6..94e7e36384 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/gcp/pubsub/TbPubSubNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/gcp/pubsub/TbPubSubNodeTest.java @@ -118,7 +118,12 @@ class TbPubSubNodeTest { given(ctxMock.getExternalCallExecutor()).willReturn(executor); node.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(config))); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, metaData, data); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(metaData.copy()) + .data(data) + .build(); node.onMsg(ctxMock, msg); then(ctxMock).should().ack(msg); @@ -164,7 +169,12 @@ class TbPubSubNodeTest { node.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(config))); TbMsgMetaData metadata = new TbMsgMetaData(); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, metadata, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(metadata.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); node.onMsg(ctxMock, msg); then(ctxMock).should(never()).ack(msg); @@ -193,7 +203,12 @@ class TbPubSubNodeTest { node.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(config))); TbMsgMetaData metaData = new TbMsgMetaData(); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, metaData, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(metaData.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); node.onMsg(ctxMock, msg); then(ctxMock).should(never()).ack(any()); @@ -221,7 +236,12 @@ class TbPubSubNodeTest { node.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(config))); TbMsgMetaData metaData = new TbMsgMetaData(); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, metaData, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(metaData.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); node.onMsg(ctxMock, msg); then(ctxMock).should().ack(msg); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/geo/TbGpsGeofencingActionNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/geo/TbGpsGeofencingActionNodeTest.java index a0b57ba948..cb5c7fa87c 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/geo/TbGpsGeofencingActionNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/geo/TbGpsGeofencingActionNodeTest.java @@ -164,7 +164,12 @@ class TbGpsGeofencingActionNodeTest extends AbstractRuleNodeUpgradeTest { private TbMsg getTbMsg(EntityId entityId, TbMsgMetaData metadata, double latitude, double longitude) { String data = "{\"latitude\": " + latitude + ", \"longitude\": " + longitude + "}"; - return TbMsg.newMsg(TbMsgType.POST_ATTRIBUTES_REQUEST, entityId, metadata, data); + return TbMsg.builder() + .type(TbMsgType.POST_ATTRIBUTES_REQUEST) + .originator(entityId) + .metaData(metadata.copy()) + .data(data) + .build(); } private TbMsgMetaData getMetadataForNewVersionPolygonPerimeter() { diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/geo/TbGpsGeofencingFilterNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/geo/TbGpsGeofencingFilterNodeTest.java index 10968516e6..fe54dec117 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/geo/TbGpsGeofencingFilterNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/geo/TbGpsGeofencingFilterNodeTest.java @@ -448,11 +448,21 @@ class TbGpsGeofencingFilterNodeTest { private TbMsg getTbMsg(EntityId entityId, TbMsgMetaData metadata, double latitude, double longitude) { String data = "{\"latitude\": " + latitude + ", \"longitude\": " + longitude + "}"; - return TbMsg.newMsg(TbMsgType.POST_ATTRIBUTES_REQUEST, entityId, metadata, data); + return TbMsg.builder() + .type(TbMsgType.POST_ATTRIBUTES_REQUEST) + .originator(entityId) + .metaData(metadata.copy()) + .data(data) + .build(); } private TbMsg getEmptyArrayTbMsg(EntityId entityId) { - return TbMsg.newMsg(TbMsgType.POST_ATTRIBUTES_REQUEST, entityId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_ARRAY); + return TbMsg.builder() + .type(TbMsgType.POST_ATTRIBUTES_REQUEST) + .originator(entityId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_ARRAY) + .build(); } } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/kafka/TbKafkaNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/kafka/TbKafkaNodeTest.java index add12dcec2..196b2aa8b8 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/kafka/TbKafkaNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/kafka/TbKafkaNodeTest.java @@ -188,7 +188,12 @@ public class TbKafkaNodeTest { ReflectionTestUtils.setField(node, "initError", new ThingsboardKafkaClientError(errorMsg)); // WHEN - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); node.onMsg(ctxMock, msg); // THEN @@ -212,7 +217,12 @@ public class TbKafkaNodeTest { // WHEN node.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(config))); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); node.onMsg(ctxMock, msg); // THEN @@ -232,7 +242,12 @@ public class TbKafkaNodeTest { // GIVEN config.setTopicPattern(topicPattern); config.setKeyPattern(keyPattern); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, metaData, data); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(metaData.copy()) + .data(data) + .build(); String topic = TbNodeUtils.processPattern(topicPattern, msg); String key = TbNodeUtils.processPattern(keyPattern, msg); @@ -278,7 +293,12 @@ public class TbKafkaNodeTest { // WHEN node.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(config))); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); node.onMsg(ctxMock, msg); // THEN @@ -303,7 +323,12 @@ public class TbKafkaNodeTest { // WHEN node.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(config))); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); node.onMsg(ctxMock, msg); // THEN @@ -331,7 +356,12 @@ public class TbKafkaNodeTest { node.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(config))); TbMsgMetaData metaData = new TbMsgMetaData(); metaData.putValue("key", "value"); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, metaData, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(metaData.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); node.onMsg(ctxMock, msg); // THEN diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/mail/TbMsgToEmailNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/mail/TbMsgToEmailNodeTest.java index 5ea816a1eb..4036dfd6b0 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/mail/TbMsgToEmailNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/mail/TbMsgToEmailNodeTest.java @@ -103,7 +103,12 @@ public class TbMsgToEmailNodeTest { } var msgDataStr = "{\"temperature\": " + EXPECTED_TEMPERATURE + "}"; - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, originator, md, msgDataStr); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(originator) + .metaData(md.copy()) + .data(msgDataStr) + .build(); // WHEN node.onMsg(ctxMock, msg); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/math/TbMathNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/math/TbMathNodeTest.java index ba81fbad20..17256cfac0 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/math/TbMathNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/math/TbMathNodeTest.java @@ -173,7 +173,12 @@ public class TbMathNodeTest { metaData.putValue("key2", "argumentA"); ObjectNode msgNode = JacksonUtil.newObjectNode() .put("key3", "argumentB").put("argumentA", 2).put("argumentB", 2); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, originator, metaData, msgNode.toString()); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(originator) + .metaData(metaData.copy()) + .data(msgNode.toString()) + .build(); node.onMsg(ctx, msg); @@ -181,7 +186,12 @@ public class TbMathNodeTest { metaData.putValue("key2", "argumentC"); msgNode = JacksonUtil.newObjectNode() .put("key3", "argumentD").put("argumentC", 4).put("argumentD", 3); - msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, originator, metaData, msgNode.toString()); + msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(originator) + .metaData(metaData.copy()) + .data(msgNode.toString()) + .build(); node.onMsg(ctx, msg); @@ -228,7 +238,12 @@ public class TbMathNodeTest { new TbMathArgument(TbMathArgumentType.MESSAGE_BODY, "b") ); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, originator, TbMsgMetaData.EMPTY, JacksonUtil.newObjectNode().put("a", arg1).put("b", arg2).toString()); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(originator) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(JacksonUtil.newObjectNode().put("a", arg1).put("b", arg2).toString()) + .build(); node.onMsg(ctx, msg); @@ -291,7 +306,12 @@ public class TbMathNodeTest { new TbMathArgument(TbMathArgumentType.MESSAGE_BODY, "a") ); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, originator, TbMsgMetaData.EMPTY, JacksonUtil.newObjectNode().put("a", arg1).toString()); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(originator) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(JacksonUtil.newObjectNode().put("a", arg1).toString()) + .build(); node.onMsg(ctx, msg); @@ -314,7 +334,12 @@ public class TbMathNodeTest { new TbMathArgument(TbMathArgumentType.MESSAGE_BODY, "b") ); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, originator, TbMsgMetaData.EMPTY, JacksonUtil.newObjectNode().put("a", 2).put("b", 2).toString()); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(originator) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(JacksonUtil.newObjectNode().put("a", 2).put("b", 2).toString()) + .build(); node.onMsg(ctx, msg); @@ -337,7 +362,12 @@ public class TbMathNodeTest { new TbMathArgument(TbMathArgumentType.MESSAGE_BODY, "b") ); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, originator, TbMsgMetaData.EMPTY, JacksonUtil.newObjectNode().put("a", 2).put("b", 2).toString()); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(originator) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(JacksonUtil.newObjectNode().put("a", 2).put("b", 2).toString()) + .build(); node.onMsg(ctx, msg); @@ -361,7 +391,12 @@ public class TbMathNodeTest { new TbMathArgument(TbMathArgumentType.TIME_SERIES, "b") ); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, originator, TbMsgMetaData.EMPTY, JacksonUtil.newObjectNode().toString()); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(originator) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(JacksonUtil.newObjectNode().toString()) + .build(); when(attributesService.find(tenantId, originator, AttributeScope.SERVER_SCOPE, "a")) .thenReturn(Futures.immediateFuture(Optional.of(new BaseAttributeKvEntry(System.currentTimeMillis(), new DoubleDataEntry("a", 2.0))))); @@ -389,7 +424,12 @@ public class TbMathNodeTest { new TbMathArgument(TbMathArgumentType.MESSAGE_BODY, "a") ); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, originator, TbMsgMetaData.EMPTY, JacksonUtil.newObjectNode().put("a", 5).toString()); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(originator) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(JacksonUtil.newObjectNode().put("a", 5).toString()) + .build(); node.onMsg(ctx, msg); @@ -411,7 +451,12 @@ public class TbMathNodeTest { new TbMathArgument(TbMathArgumentType.MESSAGE_BODY, "a") ); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, originator, TbMsgMetaData.EMPTY, JacksonUtil.newObjectNode().put("a", 5).toString()); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(originator) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(JacksonUtil.newObjectNode().put("a", 5).toString()) + .build(); node.onMsg(ctx, msg); @@ -433,7 +478,12 @@ public class TbMathNodeTest { new TbMathArgument(TbMathArgumentType.MESSAGE_BODY, "a") ); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, originator, TbMsgMetaData.EMPTY, JacksonUtil.newObjectNode().put("a", 5).toString()); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(originator) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(JacksonUtil.newObjectNode().put("a", 5).toString()) + .build(); when(telemetryService.saveAttrAndNotify(any(), any(), any(AttributeScope.class), anyString(), anyDouble())) .thenReturn(Futures.immediateFuture(null)); @@ -459,7 +509,12 @@ public class TbMathNodeTest { new TbMathArgument(TbMathArgumentType.MESSAGE_BODY, "a") ); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, originator, TbMsgMetaData.EMPTY, JacksonUtil.newObjectNode().put("a", 5).toString()); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(originator) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(JacksonUtil.newObjectNode().put("a", 5).toString()) + .build(); when(telemetryService.saveAndNotify(any(), any(), any(TsKvEntry.class))) .thenReturn(Futures.immediateFuture(null)); @@ -484,7 +539,12 @@ public class TbMathNodeTest { new TbMathArgument(TbMathArgumentType.MESSAGE_BODY, "a") ); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, originator, TbMsgMetaData.EMPTY, JacksonUtil.newObjectNode().put("a", 5).toString()); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(originator) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(JacksonUtil.newObjectNode().put("a", 5).toString()) + .build(); when(telemetryService.saveAndNotify(any(), any(), any(TsKvEntry.class))) .thenReturn(Futures.immediateFuture(null)); @@ -515,7 +575,12 @@ public class TbMathNodeTest { new TbMathResult(TbMathArgumentType.MESSAGE_METADATA, "result", 3, false, false, null), tbMathArgument ); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, originator, TbMsgMetaData.EMPTY, JacksonUtil.newObjectNode().put("a", 10).toString()); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(originator) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(JacksonUtil.newObjectNode().put("a", 10).toString()) + .build(); node.onMsg(ctx, msg); ArgumentCaptor msgCaptor = ArgumentCaptor.forClass(TbMsg.class); @@ -535,7 +600,12 @@ public class TbMathNodeTest { new TbMathResult(TbMathArgumentType.TIME_SERIES, "result", 3, true, false, DataConstants.SERVER_SCOPE), new TbMathArgument(TbMathArgumentType.MESSAGE_BODY, "TestKey") ); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, originator, TbMsgMetaData.EMPTY, JacksonUtil.newObjectNode().put("a", 10).toString()); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(originator) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(JacksonUtil.newObjectNode().put("a", 10).toString()) + .build(); node.onMsg(ctx, msg); ArgumentCaptor tCaptor = ArgumentCaptor.forClass(Throwable.class); @@ -550,7 +620,12 @@ public class TbMathNodeTest { new TbMathArgument(TbMathArgumentType.MESSAGE_BODY, "a") ); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, originator, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_ARRAY); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(originator) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_ARRAY) + .build(); node.onMsg(ctx, msg); ArgumentCaptor tCaptor = ArgumentCaptor.forClass(Throwable.class); @@ -570,10 +645,20 @@ public class TbMathNodeTest { CountDownLatch slowProcessingLatch = new CountDownLatch(1); List slowMsgList = IntStream.range(0, 5) - .mapToObj(x -> TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, originatorSlow, TbMsgMetaData.EMPTY, JacksonUtil.newObjectNode().put("a", 2).put("b", 2).toString())) + .mapToObj(x -> TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(originatorSlow) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(JacksonUtil.newObjectNode().put("a", 2).put("b", 2).toString()) + .build()) .toList(); List fastMsgList = IntStream.range(0, 2) - .mapToObj(x -> TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, originatorFast, TbMsgMetaData.EMPTY, JacksonUtil.newObjectNode().put("a", 2).put("b", 2).toString())) + .mapToObj(x -> TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(originatorFast) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(JacksonUtil.newObjectNode().put("a", 2).put("b", 2).toString()) + .build()) .toList(); assertThat(slowMsgList.size()).as("slow msgs >= rule-dispatcher pool size").isGreaterThanOrEqualTo(RULE_DISPATCHER_POOL_SIZE); @@ -640,7 +725,12 @@ public class TbMathNodeTest { CountDownLatch slowProcessingLatch = new CountDownLatch(1); List slowMsgList = IntStream.range(0, 5) - .mapToObj(x -> TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, originatorSlow, TbMsgMetaData.EMPTY, JacksonUtil.newObjectNode().put("a", 2).put("b", 2).toString())) + .mapToObj(x -> TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(originatorSlow) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(JacksonUtil.newObjectNode().put("a", 2).put("b", 2).toString()) + .build()) .collect(Collectors.toList()); assertThat(slowMsgList.size()).as("slow msgs >= rule-dispatcher pool size").isGreaterThanOrEqualTo(RULE_DISPATCHER_POOL_SIZE); @@ -713,7 +803,12 @@ public class TbMathNodeTest { }) .toList(); ctxNodes.forEach(ctxNode -> ruleEngineDispatcherExecutor.executeAsync(() -> ctxNode.getRight() - .onMsg(ctxNode.getLeft(), TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, originator, TbMsgMetaData.EMPTY, "{\"a\":2,\"b\":2}")))); + .onMsg(ctxNode.getLeft(), TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(originator) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data("{\"a\":2,\"b\":2}") + .build()))); ctxNodes.forEach(ctxNode -> verify(ctxNode.getRight(), timeout(TIMEOUT)).onMsg(eq(ctxNode.getLeft()), any())); processingLatch.countDown(); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/CalculateDeltaNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/CalculateDeltaNodeTest.java index 1b2ff4f2bf..c5a0ba4314 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/CalculateDeltaNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/CalculateDeltaNodeTest.java @@ -169,7 +169,12 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { // GIVEN node.init(ctxMock, nodeConfiguration); var msgData = "{\"pulseCounter\": 42}"; - var msg = TbMsg.newMsg(TbMsgType.POST_ATTRIBUTES_REQUEST, DUMMY_DEVICE_ORIGINATOR, TbMsgMetaData.EMPTY, msgData); + var msg = TbMsg.builder() + .type(TbMsgType.POST_ATTRIBUTES_REQUEST) + .originator(DUMMY_DEVICE_ORIGINATOR) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(msgData) + .build(); // WHEN node.onMsg(ctxMock, msg); @@ -184,7 +189,12 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { public void givenInvalidMsgDataType_whenOnMsg_thenShouldTellNextOther() throws TbNodeException { // GIVEN node.init(ctxMock, nodeConfiguration); - var msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DUMMY_DEVICE_ORIGINATOR, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_ARRAY); + var msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DUMMY_DEVICE_ORIGINATOR) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_ARRAY) + .build(); // WHEN node.onMsg(ctxMock, msg); @@ -200,7 +210,12 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { public void givenInputKeyIsNotPresent_whenOnMsg_thenShouldTellNextOther() throws TbNodeException { // GIVEN node.init(ctxMock, nodeConfiguration); - var msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DUMMY_DEVICE_ORIGINATOR, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + var msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DUMMY_DEVICE_ORIGINATOR) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); // WHEN node.onMsg(ctxMock, msg); @@ -224,7 +239,12 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { mockFindLatestAsync(new BasicTsKvEntry(System.currentTimeMillis(), new DoubleDataEntry("temperature", 40.5))); var msgData = "{\"temperature\": 42,\"airPressure\":123}"; - var msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DUMMY_DEVICE_ORIGINATOR, TbMsgMetaData.EMPTY, msgData); + var msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DUMMY_DEVICE_ORIGINATOR) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(msgData) + .build(); // WHEN node.onMsg(ctxMock, msg); @@ -254,7 +274,12 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { mockFindLatestAsync(new BasicTsKvEntry(System.currentTimeMillis(), new LongDataEntry("temperature", 40L))); var msgData = "{\"temperature\": 42,\"airPressure\":123}"; - var msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DUMMY_DEVICE_ORIGINATOR, TbMsgMetaData.EMPTY, msgData); + var msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DUMMY_DEVICE_ORIGINATOR) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(msgData) + .build(); // WHEN node.onMsg(ctxMock, msg); @@ -284,7 +309,12 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { mockFindLatestAsync(new BasicTsKvEntry(System.currentTimeMillis(), new StringDataEntry("temperature", "40.0"))); var msgData = "{\"temperature\": 42,\"airPressure\":123}"; - var msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DUMMY_DEVICE_ORIGINATOR, TbMsgMetaData.EMPTY, msgData); + var msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DUMMY_DEVICE_ORIGINATOR) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(msgData) + .build(); // WHEN node.onMsg(ctxMock, msg); @@ -318,7 +348,12 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { var msgData = "{\"temperature\": 42,\"airPressure\":123}"; var firstMsgMetaData = new TbMsgMetaData(); firstMsgMetaData.putValue("ts", String.valueOf(3L)); - var firstMsg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DUMMY_DEVICE_ORIGINATOR, firstMsgMetaData, msgData); + var firstMsg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DUMMY_DEVICE_ORIGINATOR) + .metaData(firstMsgMetaData.copy()) + .data(msgData) + .build(); // WHEN node.onMsg(ctxMock, firstMsg); @@ -344,7 +379,12 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { var secondMsgMetaData = new TbMsgMetaData(); secondMsgMetaData.putValue("ts", String.valueOf(6L)); - var secondMsg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DUMMY_DEVICE_ORIGINATOR, secondMsgMetaData, msgData); + var secondMsg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DUMMY_DEVICE_ORIGINATOR) + .metaData(secondMsgMetaData.copy()) + .data(msgData) + .build(); // WHEN node.onMsg(ctxMock, secondMsg); @@ -375,7 +415,12 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { mockFindLatestAsync(new BasicTsKvEntry(System.currentTimeMillis(), new DoubleDataEntry("temperature", null))); var msgData = "{\"temperature\": 42,\"airPressure\":123}"; - var msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DUMMY_DEVICE_ORIGINATOR, TbMsgMetaData.EMPTY, msgData); + var msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DUMMY_DEVICE_ORIGINATOR) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(msgData) + .build(); // WHEN node.onMsg(ctxMock, msg); @@ -403,7 +448,12 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { mockFindLatestAsync(new BasicTsKvEntry(System.currentTimeMillis(), new LongDataEntry("pulseCounter", 200L))); var msgData = "{\"pulseCounter\":\"123\"}"; - var msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DUMMY_DEVICE_ORIGINATOR, TbMsgMetaData.EMPTY, msgData); + var msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DUMMY_DEVICE_ORIGINATOR) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(msgData) + .build(); // WHEN node.onMsg(ctxMock, msg); @@ -435,7 +485,12 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { mockFindLatestAsync(new BasicTsKvEntry(System.currentTimeMillis(), new LongDataEntry("pulseCounter", 200L))); var msgData = "{\"pulseCounter\":\"123\"}"; - var msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DUMMY_DEVICE_ORIGINATOR, TbMsgMetaData.EMPTY, msgData); + var msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DUMMY_DEVICE_ORIGINATOR) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(msgData) + .build(); // WHEN node.onMsg(ctxMock, msg); @@ -459,7 +514,12 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { mockFindLatestAsync(new BasicTsKvEntry(System.currentTimeMillis(), new StringDataEntry("pulseCounter", "high"))); var msgData = "{\"pulseCounter\":\"123\"}"; - var msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DUMMY_DEVICE_ORIGINATOR, TbMsgMetaData.EMPTY, msgData); + var msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DUMMY_DEVICE_ORIGINATOR) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(msgData) + .build(); // WHEN node.onMsg(ctxMock, msg); @@ -484,7 +544,12 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { mockFindLatestAsync(new BasicTsKvEntry(System.currentTimeMillis(), new BooleanDataEntry("pulseCounter", false))); var msgData = "{\"pulseCounter\":true}"; - var msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DUMMY_DEVICE_ORIGINATOR, TbMsgMetaData.EMPTY, msgData); + var msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DUMMY_DEVICE_ORIGINATOR) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(msgData) + .build(); // WHEN node.onMsg(ctxMock, msg); @@ -509,7 +574,12 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { mockFindLatestAsync(new BasicTsKvEntry(System.currentTimeMillis(), new JsonDataEntry("pulseCounter", "{\"isActive\":false}"))); var msgData = "{\"pulseCounter\":{\"isActive\":true}}"; - var msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DUMMY_DEVICE_ORIGINATOR, TbMsgMetaData.EMPTY, msgData); + var msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DUMMY_DEVICE_ORIGINATOR) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(msgData) + .build(); // WHEN node.onMsg(ctxMock, msg); @@ -552,7 +622,12 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { List tbMsgList = IntStream.range(0, RULE_DISPATCHER_POOL_SIZE * 2).mapToObj(x -> { var msgData = "{\"pulseCounter\":" + 2 + "}"; - return TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DUMMY_DEVICE_ORIGINATOR, TbMsgMetaData.EMPTY, msgData); + return TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DUMMY_DEVICE_ORIGINATOR) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(msgData) + .build(); }).toList(); CountDownLatch processingLatch = new CountDownLatch(tbMsgList.size()); @@ -597,7 +672,12 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { mockFindLatestAsync(new BasicTsKvEntry(1L, new DoubleDataEntry("temperature", testConfig.prevValue()))); var msgData = "{\"temperature\":" + testConfig.currentValue() + ",\"airPressure\":123}"; - var msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DUMMY_DEVICE_ORIGINATOR, TbMsgMetaData.EMPTY, msgData); + var msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DUMMY_DEVICE_ORIGINATOR) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(msgData) + .build(); // WHEN node.onMsg(ctxMock, msg); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbFetchDeviceCredentialsNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbFetchDeviceCredentialsNodeTest.java index 5cbe20fc5e..725bb10b12 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbFetchDeviceCredentialsNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbFetchDeviceCredentialsNodeTest.java @@ -173,7 +173,13 @@ public class TbFetchDeviceCredentialsNodeTest { final var metaData = new TbMsgMetaData(mdMap); final String data = "{\"TestAttribute_1\": \"humidity\", \"TestAttribute_2\": \"voltage\"}"; - return TbMsg.newMsg(TbMsgType.POST_ATTRIBUTES_REQUEST, entityId, metaData, data, callbackMock); + return TbMsg.builder() + .type(TbMsgType.POST_ATTRIBUTES_REQUEST) + .originator(entityId) + .metaData(metaData.copy()) + .data(data) + .callback(callbackMock) + .build(); } } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetAttributesNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetAttributesNodeTest.java index fb08dff8e2..84267c772b 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetAttributesNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetAttributesNodeTest.java @@ -17,7 +17,6 @@ package org.thingsboard.rule.engine.metadata; import com.google.common.util.concurrent.Futures; import org.junit.jupiter.api.AfterEach; -import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -247,7 +246,12 @@ public class TbGetAttributesNodeTest extends AbstractRuleNodeUpgradeTest { public void givenFetchLatestTimeseriesToDataAndDataIsNotJsonObject_whenOnMsg_thenException() throws Exception { // GIVEN node = initNode(TbMsgSource.DATA, true, true); - var msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, ORIGINATOR_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_ARRAY); + var msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(ORIGINATOR_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_ARRAY) + .build(); // WHEN var exception = assertThrows(IllegalArgumentException.class, () -> node.onMsg(ctxMock, msg)); @@ -343,7 +347,12 @@ public class TbGetAttributesNodeTest extends AbstractRuleNodeUpgradeTest { msgMetaData.putValue("client_attr_metadata", "client_attr_3"); msgMetaData.putValue("server_attr_metadata", "server_attr_3"); - return TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, entityId, msgMetaData, JacksonUtil.toString(msgData)); + return TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(entityId) + .metaData(msgMetaData.copy()) + .data(JacksonUtil.toString(msgData)) + .build(); } private List getAttributeNames(String prefix) { diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetCustomerAttributeNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetCustomerAttributeNodeTest.java index 894a538c80..6a682679f4 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetCustomerAttributeNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetCustomerAttributeNodeTest.java @@ -210,7 +210,12 @@ public class TbGetCustomerAttributeNodeTest { public void givenMsgDataIsNotAnJsonObjectAndFetchToData_whenOnMsg_thenException() { // GIVEN node.fetchTo = TbMsgSource.DATA; - msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DUMMY_DEVICE_ORIGINATOR, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_ARRAY); + msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DUMMY_DEVICE_ORIGINATOR) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_ARRAY) + .build(); // WHEN var exception = assertThrows(IllegalArgumentException.class, () -> node.onMsg(ctxMock, msg)); @@ -225,7 +230,12 @@ public class TbGetCustomerAttributeNodeTest { // GIVEN var userId = new UserId(UUID.randomUUID()); - msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, userId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(userId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); when(ctxMock.getTenantId()).thenReturn(TENANT_ID); @@ -469,7 +479,12 @@ public class TbGetCustomerAttributeNodeTest { var msgData = "{\"temp\":42,\"humidity\":77,\"messageBodyPattern1\":\"targetKey2\",\"messageBodyPattern2\":\"sourceKey3\"}"; - msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, originator, msgMetaData, msgData); + msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(originator) + .metaData(msgMetaData.copy()) + .data(msgData) + .build(); } @RequiredArgsConstructor diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetCustomerDetailsNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetCustomerDetailsNodeTest.java index fa4df10609..0586b84b75 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetCustomerDetailsNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetCustomerDetailsNodeTest.java @@ -159,7 +159,12 @@ public class TbGetCustomerDetailsNodeTest { public void givenMsgDataIsNotAnJsonObjectAndFetchToData_whenOnMsg_thenException() { // GIVEN node.fetchTo = TbMsgSource.DATA; - msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DUMMY_DEVICE_ORIGINATOR, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_ARRAY); + msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DUMMY_DEVICE_ORIGINATOR) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_ARRAY) + .build(); // WHEN var exception = assertThrows(IllegalArgumentException.class, () -> node.onMsg(ctxMock, msg)); @@ -458,7 +463,12 @@ public class TbGetCustomerDetailsNodeTest { var msgData = "{\"dataKey1\":123,\"dataKey2\":\"dataValue2\"}"; - msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, originator, msgMetaData, msgData); + msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(originator) + .metaData(msgMetaData.copy()) + .data(msgData) + .build(); } private void mockFindCustomer() { diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetDeviceAttrNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetDeviceAttrNodeTest.java index 8cacf33f79..af93181bfb 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetDeviceAttrNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetDeviceAttrNodeTest.java @@ -115,7 +115,12 @@ public class TbGetDeviceAttrNodeTest extends AbstractRuleNodeUpgradeTest { given(deviceServiceMock.findDevicesByQuery(any(TenantId.class), any(DeviceSearchQuery.class))).willReturn(Futures.immediateFuture(Collections.emptyList())); given(ctxMock.getDbCallbackExecutor()).willReturn(executor); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); node.onMsg(ctxMock, msg); ArgumentCaptor actualException = ArgumentCaptor.forClass(Throwable.class); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetOriginatorFieldsNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetOriginatorFieldsNodeTest.java index fdb73279c0..d67d00416e 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetOriginatorFieldsNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetOriginatorFieldsNodeTest.java @@ -135,7 +135,12 @@ public class TbGetOriginatorFieldsNodeTest { public void givenMsgDataIsNotAnJsonObjectAndFetchToData_whenOnMsg_thenException() { // GIVEN node.fetchTo = TbMsgSource.DATA; - msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DUMMY_DEVICE_ORIGINATOR, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_ARRAY); + msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DUMMY_DEVICE_ORIGINATOR) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_ARRAY) + .build(); // WHEN var exception = assertThrows(IllegalArgumentException.class, () -> node.onMsg(ctxMock, msg)); @@ -164,7 +169,12 @@ public class TbGetOriginatorFieldsNodeTest { node.fetchTo = TbMsgSource.DATA; var msgMetaData = new TbMsgMetaData(); var msgData = "{\"temp\":42,\"humidity\":77}"; - msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DUMMY_DEVICE_ORIGINATOR, msgMetaData, msgData); + msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DUMMY_DEVICE_ORIGINATOR) + .metaData(msgMetaData.copy()) + .data(msgData) + .build(); when(ctxMock.getDeviceService()).thenReturn(deviceServiceMock); when(ctxMock.getTenantId()).thenReturn(DUMMY_TENANT_ID); @@ -206,7 +216,12 @@ public class TbGetOriginatorFieldsNodeTest { node.fetchTo = TbMsgSource.DATA; var msgMetaData = new TbMsgMetaData(); var msgData = "{\"temp\":42,\"humidity\":77}"; - msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DUMMY_DEVICE_ORIGINATOR, msgMetaData, msgData); + msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DUMMY_DEVICE_ORIGINATOR) + .metaData(msgMetaData.copy()) + .data(msgData) + .build(); when(ctxMock.getDeviceService()).thenReturn(deviceServiceMock); when(ctxMock.getTenantId()).thenReturn(DUMMY_TENANT_ID); @@ -249,7 +264,12 @@ public class TbGetOriginatorFieldsNodeTest { "testKey1", "testValue1", "testKey2", "123")); var msgData = "[\"value1\",\"value2\"]"; - msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DUMMY_DEVICE_ORIGINATOR, msgMetaData, msgData); + msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DUMMY_DEVICE_ORIGINATOR) + .metaData(msgMetaData.copy()) + .data(msgData) + .build(); when(ctxMock.getDeviceService()).thenReturn(deviceServiceMock); when(ctxMock.getTenantId()).thenReturn(DUMMY_TENANT_ID); @@ -297,7 +317,12 @@ public class TbGetOriginatorFieldsNodeTest { "testKey1", "testValue1", "testKey2", "123")); var msgData = "[\"value1\",\"value2\"]"; - msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DUMMY_DEVICE_ORIGINATOR, msgMetaData, msgData); + msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DUMMY_DEVICE_ORIGINATOR) + .metaData(msgMetaData.copy()) + .data(msgData) + .build(); when(ctxMock.getDeviceService()).thenReturn(deviceServiceMock); when(ctxMock.getTenantId()).thenReturn(DUMMY_TENANT_ID); @@ -355,7 +380,12 @@ public class TbGetOriginatorFieldsNodeTest { "testKey1", "testValue1", "testKey2", "123")); var msgData = "[\"value1\",\"value2\"]"; - msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, new DashboardId(UUID.randomUUID()), msgMetaData, msgData); + msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(new DashboardId(UUID.randomUUID())) + .metaData(msgMetaData.copy()) + .data(msgData) + .build(); when(ctxMock.getDbCallbackExecutor()).thenReturn(DB_EXECUTOR); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetRelatedAttributeNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetRelatedAttributeNodeTest.java index 3b6b1eb3c6..f97700e435 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetRelatedAttributeNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetRelatedAttributeNodeTest.java @@ -223,7 +223,12 @@ public class TbGetRelatedAttributeNodeTest { public void givenMsgDataIsNotAnJsonObjectAndFetchToData_whenOnMsg_thenException() { // GIVEN node.fetchTo = TbMsgSource.DATA; - msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DUMMY_DEVICE_ORIGINATOR, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_ARRAY); + msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DUMMY_DEVICE_ORIGINATOR) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_ARRAY) + .build(); // WHEN var exception = assertThrows(IllegalArgumentException.class, () -> node.onMsg(ctxMock, msg)); @@ -592,7 +597,12 @@ public class TbGetRelatedAttributeNodeTest { msgData = "{\"temp\":42,\"humidity\":77,\"messageBodyPattern1\":\"targetKey2\",\"messageBodyPattern2\":\"sourceKey3\"}"; } - msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, originator, msgMetaData, msgData); + msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(originator) + .metaData(msgMetaData.copy()) + .data(msgData) + .build(); } @RequiredArgsConstructor diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTelemetryNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTelemetryNodeTest.java index 87f273df93..c27f5450f3 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTelemetryNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTelemetryNodeTest.java @@ -182,7 +182,12 @@ public class TbGetTelemetryNodeTest extends AbstractRuleNodeUpgradeTest { // WHEN-THEN node.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(config))); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); assertThatThrownBy(() -> node.onMsg(ctxMock, msg)) .isInstanceOf(RuntimeException.class) .hasMessage("Interval start should be less than Interval end"); @@ -205,7 +210,12 @@ public class TbGetTelemetryNodeTest extends AbstractRuleNodeUpgradeTest { long endTs = 1719220353000L; TbMsgMetaData metaData = new TbMsgMetaData(); metaData.putValue("mdStartInterval", String.valueOf(startTs)); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, metaData, "{\"msgEndInterval\":\"" + endTs + "\"}"); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(metaData.copy()) + .data("{\"msgEndInterval\":\"" + endTs + "\"}") + .build(); node.onMsg(ctxMock, msg); // THEN @@ -227,7 +237,12 @@ public class TbGetTelemetryNodeTest extends AbstractRuleNodeUpgradeTest { given(timeseriesServiceMock.findAll(any(TenantId.class), any(EntityId.class), anyList())).willReturn(Futures.immediateFuture(Collections.emptyList())); // WHEN - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); node.onMsg(ctxMock, msg); // THEN @@ -251,7 +266,12 @@ public class TbGetTelemetryNodeTest extends AbstractRuleNodeUpgradeTest { // WHEN TbMsgMetaData metaData = new TbMsgMetaData(); metaData.putValue("mdTsKey", "humidity"); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, metaData, "{\"msgTsKey\":\"pressure\"}"); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(metaData.copy()) + .data("{\"msgTsKey\":\"pressure\"}") + .build(); node.onMsg(ctxMock, msg); // THEN @@ -276,7 +296,12 @@ public class TbGetTelemetryNodeTest extends AbstractRuleNodeUpgradeTest { given(timeseriesServiceMock.findAll(any(TenantId.class), any(EntityId.class), anyList())).willReturn(Futures.immediateFuture(Collections.emptyList())); // WHEN - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); node.onMsg(ctxMock, msg); // THEN @@ -306,7 +331,12 @@ public class TbGetTelemetryNodeTest extends AbstractRuleNodeUpgradeTest { given(timeseriesServiceMock.findAll(any(TenantId.class), any(EntityId.class), anyList())).willReturn(Futures.immediateFuture(Collections.emptyList())); // WHEN - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); node.onMsg(ctxMock, msg); // THEN @@ -346,7 +376,12 @@ public class TbGetTelemetryNodeTest extends AbstractRuleNodeUpgradeTest { given(timeseriesServiceMock.findAll(any(TenantId.class), any(EntityId.class), anyList())).willReturn(Futures.immediateFuture(Collections.emptyList())); // WHEN - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); node.onMsg(ctxMock, msg); // THEN @@ -382,7 +417,12 @@ public class TbGetTelemetryNodeTest extends AbstractRuleNodeUpgradeTest { node.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(config))); // WHEN-THEN - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, "{\"msgStartInterval\":\"start\"}"); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data("{\"msgStartInterval\":\"start\"}") + .build(); assertThatThrownBy(() -> node.onMsg(ctxMock, msg)).isInstanceOf(IllegalArgumentException.class).hasMessage(errorMsg); } @@ -411,7 +451,12 @@ public class TbGetTelemetryNodeTest extends AbstractRuleNodeUpgradeTest { given(timeseriesServiceMock.findAll(any(TenantId.class), any(EntityId.class), anyList())).willReturn(Futures.immediateFuture(tsKvEntries)); // WHEN - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); node.onMsg(ctxMock, msg); // THEN @@ -442,7 +487,12 @@ public class TbGetTelemetryNodeTest extends AbstractRuleNodeUpgradeTest { given(timeseriesServiceMock.findAll(any(TenantId.class), any(EntityId.class), anyList())).willReturn(Futures.immediateFuture(tsKvEntries)); // WHEN - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); node.onMsg(ctxMock, msg); // THEN diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTenantAttributeNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTenantAttributeNodeTest.java index 9f20301b46..a7ba3f54ed 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTenantAttributeNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTenantAttributeNodeTest.java @@ -190,7 +190,12 @@ public class TbGetTenantAttributeNodeTest { public void givenMsgDataIsNotAnJsonObjectAndFetchToData_whenOnMsg_thenException() { // GIVEN node.fetchTo = TbMsgSource.DATA; - msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DUMMY_DEVICE_ORIGINATOR, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_ARRAY); + msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DUMMY_DEVICE_ORIGINATOR) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_ARRAY) + .build(); // WHEN var exception = assertThrows(IllegalArgumentException.class, () -> node.onMsg(ctxMock, msg)); @@ -398,7 +403,12 @@ public class TbGetTenantAttributeNodeTest { var msgData = "{\"temp\":42,\"humidity\":77,\"messageBodyPattern1\":\"targetKey2\",\"messageBodyPattern2\":\"sourceKey3\"}"; - msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, originator, msgMetaData, msgData); + msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(originator) + .metaData(msgMetaData.copy()) + .data(msgData) + .build(); } @RequiredArgsConstructor diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTenantDetailsNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTenantDetailsNodeTest.java index 6649cf49de..b030ae75aa 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTenantDetailsNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTenantDetailsNodeTest.java @@ -129,7 +129,12 @@ public class TbGetTenantDetailsNodeTest { public void givenMsgDataIsNotAnJsonObjectAndFetchToData_whenOnMsg_thenException() { // GIVEN node.fetchTo = TbMsgSource.DATA; - msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DUMMY_DEVICE_ORIGINATOR, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_ARRAY); + msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DUMMY_DEVICE_ORIGINATOR) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_ARRAY) + .build(); // WHEN var exception = assertThrows(IllegalArgumentException.class, () -> node.onMsg(ctxMock, msg)); @@ -289,7 +294,12 @@ public class TbGetTenantDetailsNodeTest { var msgData = "{\"dataKey1\":123,\"dataKey2\":\"dataValue2\"}"; - msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DUMMY_DEVICE_ORIGINATOR, msgMetaData, msgData); + msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DUMMY_DEVICE_ORIGINATOR) + .metaData(msgMetaData.copy()) + .data(msgData) + .build(); } private void mockFindTenant() { diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/mqtt/TbMqttNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/mqtt/TbMqttNodeTest.java index 8fa8c387fd..60c6eebb5b 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/mqtt/TbMqttNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/mqtt/TbMqttNodeTest.java @@ -283,7 +283,12 @@ public class TbMqttNodeTest extends AbstractRuleNodeUpgradeTest { return null; }).given(future).addListener(any()); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, metaData, data); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(metaData.copy()) + .data(data) + .build(); mqttNode.onMsg(ctxMock, msg); then(ctxMock).should().ack(msg); @@ -322,7 +327,12 @@ public class TbMqttNodeTest extends AbstractRuleNodeUpgradeTest { return null; }).given(future).addListener(any()); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, "\"string\""); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data("\"string\"") + .build(); mqttNode.onMsg(ctxMock, msg); then(ctxMock).should(never()).ack(msg); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/profile/DeviceStateTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/profile/DeviceStateTest.java index 5cee1aa5b3..973a426513 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/profile/DeviceStateTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/profile/DeviceStateTest.java @@ -95,7 +95,12 @@ public class DeviceStateTest { when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), any())).thenAnswer(invocationOnMock -> { TbMsgType type = invocationOnMock.getArgument(1); String data = invocationOnMock.getArgument(invocationOnMock.getArguments().length - 1); - return TbMsg.newMsg(type, null, TbMsgMetaData.EMPTY, data); + return TbMsg.builder() + .type(type) + .originator(null) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(data) + .build(); }); } @@ -107,8 +112,12 @@ public class DeviceStateTest { DeviceId deviceId = new DeviceId(UUID.randomUUID()); DeviceState deviceState = createDeviceState(deviceId, alarmConfig); - TbMsg attributeUpdateMsg = TbMsg.newMsg(TbMsgType.POST_ATTRIBUTES_REQUEST, - deviceId, TbMsgMetaData.EMPTY, "{ \"enabled\": false }"); + TbMsg attributeUpdateMsg = TbMsg.builder() + .type(TbMsgType.POST_ATTRIBUTES_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data("{ \"enabled\": false }") + .build(); deviceState.process(ctx, attributeUpdateMsg); @@ -116,11 +125,21 @@ public class DeviceStateTest { verify(ctx).enqueueForTellNext(resultMsgCaptor.capture(), eq("Alarm Created")); Alarm alarm = JacksonUtil.fromString(resultMsgCaptor.getValue().getData(), Alarm.class); - deviceState.process(ctx, TbMsg.newMsg(TbMsgType.ALARM_CLEAR, deviceId, TbMsgMetaData.EMPTY, JacksonUtil.toString(alarm))); + deviceState.process(ctx, TbMsg.builder() + .type(TbMsgType.ALARM_CLEAR) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(JacksonUtil.toString(alarm)) + .build()); reset(ctx); String deletedAttributes = "{ \"attributes\": [ \"other\" ] }"; - deviceState.process(ctx, TbMsg.newMsg(TbMsgType.ATTRIBUTES_DELETED, deviceId, TbMsgMetaData.EMPTY, deletedAttributes)); + deviceState.process(ctx, TbMsg.builder() + .type(TbMsgType.ATTRIBUTES_DELETED) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(deletedAttributes) + .build()); verify(ctx, never()).enqueueForTellNext(any(), anyString()); } @@ -130,17 +149,31 @@ public class DeviceStateTest { DeviceId deviceId = new DeviceId(UUID.randomUUID()); DeviceState deviceState = createDeviceState(deviceId, alarmConfig); - TbMsg attributeUpdateMsg = TbMsg.newMsg(TbMsgType.POST_ATTRIBUTES_REQUEST, - deviceId, TbMsgMetaData.EMPTY, "{ \"enabled\": false }"); + TbMsg attributeUpdateMsg = TbMsg.builder() + .type(TbMsgType.POST_ATTRIBUTES_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data("{ \"enabled\": false }") + .build(); deviceState.process(ctx, attributeUpdateMsg); ArgumentCaptor resultMsgCaptor = ArgumentCaptor.forClass(TbMsg.class); verify(ctx).enqueueForTellNext(resultMsgCaptor.capture(), eq("Alarm Created")); Alarm alarm = JacksonUtil.fromString(resultMsgCaptor.getValue().getData(), Alarm.class); - deviceState.process(ctx, TbMsg.newMsg(TbMsgType.ALARM_CLEAR, deviceId, TbMsgMetaData.EMPTY, JacksonUtil.toString(alarm))); - - TbMsg alarmDeleteNotification = TbMsg.newMsg(TbMsgType.ALARM_DELETE, deviceId, TbMsgMetaData.EMPTY, JacksonUtil.toString(alarm)); + deviceState.process(ctx, TbMsg.builder() + .type(TbMsgType.ALARM_CLEAR) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(JacksonUtil.toString(alarm)) + .build()); + + TbMsg alarmDeleteNotification = TbMsg.builder() + .type(TbMsgType.ALARM_DELETE) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(JacksonUtil.toString(alarm)) + .build(); assertDoesNotThrow(() -> { deviceState.process(ctx, alarmDeleteNotification); }); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/profile/TbDeviceProfileNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/profile/TbDeviceProfileNodeTest.java index 04371c23a0..afc5401d89 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/profile/TbDeviceProfileNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/profile/TbDeviceProfileNodeTest.java @@ -127,8 +127,13 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(cache.get(tenantId, deviceId)).thenReturn(deviceProfile); ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 42); - TbMsg msg = TbMsg.newMsg("123456789", deviceId, TbMsgMetaData.EMPTY, - TbMsgDataType.JSON, JacksonUtil.toString(data)); + TbMsg msg = TbMsg.builder() + .type("123456789") + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .dataType(TbMsgDataType.JSON) + .data(JacksonUtil.toString(data)) + .build(); node.onMsg(ctx, msg); verify(ctx).tellSuccess(msg); verify(ctx, Mockito.never()).tellFailure(Mockito.any(), Mockito.any()); @@ -146,8 +151,15 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(cache.get(tenantId, deviceId)).thenReturn(deviceProfile); ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 42); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, deviceId, TbMsgMetaData.EMPTY, - TbMsgDataType.JSON, JacksonUtil.toString(data), null, null); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .dataType(TbMsgDataType.JSON) + .data(JacksonUtil.toString(data)) + .ruleChainId(null) + .ruleNodeId(null) + .build(); node.onMsg(ctx, msg); verify(ctx).tellSuccess(msg); verify(ctx, Mockito.never()).tellFailure(Mockito.any(), Mockito.any()); @@ -198,26 +210,50 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(alarmService.findLatestActiveByOriginatorAndType(tenantId, deviceId, "highTemperatureAlarm")).thenReturn(null); registerCreateAlarmMock(alarmService.createAlarm(any()), true); - TbMsg theMsg = TbMsg.newMsg(TbMsgType.ALARM, deviceId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_STRING); + TbMsg theMsg = TbMsg.builder() + .type(TbMsgType.ALARM) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_STRING) + .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())).thenReturn(theMsg); ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 42); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, deviceId, TbMsgMetaData.EMPTY, - TbMsgDataType.JSON, JacksonUtil.toString(data), null, null); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .dataType(TbMsgDataType.JSON) + .data(JacksonUtil.toString(data)) + .ruleChainId(null) + .ruleNodeId(null) + .build(); node.onMsg(ctx, msg); verify(ctx).tellSuccess(msg); verify(ctx).enqueueForTellNext(theMsg, "Alarm Created"); verify(ctx, Mockito.never()).tellFailure(Mockito.any(), Mockito.any()); - TbMsg theMsg2 = TbMsg.newMsg(TbMsgType.ALARM, deviceId, TbMsgMetaData.EMPTY, "2"); + TbMsg theMsg2 = TbMsg.builder() + .type(TbMsgType.ALARM) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data("2") + .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())).thenReturn(theMsg2); registerCreateAlarmMock(alarmService.updateAlarm(any()), false); Thread.sleep(1); - TbMsg msg2 = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, deviceId, TbMsgMetaData.EMPTY, - TbMsgDataType.JSON, JacksonUtil.toString(data), null, null); + TbMsg msg2 = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .dataType(TbMsgDataType.JSON) + .data(JacksonUtil.toString(data)) + .ruleChainId(null) + .ruleNodeId(null) + .build(); node.onMsg(ctx, msg2); verify(ctx).tellSuccess(msg2); verify(ctx).enqueueForTellNext(theMsg2, "Alarm Updated"); @@ -274,19 +310,36 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(alarmService.findLatestActiveByOriginatorAndType(tenantId, deviceId, "highTemperatureAlarm1")).thenReturn(null); registerCreateAlarmMock(alarmService.createAlarm(any()), true); - TbMsg theMsg = TbMsg.newMsg(TbMsgType.ALARM, deviceId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_STRING); + TbMsg theMsg = TbMsg.builder() + .type(TbMsgType.ALARM) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_STRING) + .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())).thenReturn(theMsg); ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 42); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, deviceId, TbMsgMetaData.EMPTY, - TbMsgDataType.JSON, JacksonUtil.toString(data), null, null); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .dataType(TbMsgDataType.JSON) + .data(JacksonUtil.toString(data)) + .ruleChainId(null) + .ruleNodeId(null) + .build(); node.onMsg(ctx, msg); verify(ctx).tellSuccess(msg); verify(ctx).enqueueForTellNext(theMsg, "Alarm Created"); verify(ctx, Mockito.never()).tellFailure(Mockito.any(), Mockito.any()); - TbMsg theMsg2 = TbMsg.newMsg(TbMsgType.ALARM, deviceId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_STRING); + TbMsg theMsg2 = TbMsg.builder() + .type(TbMsgType.ALARM) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_STRING) + .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())).thenReturn(theMsg2); AlarmInfo alarm = new AlarmInfo(new Alarm(new AlarmId(UUID.randomUUID()))); @@ -305,8 +358,15 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { when(alarmService.updateAlarm(any())).thenReturn(result); data.put("temperature", 52); - TbMsg msg2 = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, deviceId, TbMsgMetaData.EMPTY, - TbMsgDataType.JSON, JacksonUtil.toString(data), null, null); + TbMsg msg2 = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .dataType(TbMsgDataType.JSON) + .data(JacksonUtil.toString(data)) + .ruleChainId(null) + .ruleNodeId(null) + .build(); node.onMsg(ctx, msg2); verify(ctx).tellSuccess(msg2); verify(ctx).enqueueForTellNext(theMsg2, "Alarm Severity Updated"); @@ -380,14 +440,26 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(attributesService.find(eq(tenantId), eq(deviceId), Mockito.any(AttributeScope.class), Mockito.anySet())) .thenReturn(attrListListenableFuture); - TbMsg theMsg = TbMsg.newMsg(TbMsgType.ALARM, deviceId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_STRING); + TbMsg theMsg = TbMsg.builder() + .type(TbMsgType.ALARM) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_STRING) + .build(); Mockito.when(ctx.newMsg(Mockito.any(), Mockito.any(TbMsgType.class), Mockito.any(), Mockito.any(), Mockito.any(), Mockito.anyString())) .thenReturn(theMsg); ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 21); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, deviceId, TbMsgMetaData.EMPTY, - TbMsgDataType.JSON, JacksonUtil.toString(data), null, null); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .dataType(TbMsgDataType.JSON) + .data(JacksonUtil.toString(data)) + .ruleChainId(null) + .ruleNodeId(null) + .build(); node.onMsg(ctx, msg); verify(ctx).tellSuccess(msg); @@ -468,14 +540,26 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(attributesService.find(eq(tenantId), eq(tenantId), Mockito.any(AttributeScope.class), Mockito.anyString())) .thenReturn(attrListListenableFuture); - TbMsg theMsg = TbMsg.newMsg(TbMsgType.ALARM, deviceId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_STRING); + TbMsg theMsg = TbMsg.builder() + .type(TbMsgType.ALARM) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_STRING) + .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())) .thenReturn(theMsg); ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 21); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, deviceId, TbMsgMetaData.EMPTY, - TbMsgDataType.JSON, JacksonUtil.toString(data), null, null); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .dataType(TbMsgDataType.JSON) + .data(JacksonUtil.toString(data)) + .ruleChainId(null) + .ruleNodeId(null) + .build(); node.onMsg(ctx, msg); verify(ctx).tellSuccess(msg); @@ -538,14 +622,26 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(attributesService.find(eq(tenantId), eq(deviceId), Mockito.any(AttributeScope.class), Mockito.anySet())) .thenReturn(listListenableFutureWithLess); - TbMsg theMsg = TbMsg.newMsg(TbMsgType.ALARM, deviceId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_STRING); + TbMsg theMsg = TbMsg.builder() + .type(TbMsgType.ALARM) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_STRING) + .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())) .thenReturn(theMsg); ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 35); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, deviceId, TbMsgMetaData.EMPTY, - TbMsgDataType.JSON, JacksonUtil.toString(data), null, null); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .dataType(TbMsgDataType.JSON) + .data(JacksonUtil.toString(data)) + .ruleChainId(null) + .ruleNodeId(null) + .build(); node.onMsg(ctx, msg); verify(ctx).tellSuccess(msg); @@ -634,14 +730,26 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(attributesService.find(eq(tenantId), eq(deviceId), Mockito.any(AttributeScope.class), Mockito.anySet())) .thenReturn(listListenableFuture); - TbMsg theMsg = TbMsg.newMsg(TbMsgType.ALARM, deviceId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_STRING); + TbMsg theMsg = TbMsg.builder() + .type(TbMsgType.ALARM) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_STRING) + .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())) .thenReturn(theMsg); ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 35); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, deviceId, TbMsgMetaData.EMPTY, - TbMsgDataType.JSON, JacksonUtil.toString(data), null, null); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .dataType(TbMsgDataType.JSON) + .data(JacksonUtil.toString(data)) + .ruleChainId(null) + .ruleNodeId(null) + .build(); node.onMsg(ctx, msg); verify(ctx).tellSuccess(msg); @@ -655,8 +763,15 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Thread.sleep(halfOfAlarmDelay + 1); - TbMsg msg2 = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, deviceId, TbMsgMetaData.EMPTY, - TbMsgDataType.JSON, JacksonUtil.toString(data), null, null); + TbMsg msg2 = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .dataType(TbMsgDataType.JSON) + .data(JacksonUtil.toString(data)) + .ruleChainId(null) + .ruleNodeId(null) + .build(); node.onMsg(ctx, msg2); verify(ctx).tellSuccess(msg2); @@ -760,14 +875,26 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(attributesService.find(eq(tenantId), eq(deviceId), Mockito.any(AttributeScope.class), Mockito.anySet())) .thenReturn(listNoDurationAttribute); - TbMsg theMsg = TbMsg.newMsg(TbMsgType.ALARM, deviceId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_STRING); + TbMsg theMsg = TbMsg.builder() + .type(TbMsgType.ALARM) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_STRING) + .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())) .thenReturn(theMsg); ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 150); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, deviceId, TbMsgMetaData.EMPTY, - TbMsgDataType.JSON, JacksonUtil.toString(data), null, null); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .dataType(TbMsgDataType.JSON) + .data(JacksonUtil.toString(data)) + .ruleChainId(null) + .ruleNodeId(null) + .build(); node.onMsg(ctx, msg); verify(ctx).tellSuccess(msg); @@ -781,8 +908,15 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Thread.sleep(halfOfAlarmDelay + 1); - TbMsg msg2 = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, deviceId, TbMsgMetaData.EMPTY, - TbMsgDataType.JSON, JacksonUtil.toString(data), null, null); + TbMsg msg2 = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .dataType(TbMsgDataType.JSON) + .data(JacksonUtil.toString(data)) + .ruleChainId(null) + .ruleNodeId(null) + .build(); node.onMsg(ctx, msg2); verify(ctx).tellSuccess(msg2); @@ -871,14 +1005,26 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(attributesService.find(eq(tenantId), eq(deviceId), Mockito.any(AttributeScope.class), Mockito.anySet())) .thenReturn(listListenableFuture); - TbMsg theMsg = TbMsg.newMsg(TbMsgType.ALARM, deviceId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_STRING); + TbMsg theMsg = TbMsg.builder() + .type(TbMsgType.ALARM) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_STRING) + .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())) .thenReturn(theMsg); ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 150); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, deviceId, TbMsgMetaData.EMPTY, - TbMsgDataType.JSON, JacksonUtil.toString(data), null, null); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .dataType(TbMsgDataType.JSON) + .data(JacksonUtil.toString(data)) + .ruleChainId(null) + .ruleNodeId(null) + .build(); node.onMsg(ctx, msg); verify(ctx).tellSuccess(msg); @@ -886,8 +1032,15 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { verify(ctx, Mockito.never()).tellNext(theMsg, "Alarm Created"); data.put("temperature", 151); - TbMsg msg2 = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, deviceId, TbMsgMetaData.EMPTY, - TbMsgDataType.JSON, JacksonUtil.toString(data), null, null); + TbMsg msg2 = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .dataType(TbMsgDataType.JSON) + .data(JacksonUtil.toString(data)) + .ruleChainId(null) + .ruleNodeId(null) + .build(); node.onMsg(ctx, msg2); verify(ctx).tellSuccess(msg2); @@ -989,14 +1142,26 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(attributesService.find(eq(tenantId), eq(deviceId), Mockito.any(AttributeScope.class), Mockito.anySet())) .thenReturn(listNoDurationAttribute); - TbMsg theMsg = TbMsg.newMsg(TbMsgType.ALARM, deviceId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_STRING); + TbMsg theMsg = TbMsg.builder() + .type(TbMsgType.ALARM) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_STRING) + .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())) .thenReturn(theMsg); ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 150); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, deviceId, TbMsgMetaData.EMPTY, - TbMsgDataType.JSON, JacksonUtil.toString(data), null, null); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .dataType(TbMsgDataType.JSON) + .data(JacksonUtil.toString(data)) + .ruleChainId(null) + .ruleNodeId(null) + .build(); node.onMsg(ctx, msg); verify(ctx).tellSuccess(msg); @@ -1004,8 +1169,15 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { verify(ctx, Mockito.never()).tellNext(theMsg, "Alarm Created"); data.put("temperature", 151); - TbMsg msg2 = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, deviceId, TbMsgMetaData.EMPTY, - TbMsgDataType.JSON, JacksonUtil.toString(data), null, null); + TbMsg msg2 = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .dataType(TbMsgDataType.JSON) + .data(JacksonUtil.toString(data)) + .ruleChainId(null) + .ruleNodeId(null) + .build(); node.onMsg(ctx, msg2); verify(ctx).tellSuccess(msg2); @@ -1086,14 +1258,26 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(attributesService.find(eq(tenantId), eq(deviceId), Mockito.any(AttributeScope.class), Mockito.anySet())) .thenReturn(listListenableFuture); - TbMsg theMsg = TbMsg.newMsg(TbMsgType.ALARM, deviceId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_STRING); + TbMsg theMsg = TbMsg.builder() + .type(TbMsgType.ALARM) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_STRING) + .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())) .thenReturn(theMsg); ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 35); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, deviceId, TbMsgMetaData.EMPTY, - TbMsgDataType.JSON, JacksonUtil.toString(data), null, null); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .dataType(TbMsgDataType.JSON) + .data(JacksonUtil.toString(data)) + .ruleChainId(null) + .ruleNodeId(null) + .build(); node.onMsg(ctx, msg); verify(ctx).tellSuccess(msg); @@ -1107,8 +1291,15 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Thread.sleep(halfOfAlarmDelay + 1); - TbMsg msg2 = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, deviceId, TbMsgMetaData.EMPTY, - TbMsgDataType.JSON, JacksonUtil.toString(data), null, null); + TbMsg msg2 = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .dataType(TbMsgDataType.JSON) + .data(JacksonUtil.toString(data)) + .ruleChainId(null) + .ruleNodeId(null) + .build(); node.onMsg(ctx, msg2); verify(ctx).tellSuccess(msg2); @@ -1185,14 +1376,26 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(attributesService.find(eq(tenantId), eq(deviceId), Mockito.any(AttributeScope.class), Mockito.anySet())) .thenReturn(listListenableFuture); - TbMsg theMsg = TbMsg.newMsg(TbMsgType.ALARM, deviceId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_STRING); + TbMsg theMsg = TbMsg.builder() + .type(TbMsgType.ALARM) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_STRING) + .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())) .thenReturn(theMsg); ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 35); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, deviceId, TbMsgMetaData.EMPTY, - TbMsgDataType.JSON, JacksonUtil.toString(data), null, null); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .dataType(TbMsgDataType.JSON) + .data(JacksonUtil.toString(data)) + .ruleChainId(null) + .ruleNodeId(null) + .build(); node.onMsg(ctx, msg); verify(ctx).tellSuccess(msg); @@ -1268,14 +1471,26 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(attributesService.find(eq(tenantId), eq(deviceId), Mockito.any(AttributeScope.class), Mockito.anySet())) .thenReturn(listListenableFutureActiveSchedule); - TbMsg theMsg = TbMsg.newMsg(TbMsgType.ALARM, deviceId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_STRING); + TbMsg theMsg = TbMsg.builder() + .type(TbMsgType.ALARM) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_STRING) + .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())) .thenReturn(theMsg); ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 35); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, deviceId, TbMsgMetaData.EMPTY, - TbMsgDataType.JSON, JacksonUtil.toString(data), null, null); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .dataType(TbMsgDataType.JSON) + .data(JacksonUtil.toString(data)) + .ruleChainId(null) + .ruleNodeId(null) + .build(); // Mockito.reset(ctx); @@ -1365,12 +1580,24 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(attributesService.find(eq(tenantId), eq(deviceId), Mockito.any(AttributeScope.class), Mockito.anySet())) .thenReturn(listListenableFutureInactiveSchedule); - TbMsg theMsg = TbMsg.newMsg(TbMsgType.ALARM, deviceId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_STRING); + TbMsg theMsg = TbMsg.builder() + .type(TbMsgType.ALARM) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_STRING) + .build(); ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 35); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, deviceId, TbMsgMetaData.EMPTY, - TbMsgDataType.JSON, JacksonUtil.toString(data), null, null); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .dataType(TbMsgDataType.JSON) + .data(JacksonUtil.toString(data)) + .ruleChainId(null) + .ruleNodeId(null) + .build(); node.onMsg(ctx, msg); verify(ctx).tellSuccess(msg); @@ -1444,14 +1671,26 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(attributesService.find(eq(tenantId), eq(customerId), eq(AttributeScope.SERVER_SCOPE), Mockito.anyString())) .thenReturn(optionalListenableFutureWithLess); - TbMsg theMsg = TbMsg.newMsg(TbMsgType.ALARM, deviceId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_STRING); + TbMsg theMsg = TbMsg.builder() + .type(TbMsgType.ALARM) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_STRING) + .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())) .thenReturn(theMsg); ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 25); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, deviceId, TbMsgMetaData.EMPTY, - TbMsgDataType.JSON, JacksonUtil.toString(data), null, null); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .dataType(TbMsgDataType.JSON) + .data(JacksonUtil.toString(data)) + .ruleChainId(null) + .ruleNodeId(null) + .build(); node.onMsg(ctx, msg); verify(ctx).tellSuccess(msg); @@ -1518,14 +1757,26 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(attributesService.find(eq(tenantId), eq(tenantId), eq(AttributeScope.SERVER_SCOPE), Mockito.anyString())) .thenReturn(optionalListenableFutureWithLess); - TbMsg theMsg = TbMsg.newMsg(TbMsgType.ALARM, deviceId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_STRING); + TbMsg theMsg = TbMsg.builder() + .type(TbMsgType.ALARM) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_STRING) + .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())) .thenReturn(theMsg); ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 40); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, deviceId, TbMsgMetaData.EMPTY, - TbMsgDataType.JSON, JacksonUtil.toString(data), null, null); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .dataType(TbMsgDataType.JSON) + .data(JacksonUtil.toString(data)) + .ruleChainId(null) + .ruleNodeId(null) + .build(); node.onMsg(ctx, msg); verify(ctx).tellSuccess(msg); @@ -1602,14 +1853,26 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(attributesService.find(eq(tenantId), eq(tenantId), eq(AttributeScope.SERVER_SCOPE), Mockito.anyString())) .thenReturn(optionalListenableFutureWithLess); - TbMsg theMsg = TbMsg.newMsg(TbMsgType.ALARM, deviceId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_STRING); + TbMsg theMsg = TbMsg.builder() + .type(TbMsgType.ALARM) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_STRING) + .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())) .thenReturn(theMsg); ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 150L); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, deviceId, TbMsgMetaData.EMPTY, - TbMsgDataType.JSON, JacksonUtil.toString(data), null, null); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .dataType(TbMsgDataType.JSON) + .data(JacksonUtil.toString(data)) + .ruleChainId(null) + .ruleNodeId(null) + .build(); node.onMsg(ctx, msg); verify(ctx).tellSuccess(msg); @@ -1688,14 +1951,26 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(attributesService.find(eq(tenantId), eq(tenantId), eq(AttributeScope.SERVER_SCOPE), Mockito.anyString())) .thenReturn(optionalListenableFutureWithLess); - TbMsg theMsg = TbMsg.newMsg(TbMsgType.ALARM, deviceId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_STRING); + TbMsg theMsg = TbMsg.builder() + .type(TbMsgType.ALARM) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_STRING) + .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())) .thenReturn(theMsg); ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 150L); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, deviceId, TbMsgMetaData.EMPTY, - TbMsgDataType.JSON, JacksonUtil.toString(data), null, null); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(deviceId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .dataType(TbMsgDataType.JSON) + .data(JacksonUtil.toString(data)) + .ruleChainId(null) + .ruleNodeId(null) + .build(); node.onMsg(ctx, msg); verify(ctx).tellSuccess(msg); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rabbitmq/TbRabbitMqNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rabbitmq/TbRabbitMqNodeTest.java index 8ce71f684c..91a9055c37 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rabbitmq/TbRabbitMqNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rabbitmq/TbRabbitMqNodeTest.java @@ -147,7 +147,12 @@ public class TbRabbitMqNodeTest { given(ctxMock.getExternalCallExecutor()).willReturn(executor); node.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(config))); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, metaData, data); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(metaData.copy()) + .data(data) + .build(); node.onMsg(ctxMock, msg); then(ctxMock).should().ack(msg); @@ -178,7 +183,12 @@ public class TbRabbitMqNodeTest { given(ctxMock.getExternalCallExecutor()).willReturn(executor); node.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(config))); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); node.onMsg(ctxMock, msg); then(ctxMock).should(never()).ack(any(TbMsg.class)); @@ -201,7 +211,12 @@ public class TbRabbitMqNodeTest { node.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(config))); TbMsgMetaData metaData = new TbMsgMetaData(); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, metaData, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(metaData.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); node.onMsg(ctxMock, msg); then(ctxMock).should(forceAck ? times(1) : never()).ack(any(TbMsg.class)); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbHttpClientTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbHttpClientTest.java index 2eb65c1787..cc883db254 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbHttpClientTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbHttpClientTest.java @@ -140,11 +140,18 @@ public class TbHttpClientTest { var httpClient = new TbHttpClient(config, eventLoop); - var msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, new DeviceId(EntityId.NULL_UUID), TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); - var successMsg = TbMsg.newMsg( - TbMsgType.POST_TELEMETRY_REQUEST, msg.getOriginator(), - msg.getMetaData(), msg.getData() - ); + var msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(new DeviceId(EntityId.NULL_UUID)) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); + var successMsg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(msg.getOriginator()) + .metaData(msg.getMetaData().copy()) + .data(msg.getData()) + .build(); var ctx = mock(TbContext.class); when(ctx.transformMsg( diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbRestApiCallNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbRestApiCallNodeTest.java index e7d541d587..9f19fe019b 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbRestApiCallNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbRestApiCallNodeTest.java @@ -142,7 +142,15 @@ public class TbRestApiCallNodeTest extends AbstractRuleNodeUpgradeTest { config.setRestEndpointUrlPattern(String.format("http://localhost:%d%s", server.getLocalPort(), path)); initWithConfig(config); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, originator, metaData, TbMsgDataType.JSON, TbMsg.EMPTY_JSON_OBJECT, ruleChainId, ruleNodeId); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(originator) + .metaData(metaData.copy()) + .dataType(TbMsgDataType.JSON) + .data(TbMsg.EMPTY_JSON_OBJECT) + .ruleChainId(ruleChainId) + .ruleNodeId(ruleNodeId) + .build(); restNode.onMsg(ctx, msg); assertTrue(latch.await(10, TimeUnit.SECONDS), "Server handled request"); @@ -203,7 +211,15 @@ public class TbRestApiCallNodeTest extends AbstractRuleNodeUpgradeTest { config.setRestEndpointUrlPattern(String.format("http://localhost:%d%s", server.getLocalPort(), path)); initWithConfig(config); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, originator, metaData, TbMsgDataType.JSON, TbMsg.EMPTY_JSON_OBJECT, ruleChainId, ruleNodeId); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(originator) + .metaData(metaData.copy()) + .dataType(TbMsgDataType.JSON) + .data(TbMsg.EMPTY_JSON_OBJECT) + .ruleChainId(ruleChainId) + .ruleNodeId(ruleNodeId) + .build(); restNode.onMsg(ctx, msg); assertTrue(latch.await(10, TimeUnit.SECONDS), "Server handled request"); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbSendRestApiCallReplyNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbSendRestApiCallReplyNodeTest.java index c603e111e2..7ca88da0a3 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbSendRestApiCallReplyNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbSendRestApiCallReplyNodeTest.java @@ -89,7 +89,12 @@ public class TbSendRestApiCallReplyNodeTest { Map metadata = Map.of( requestIdAttribute, requestUUIDStr, serviceIdAttribute, serviceIdStr); - TbMsg msg = TbMsg.newMsg(TbMsgType.REST_API_REQUEST, DEVICE_ID, new TbMsgMetaData(metadata), data); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.REST_API_REQUEST) + .originator(DEVICE_ID) + .metaData(new TbMsgMetaData(metadata).copy()) + .data(data) + .build(); node.onMsg(ctxMock, msg); @@ -109,7 +114,12 @@ public class TbSendRestApiCallReplyNodeTest { @ParameterizedTest @MethodSource public void givenInvalidRequest_whenOnMsg_thenTellFailure(TbMsgMetaData metaData, String data, String errorMsg) { - TbMsg msg = TbMsg.newMsg(TbMsgType.REST_API_REQUEST, DEVICE_ID, metaData, data); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.REST_API_REQUEST) + .originator(DEVICE_ID) + .metaData(metaData.copy()) + .data(data) + .build(); node.onMsg(ctxMock, msg); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rpc/TbSendRPCReplyNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rpc/TbSendRPCReplyNodeTest.java index 9cab33fcdd..c5bab86d8c 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rpc/TbSendRPCReplyNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rpc/TbSendRPCReplyNodeTest.java @@ -92,8 +92,15 @@ public class TbSendRPCReplyNodeTest { public void sendReplyToTransport() { when(ctx.getRpcService()).thenReturn(rpcService); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, deviceId, getDefaultMetadata(), - TbMsgDataType.JSON, DUMMY_DATA, null, null); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(deviceId) + .metaData(getDefaultMetadata().copy()) + .dataType(TbMsgDataType.JSON) + .data(DUMMY_DATA) + .ruleChainId(null) + .ruleNodeId(null) + .build(); node.onMsg(ctx, msg); @@ -111,8 +118,15 @@ public class TbSendRPCReplyNodeTest { TbMsgMetaData defaultMetadata = getDefaultMetadata(); defaultMetadata.putValue(DataConstants.EDGE_ID, UUID.randomUUID().toString()); defaultMetadata.putValue(DataConstants.DEVICE_ID, UUID.randomUUID().toString()); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, deviceId, defaultMetadata, - TbMsgDataType.JSON, DUMMY_DATA, null, null); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(deviceId) + .metaData(defaultMetadata.copy()) + .dataType(TbMsgDataType.JSON) + .data(DUMMY_DATA) + .ruleChainId(null) + .ruleNodeId(null) + .build(); node.onMsg(ctx, msg); @@ -124,7 +138,12 @@ public class TbSendRPCReplyNodeTest { @EnumSource(EntityType.class) public void testOriginatorEntityTypes(EntityType entityType) { EntityId entityId = EntityIdFactory.getByTypeAndUuid(entityType, "0f386739-210f-4e23-8739-23f84a172adc"); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, entityId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(entityId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); node.onMsg(ctx, msg); @@ -138,7 +157,12 @@ public class TbSendRPCReplyNodeTest { @ParameterizedTest @MethodSource public void testForAvailabilityOfMetadataAndDataValues(TbMsgMetaData metaData, String errorMsg) { - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, deviceId, metaData, TbMsg.EMPTY_STRING); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(deviceId) + .metaData(metaData.copy()) + .data(TbMsg.EMPTY_STRING) + .build(); node.onMsg(ctx, msg); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rpc/TbSendRPCRequestNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rpc/TbSendRPCRequestNodeTest.java index e9d25e0d5e..322d334c31 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rpc/TbSendRPCRequestNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rpc/TbSendRPCRequestNodeTest.java @@ -107,7 +107,12 @@ public class TbSendRPCRequestNodeTest { TbMsgMetaData msgMetadata = new TbMsgMetaData(); msgMetadata.putValue("oneway", mdKeyValue); - TbMsg msg = TbMsg.newMsg(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE, DEVICE_ID, msgMetadata, MSG_DATA); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) + .originator(DEVICE_ID) + .metaData(msgMetadata.copy()) + .data(MSG_DATA) + .build(); node.onMsg(ctxMock, msg); var ruleEngineDeviceRpcRequestCaptor = captureRequest(); @@ -128,7 +133,12 @@ public class TbSendRPCRequestNodeTest { given(ctxMock.getRpcService()).willReturn(rpcServiceMock); given(ctxMock.getTenantId()).willReturn(TENANT_ID); - TbMsg msg = TbMsg.newMsg(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE, DEVICE_ID, TbMsgMetaData.EMPTY, MSG_DATA); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(MSG_DATA) + .build(); node.onMsg(ctxMock, msg); ArgumentCaptor requestCaptor = ArgumentCaptor.forClass(RuleEngineDeviceRpcRequest.class); @@ -149,7 +159,12 @@ public class TbSendRPCRequestNodeTest { given(ctxMock.getRpcService()).willReturn(rpcServiceMock); given(ctxMock.getTenantId()).willReturn(TENANT_ID); - TbMsg msg = TbMsg.newMsg(TbMsgType.TO_SERVER_RPC_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, MSG_DATA); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.TO_SERVER_RPC_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(MSG_DATA) + .build(); node.onMsg(ctxMock, msg); ArgumentCaptor requestCaptor = captureRequest(); @@ -170,7 +185,12 @@ public class TbSendRPCRequestNodeTest { "requestId": 12345 } """; - TbMsg msg = TbMsg.newMsg(TbMsgType.TO_SERVER_RPC_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, data); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.TO_SERVER_RPC_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(data) + .build(); node.onMsg(ctxMock, msg); ArgumentCaptor requestCaptor = captureRequest(); @@ -185,7 +205,12 @@ public class TbSendRPCRequestNodeTest { String requestUUID = "b795a241-5a30-48fb-92d5-46b864d47130"; TbMsgMetaData metadata = new TbMsgMetaData(); metadata.putValue("requestUUID", requestUUID); - TbMsg msg = TbMsg.newMsg(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE, DEVICE_ID, metadata, MSG_DATA); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) + .originator(DEVICE_ID) + .metaData(metadata.copy()) + .data(MSG_DATA) + .build(); node.onMsg(ctxMock, msg); ArgumentCaptor requestCaptor = captureRequest(); @@ -200,7 +225,12 @@ public class TbSendRPCRequestNodeTest { TbMsgMetaData metadata = new TbMsgMetaData(); metadata.putValue("requestUUID", requestUUID); - TbMsg msg = TbMsg.newMsg(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE, DEVICE_ID, metadata, MSG_DATA); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) + .originator(DEVICE_ID) + .metaData(metadata.copy()) + .data(MSG_DATA) + .build(); node.onMsg(ctxMock, msg); ArgumentCaptor requestCaptor = captureRequest(); @@ -215,7 +245,12 @@ public class TbSendRPCRequestNodeTest { String originServiceId = "service-id-123"; TbMsgMetaData metadata = new TbMsgMetaData(); metadata.putValue("originServiceId", originServiceId); - TbMsg msg = TbMsg.newMsg(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE, DEVICE_ID, metadata, MSG_DATA); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) + .originator(DEVICE_ID) + .metaData(metadata.copy()) + .data(MSG_DATA) + .build(); node.onMsg(ctxMock, msg); ArgumentCaptor requestCaptor = captureRequest(); @@ -230,7 +265,12 @@ public class TbSendRPCRequestNodeTest { TbMsgMetaData metadata = new TbMsgMetaData(); metadata.putValue("originServiceId", originServiceId); - TbMsg msg = TbMsg.newMsg(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE, DEVICE_ID, metadata, MSG_DATA); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) + .originator(DEVICE_ID) + .metaData(metadata.copy()) + .data(MSG_DATA) + .build(); node.onMsg(ctxMock, msg); ArgumentCaptor requestCaptor = captureRequest(); @@ -245,7 +285,12 @@ public class TbSendRPCRequestNodeTest { String expirationTime = "2000000000000"; TbMsgMetaData metadata = new TbMsgMetaData(); metadata.putValue(DataConstants.EXPIRATION_TIME, expirationTime); - TbMsg msg = TbMsg.newMsg(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE, DEVICE_ID, metadata, MSG_DATA); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) + .originator(DEVICE_ID) + .metaData(metadata.copy()) + .data(MSG_DATA) + .build(); node.onMsg(ctxMock, msg); ArgumentCaptor requestCaptor = captureRequest(); @@ -260,7 +305,12 @@ public class TbSendRPCRequestNodeTest { TbMsgMetaData metadata = new TbMsgMetaData(); metadata.putValue(DataConstants.EXPIRATION_TIME, expirationTime); - TbMsg msg = TbMsg.newMsg(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE, DEVICE_ID, metadata, MSG_DATA); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) + .originator(DEVICE_ID) + .metaData(metadata.copy()) + .data(MSG_DATA) + .build(); node.onMsg(ctxMock, msg); ArgumentCaptor requestCaptor = captureRequest(); @@ -275,7 +325,12 @@ public class TbSendRPCRequestNodeTest { Integer retries = 3; TbMsgMetaData metadata = new TbMsgMetaData(); metadata.putValue(DataConstants.RETRIES, String.valueOf(retries)); - TbMsg msg = TbMsg.newMsg(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE, DEVICE_ID, metadata, MSG_DATA); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) + .originator(DEVICE_ID) + .metaData(metadata.copy()) + .data(MSG_DATA) + .build(); node.onMsg(ctxMock, msg); ArgumentCaptor requestCaptor = captureRequest(); @@ -290,7 +345,12 @@ public class TbSendRPCRequestNodeTest { TbMsgMetaData metadata = new TbMsgMetaData(); metadata.putValue(DataConstants.RETRIES, retries); - TbMsg msg = TbMsg.newMsg(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE, DEVICE_ID, metadata, MSG_DATA); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) + .originator(DEVICE_ID) + .metaData(metadata.copy()) + .data(MSG_DATA) + .build(); node.onMsg(ctxMock, msg); ArgumentCaptor requestCaptor = captureRequest(); @@ -303,7 +363,12 @@ public class TbSendRPCRequestNodeTest { given(ctxMock.getRpcService()).willReturn(rpcServiceMock); given(ctxMock.getTenantId()).willReturn(TENANT_ID); - TbMsg msg = TbMsg.newMsg(msgType, DEVICE_ID, TbMsgMetaData.EMPTY, MSG_DATA); + TbMsg msg = TbMsg.builder() + .type(msgType) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(MSG_DATA) + .build(); node.onMsg(ctxMock, msg); ArgumentCaptor requestCaptor = captureRequest(); @@ -322,7 +387,12 @@ public class TbSendRPCRequestNodeTest { TbMsgMetaData metadata = new TbMsgMetaData(); metadata.putValue(DataConstants.PERSISTENT, isPersisted); - TbMsg msg = TbMsg.newMsg(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE, DEVICE_ID, metadata, MSG_DATA); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) + .originator(DEVICE_ID) + .metaData(metadata.copy()) + .data(MSG_DATA) + .build(); node.onMsg(ctxMock, msg); ArgumentCaptor requestCaptor = captureRequest(); @@ -346,7 +416,12 @@ public class TbSendRPCRequestNodeTest { @Test public void givenRpcResponseWithoutError_whenOnMsg_thenSendsRpcRequest() { - TbMsg outMsg = TbMsg.newMsg(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE, DEVICE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg outMsg = TbMsg.builder() + .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); given(ctxMock.getRpcService()).willReturn(rpcServiceMock); given(ctxMock.getTenantId()).willReturn(TENANT_ID); @@ -361,7 +436,12 @@ public class TbSendRPCRequestNodeTest { return null; }).given(rpcServiceMock).sendRpcRequestToDevice(any(RuleEngineDeviceRpcRequest.class), any(Consumer.class)); - TbMsg msg = TbMsg.newMsg(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE, DEVICE_ID, TbMsgMetaData.EMPTY, MSG_DATA); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(MSG_DATA) + .build(); node.onMsg(ctxMock, msg); then(ctxMock).should().enqueueForTellNext(outMsg, TbNodeConnectionType.SUCCESS); @@ -370,7 +450,12 @@ public class TbSendRPCRequestNodeTest { @Test public void givenRpcResponseWithError_whenOnMsg_thenTellFailure() { - TbMsg outMsg = TbMsg.newMsg(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE, DEVICE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg outMsg = TbMsg.builder() + .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); given(ctxMock.getRpcService()).willReturn(rpcServiceMock); given(ctxMock.getTenantId()).willReturn(TENANT_ID); @@ -384,7 +469,12 @@ public class TbSendRPCRequestNodeTest { return null; }).given(rpcServiceMock).sendRpcRequestToDevice(any(RuleEngineDeviceRpcRequest.class), any(Consumer.class)); - TbMsg msg = TbMsg.newMsg(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE, DEVICE_ID, TbMsgMetaData.EMPTY, MSG_DATA); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(MSG_DATA) + .build(); node.onMsg(ctxMock, msg); then(ctxMock).should().enqueueForTellFailure(outMsg, RpcError.NO_ACTIVE_CONNECTION.name()); @@ -396,7 +486,12 @@ public class TbSendRPCRequestNodeTest { public void givenOriginatorIsNotDevice_whenOnMsg_thenThrowsException(EntityType entityType) { EntityId entityId = EntityIdFactory.getByTypeAndUuid(entityType, "ac21a1bb-eabf-4463-8313-24bea1f498d9"); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, entityId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(entityId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); node.onMsg(ctxMock, msg); ArgumentCaptor throwableCaptor = ArgumentCaptor.forClass(Throwable.class); @@ -409,7 +504,12 @@ public class TbSendRPCRequestNodeTest { @ParameterizedTest @ValueSource(strings = {"method", "params"}) public void givenMethodOrParamsAreNotPresent_whenOnMsg_thenThrowsException(String key) { - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, "{\"" + key + "\": \"value\"}"); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data("{\"" + key + "\": \"value\"}") + .build(); node.onMsg(ctxMock, msg); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgAttributesNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgAttributesNodeTest.java index b5cf5533b8..4e1add54fe 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgAttributesNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgAttributesNodeTest.java @@ -164,7 +164,12 @@ class TbMsgAttributesNodeTest extends AbstractRuleNodeUpgradeTest { md.putValue(NOTIFY_DEVICE_METADATA_KEY, mdValue); } // dummy list with one ts kv to pass the empty list check. - var testTbMsg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, deviceId, md, TbMsg.EMPTY_STRING); + var testTbMsg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(deviceId) + .metaData(md.copy()) + .data(TbMsg.EMPTY_STRING) + .build(); List testAttrList = List.of(new BaseAttributeKvEntry(0L, new StringDataEntry("testKey", "testValue"))); node.saveAttr(testAttrList, ctxMock, testTbMsg, AttributeScope.SHARED_SCOPE, false); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgDeleteAttributesNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgDeleteAttributesNodeTest.java index 3d546c80f7..680e8b5004 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgDeleteAttributesNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgDeleteAttributesNodeTest.java @@ -139,7 +139,13 @@ public class TbMsgDeleteAttributesNodeTest { } final String data = "{\"TestAttribute_2\": \"humidity\", \"TestAttribute_3\": \"voltage\"}"; - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_ATTRIBUTES_REQUEST, deviceId, metaData, data, callback); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_ATTRIBUTES_REQUEST) + .originator(deviceId) + .metaData(metaData.copy()) + .data(data) + .callback(callback) + .build(); node.onMsg(ctx, msg); ArgumentCaptor successCaptor = ArgumentCaptor.forClass(Runnable.class); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgTimeseriesNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgTimeseriesNodeTest.java index 1fb4e9eefd..0a7cbc7307 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgTimeseriesNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgTimeseriesNodeTest.java @@ -96,7 +96,12 @@ public class TbMsgTimeseriesNodeTest { @EnumSource(TbMsgType.class) public void givenMsgTypeAndEmptyMsgData_whenOnMsg_thenVerifyFailureMsg(TbMsgType msgType) throws TbNodeException { init(); - TbMsg msg = TbMsg.newMsg(msgType, DEVICE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_ARRAY); + TbMsg msg = TbMsg.builder() + .type(msgType) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_ARRAY) + .build(); node.onMsg(ctxMock, msg); ArgumentCaptor throwableCaptor = ArgumentCaptor.forClass(Throwable.class); @@ -122,7 +127,12 @@ public class TbMsgTimeseriesNodeTest { "humidity": 77 } """; - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, data); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(data) + .build(); when(ctxMock.getTelemetryService()).thenReturn(telemetryServiceMock); when(ctxMock.getTenantId()).thenReturn(TENANT_ID); @@ -159,7 +169,12 @@ public class TbMsgTimeseriesNodeTest { """; long ts = System.currentTimeMillis(); var metadata = Map.of("ts", String.valueOf(ts)); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, new TbMsgMetaData(metadata), data); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(new TbMsgMetaData(metadata).copy()) + .data(data) + .build(); when(ctxMock.getTelemetryService()).thenReturn(telemetryServiceMock); when(ctxMock.getTenantId()).thenReturn(TENANT_ID); @@ -197,7 +212,12 @@ public class TbMsgTimeseriesNodeTest { """; var metadata = new TbMsgMetaData(); metadata.putValue("TTL", ttlFromMd); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, metadata, data); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(metadata.copy()) + .data(data) + .build(); node.onMsg(ctxMock, msg); verify(telemetryServiceMock).saveAndNotify(eq(TENANT_ID), isNull(), eq(DEVICE_ID), anyList(), eq(expectedTtl), any(TelemetryNodeCallback.class)); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbChangeOriginatorNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbChangeOriginatorNodeTest.java index 098fe3efda..dd0b3e3385 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbChangeOriginatorNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbChangeOriginatorNodeTest.java @@ -176,7 +176,12 @@ public class TbChangeOriginatorNodeTest { Device device = new Device(DEVICE_ID); device.setCustomerId(CUSTOMER_ID); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); TbMsg expectedMsg = TbMsg.transformMsgOriginator(msg, CUSTOMER_ID); given(ctxMock.getDbCallbackExecutor()).willReturn(dbExecutor); @@ -199,7 +204,12 @@ public class TbChangeOriginatorNodeTest { public void givenOriginatorSourceIsTenant_whenOnMsg_thenTellSuccess() throws TbNodeException { config.setOriginatorSource(TENANT); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, ASSET_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(ASSET_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); TbMsg expectedMsg = TbMsg.transformMsgOriginator(msg, TENANT_ID); given(ctxMock.getDbCallbackExecutor()).willReturn(dbExecutor); @@ -219,7 +229,12 @@ public class TbChangeOriginatorNodeTest { public void givenOriginatorSourceIsRelatedAndNewOriginatorIsNull_whenOnMsg_thenTellFailure() throws TbNodeException { config.setOriginatorSource(RELATED); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, ASSET_ID, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(ASSET_ID) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); given(ctxMock.getDbCallbackExecutor()).willReturn(dbExecutor); given(ctxMock.getRelationService()).willReturn(relationServiceMock); @@ -253,7 +268,12 @@ public class TbChangeOriginatorNodeTest { Alarm alarm = new Alarm(alarmId); alarm.setOriginator(DEVICE_ID); - TbMsg msg = TbMsg.newMsg(TbMsgType.ALARM, alarmId, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.ALARM) + .originator(alarmId) + .metaData(TbMsgMetaData.EMPTY.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); TbMsg expectedMsg = TbMsg.transformMsgOriginator(msg, DEVICE_ID); given(ctxMock.getDbCallbackExecutor()).willReturn(dbExecutor); @@ -279,7 +299,12 @@ public class TbChangeOriginatorNodeTest { config.setEntityType(EntityType.ASSET.name()); config.setEntityNamePattern(entityNamePattern); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, metaData, data); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(metaData.copy()) + .data(data) + .build(); TbMsg expectedMsg = TbMsg.transformMsgOriginator(msg, ASSET_ID); given(ctxMock.getDbCallbackExecutor()).willReturn(dbExecutor); @@ -315,7 +340,12 @@ public class TbChangeOriginatorNodeTest { TbMsgMetaData metaData = new TbMsgMetaData(); metaData.putValue("md-name-pattern", "test-asset"); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, DEVICE_ID, metaData, TbMsg.EMPTY_JSON_OBJECT); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(DEVICE_ID) + .metaData(metaData.copy()) + .data(TbMsg.EMPTY_JSON_OBJECT) + .build(); given(ctxMock.getDbCallbackExecutor()).willReturn(dbExecutor); given(ctxMock.getAssetService()).willReturn(assetServiceMock); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbCopyKeysNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbCopyKeysNodeTest.java index b680981e34..fe27c4452b 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbCopyKeysNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbCopyKeysNodeTest.java @@ -196,7 +196,13 @@ public class TbCopyKeysNodeTest { "voltageDataValue", "220", "city", "NY" ); - return TbMsg.newMsg(TbMsgType.POST_ATTRIBUTES_REQUEST, entityId, new TbMsgMetaData(mdMap), data, callback); + return TbMsg.builder() + .type(TbMsgType.POST_ATTRIBUTES_REQUEST) + .originator(entityId) + .metaData(new TbMsgMetaData(mdMap).copy()) + .data(data) + .callback(callback) + .build(); } } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbDeleteKeysNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbDeleteKeysNodeTest.java index 670b117a2c..c47beffdec 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbDeleteKeysNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbDeleteKeysNodeTest.java @@ -173,7 +173,13 @@ public class TbDeleteKeysNodeTest { "voltageDataValue", "220", "city", "NY" ); - return TbMsg.newMsg(TbMsgType.POST_ATTRIBUTES_REQUEST, entityId, new TbMsgMetaData(mdMap), data, callback); + return TbMsg.builder() + .type(TbMsgType.POST_ATTRIBUTES_REQUEST) + .originator(entityId) + .metaData(new TbMsgMetaData(mdMap).copy()) + .data(data) + .callback(callback) + .build(); } } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbJsonPathNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbJsonPathNodeTest.java index 2c09bf555c..3ca1521f43 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbJsonPathNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbJsonPathNodeTest.java @@ -171,6 +171,12 @@ public class TbJsonPathNodeTest { Map mdMap = Map.of("country", "US", "city", "NY" ); - return TbMsg.newMsg(TbMsgType.POST_ATTRIBUTES_REQUEST, entityId, new TbMsgMetaData(mdMap), data, callback); + return TbMsg.builder() + .type(TbMsgType.POST_ATTRIBUTES_REQUEST) + .originator(entityId) + .metaData(new TbMsgMetaData(mdMap).copy()) + .data(data) + .callback(callback) + .build(); } } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbMsgDeduplicationNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbMsgDeduplicationNodeTest.java index 26fd9081a9..1a79865867 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbMsgDeduplicationNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbMsgDeduplicationNodeTest.java @@ -103,7 +103,12 @@ public class TbMsgDeduplicationNodeTest extends AbstractRuleNodeUpgradeTest { EntityId originator = (EntityId) (invocationOnMock.getArguments())[2]; TbMsgMetaData metaData = (TbMsgMetaData) (invocationOnMock.getArguments())[3]; String data = (String) (invocationOnMock.getArguments())[4]; - return TbMsg.newMsg(type, originator, metaData.copy(), data); + return TbMsg.builder() + .type(type) + .originator(originator) + .metaData(metaData.copy().copy()) + .data(data) + .build(); }).when(ctx).newMsg(isNull(), eq(TbMsgType.DEDUPLICATION_TIMEOUT_SELF_MSG), nullable(EntityId.class), any(TbMsgMetaData.class), any(String.class)); node = spy(new TbMsgDeduplicationNode()); config = new TbMsgDeduplicationNodeConfiguration().defaultConfiguration(); @@ -452,12 +457,13 @@ public class TbMsgDeduplicationNodeTest extends AbstractRuleNodeUpgradeTest { dataNode.put("deviceId", deviceId.getId().toString()); TbMsgMetaData metaData = new TbMsgMetaData(); metaData.putValue("ts", String.valueOf(ts)); - return TbMsg.newMsg( - DataConstants.MAIN_QUEUE_NAME, - TbMsgType.POST_TELEMETRY_REQUEST, - deviceId, - metaData, - JacksonUtil.toString(dataNode)); + return TbMsg.builder() + .queueName(DataConstants.MAIN_QUEUE_NAME) + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(deviceId) + .metaData(metaData.copy()) + .data(JacksonUtil.toString(dataNode)) + .build(); } private String getMergedData(List msgs) { diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbRenameKeysNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbRenameKeysNodeTest.java index 03580920ce..851d45edc7 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbRenameKeysNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbRenameKeysNodeTest.java @@ -188,6 +188,12 @@ public class TbRenameKeysNodeTest { "country", "US", "city", "NY" ); - return TbMsg.newMsg(TbMsgType.POST_ATTRIBUTES_REQUEST, entityId, new TbMsgMetaData(mdMap), data, callback); + return TbMsg.builder() + .type(TbMsgType.POST_ATTRIBUTES_REQUEST) + .originator(entityId) + .metaData(new TbMsgMetaData(mdMap).copy()) + .data(data) + .callback(callback) + .build(); } } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbSplitArrayMsgNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbSplitArrayMsgNodeTest.java index 8abf83fa48..1ba7760244 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbSplitArrayMsgNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbSplitArrayMsgNodeTest.java @@ -132,6 +132,12 @@ public class TbSplitArrayMsgNodeTest { "country", "US", "city", "NY" ); - return TbMsg.newMsg(TbMsgType.POST_ATTRIBUTES_REQUEST, entityId, new TbMsgMetaData(mdMap), data, callback); + return TbMsg.builder() + .type(TbMsgType.POST_ATTRIBUTES_REQUEST) + .originator(entityId) + .metaData(new TbMsgMetaData(mdMap).copy()) + .data(data) + .callback(callback) + .build(); } } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbTransformMsgNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbTransformMsgNodeTest.java index 98ecc237b6..5c8ea2c0f3 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbTransformMsgNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbTransformMsgNodeTest.java @@ -61,8 +61,24 @@ public class TbTransformMsgNodeTest { RuleChainId ruleChainId = new RuleChainId(Uuids.timeBased()); RuleNodeId ruleNodeId = new RuleNodeId(Uuids.timeBased()); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, null, metaData, TbMsgDataType.JSON,rawJson, ruleChainId, ruleNodeId); - TbMsg transformedMsg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, null, metaData, TbMsgDataType.JSON, "{new}", ruleChainId, ruleNodeId); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(null) + .metaData(metaData.copy()) + .dataType(TbMsgDataType.JSON) + .data(rawJson) + .ruleChainId(ruleChainId) + .ruleNodeId(ruleNodeId) + .build(); + TbMsg transformedMsg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(null) + .metaData(metaData.copy()) + .dataType(TbMsgDataType.JSON) + .data("{new}") + .ruleChainId(ruleChainId) + .ruleNodeId(ruleNodeId) + .build(); when(scriptEngine.executeUpdateAsync(msg)).thenReturn(Futures.immediateFuture(Collections.singletonList(transformedMsg))); node.onMsg(ctx, msg); @@ -81,7 +97,15 @@ public class TbTransformMsgNodeTest { RuleChainId ruleChainId = new RuleChainId(Uuids.timeBased()); RuleNodeId ruleNodeId = new RuleNodeId(Uuids.timeBased()); - TbMsg msg = TbMsg.newMsg(TbMsgType.POST_TELEMETRY_REQUEST, null, metaData, TbMsgDataType.JSON, rawJson, ruleChainId, ruleNodeId); + TbMsg msg = TbMsg.builder() + .type(TbMsgType.POST_TELEMETRY_REQUEST) + .originator(null) + .metaData(metaData.copy()) + .dataType(TbMsgDataType.JSON) + .data(rawJson) + .ruleChainId(ruleChainId) + .ruleNodeId(ruleNodeId) + .build(); when(scriptEngine.executeUpdateAsync(msg)).thenReturn(Futures.immediateFailedFuture(new IllegalStateException("error"))); node.onMsg(ctx, msg); From e4cc2b4f9ff1b6b5810d4069966db96b48f2b41b Mon Sep 17 00:00:00 2001 From: ViacheslavKlimov Date: Fri, 13 Dec 2024 13:23:15 +0200 Subject: [PATCH 3/7] Introduce TbMsgTransformer --- .../actors/ruleChain/DefaultTbContext.java | 8 +- .../server/controller/RpcV2Controller.java | 2 +- .../controller/RuleChainController.java | 2 +- .../controller/RuleEngineController.java | 2 +- .../service/action/EntityActionService.java | 2 +- .../device/DeviceProvisionServiceImpl.java | 4 +- .../service/edge/rpc/EdgeGrpcService.java | 2 +- .../edge/rpc/processor/BaseEdgeProcessor.java | 2 +- .../processor/device/DeviceEdgeProcessor.java | 2 +- .../telemetry/BaseTelemetryProcessor.java | 6 +- .../entitiy/EntityStateSourcingListener.java | 2 +- .../rpc/DefaultTbCoreDeviceRpcService.java | 2 +- .../server/service/rpc/TbRpcService.java | 2 +- .../state/DefaultDeviceStateService.java | 2 +- .../transport/DefaultTransportApiService.java | 2 +- .../actors/rule/DefaultTbContextTest.java | 6 +- .../controller/RuleEngineControllerTest.java | 10 +-- .../controller/TenantControllerTest.java | 2 +- ...AbstractRuleEngineFlowIntegrationTest.java | 4 +- ...actRuleEngineLifecycleIntegrationTest.java | 2 +- .../queue/DefaultTbClusterServiceTest.java | 16 ++-- .../TbRuleEngineQueueConsumerManagerTest.java | 2 +- .../ruleengine/TbRuleEngineStrategyTest.java | 2 +- .../DefaultTbRuleEngineRpcServiceTest.java | 2 +- .../DefaultRuleEngineCallServiceTest.java | 4 +- .../SequentialTimeseriesPersistenceTest.java | 2 +- .../thingsboard/server/common/msg/TbMsg.java | 34 +++++-- .../common/TbRuleEngineProducerService.java | 2 +- .../service/DefaultTransportService.java | 2 +- .../rule/engine/api/util/TbNodeUtilsTest.java | 10 +-- .../rule/engine/action/TbMsgCountNode.java | 2 +- .../deduplication/TbMsgDeduplicationNode.java | 4 +- .../rule/engine/delay/TbMsgDelayNode.java | 2 +- .../engine/profile/TbDeviceProfileNode.java | 6 +- .../action/TbAssignToCustomerNodeTest.java | 2 +- .../engine/action/TbClearAlarmNodeTest.java | 4 +- .../TbCopyAttributesToEntityViewNodeTest.java | 12 +-- .../engine/action/TbCreateAlarmNodeTest.java | 14 +-- .../action/TbCreateRelationNodeTest.java | 4 +- .../action/TbDeleteRelationNodeTest.java | 2 +- .../engine/action/TbDeviceStateNodeTest.java | 6 +- .../rule/engine/action/TbLogNodeTest.java | 6 +- .../engine/action/TbMsgCountNodeTest.java | 6 +- .../TbSaveToCustomCassandraTableNodeTest.java | 10 +-- .../TbUnassignFromCustomerNodeTest.java | 2 +- .../aws/lambda/TbAwsLambdaNodeTest.java | 10 +-- .../rule/engine/aws/sns/TbSnsNodeTest.java | 4 +- .../rule/engine/aws/sqs/TbSqsNodeTest.java | 8 +- .../engine/debug/TbMsgGeneratorNodeTest.java | 8 +- .../engine/edge/TbMsgPushToEdgeNodeTest.java | 6 +- .../filter/TbAssetTypeSwitchNodeTest.java | 2 +- .../filter/TbCheckAlarmStatusNodeTest.java | 2 +- .../engine/filter/TbCheckMessageNodeTest.java | 4 +- .../filter/TbCheckRelationNodeTest.java | 2 +- .../filter/TbDeviceTypeSwitchNodeTest.java | 2 +- .../engine/filter/TbJsFilterNodeTest.java | 6 +- .../engine/filter/TbJsSwitchNodeTest.java | 2 +- .../filter/TbMsgTypeFilterNodeTest.java | 2 +- .../filter/TbMsgTypeSwitchNodeTest.java | 2 +- .../TbOriginatorTypeFilterNodeTest.java | 2 +- .../TbOriginatorTypeSwitchNodeTest.java | 2 +- .../rule/engine/flow/TbAckNodeTest.java | 2 +- .../engine/flow/TbCheckpointNodeTest.java | 4 +- .../engine/flow/TbRuleChainInputNodeTest.java | 2 +- .../flow/TbRuleChainOutputNodeTest.java | 2 +- .../engine/gcp/pubsub/TbPubSubNodeTest.java | 8 +- .../geo/TbGpsGeofencingActionNodeTest.java | 2 +- .../geo/TbGpsGeofencingFilterNodeTest.java | 4 +- .../rule/engine/kafka/TbKafkaNodeTest.java | 12 +-- .../engine/mail/TbMsgToEmailNodeTest.java | 2 +- .../rule/engine/math/TbMathNodeTest.java | 38 ++++---- .../metadata/CalculateDeltaNodeTest.java | 32 +++---- .../TbFetchDeviceCredentialsNodeTest.java | 2 +- .../metadata/TbGetAttributesNodeTest.java | 4 +- .../TbGetCustomerAttributeNodeTest.java | 6 +- .../TbGetCustomerDetailsNodeTest.java | 4 +- .../metadata/TbGetDeviceAttrNodeTest.java | 2 +- .../TbGetOriginatorFieldsNodeTest.java | 12 +-- .../TbGetRelatedAttributeNodeTest.java | 4 +- .../metadata/TbGetTelemetryNodeTest.java | 20 ++--- .../TbGetTenantAttributeNodeTest.java | 4 +- .../metadata/TbGetTenantDetailsNodeTest.java | 4 +- .../rule/engine/mqtt/TbMqttNodeTest.java | 4 +- .../rule/engine/profile/DeviceStateTest.java | 14 +-- .../profile/TbDeviceProfileNodeTest.java | 90 +++++++++---------- .../engine/rabbitmq/TbRabbitMqNodeTest.java | 6 +- .../rule/engine/rest/TbHttpClientTest.java | 4 +- .../engine/rest/TbRestApiCallNodeTest.java | 4 +- .../rest/TbSendRestApiCallReplyNodeTest.java | 4 +- .../engine/rpc/TbSendRPCReplyNodeTest.java | 8 +- .../engine/rpc/TbSendRPCRequestNodeTest.java | 40 ++++----- .../telemetry/TbMsgAttributesNodeTest.java | 2 +- .../TbMsgDeleteAttributesNodeTest.java | 2 +- .../telemetry/TbMsgTimeseriesNodeTest.java | 8 +- .../transform/TbChangeOriginatorNodeTest.java | 12 +-- .../engine/transform/TbCopyKeysNodeTest.java | 2 +- .../transform/TbDeleteKeysNodeTest.java | 2 +- .../engine/transform/TbJsonPathNodeTest.java | 2 +- .../transform/TbMsgDeduplicationNodeTest.java | 4 +- .../transform/TbRenameKeysNodeTest.java | 2 +- .../transform/TbSplitArrayMsgNodeTest.java | 2 +- .../transform/TbTransformMsgNodeTest.java | 6 +- 102 files changed, 349 insertions(+), 327 deletions(-) diff --git a/application/src/main/java/org/thingsboard/server/actors/ruleChain/DefaultTbContext.java b/application/src/main/java/org/thingsboard/server/actors/ruleChain/DefaultTbContext.java index e456f9dd46..0c3c2b749d 100644 --- a/application/src/main/java/org/thingsboard/server/actors/ruleChain/DefaultTbContext.java +++ b/application/src/main/java/org/thingsboard/server/actors/ruleChain/DefaultTbContext.java @@ -363,7 +363,7 @@ public class DefaultTbContext implements TbContext { @Override public TbMsg newMsg(String queueName, String type, EntityId originator, CustomerId customerId, TbMsgMetaData metaData, String data) { - return TbMsg.builder() + return TbMsg.newMsg() .queueName(queueName) .type(type) .originator(originator) @@ -387,7 +387,7 @@ public class DefaultTbContext implements TbContext { @Override public TbMsg newMsg(String queueName, TbMsgType type, EntityId originator, CustomerId customerId, TbMsgMetaData metaData, String data) { - return TbMsg.builder() + return TbMsg.newMsg() .queueName(queueName) .type(type) .originator(originator) @@ -510,7 +510,7 @@ public class DefaultTbContext implements TbContext { defaultQueueName = profile.getDefaultQueueName(); defaultRuleChainId = profile.getDefaultRuleChainId(); } - return TbMsg.builder() + return TbMsg.newMsg() .queueName(defaultQueueName) .type(action) .originator(id) @@ -536,7 +536,7 @@ public class DefaultTbContext implements TbContext { defaultQueueName = profile.getDefaultQueueName(); defaultRuleChainId = profile.getDefaultRuleChainId(); } - return TbMsg.builder() + return TbMsg.newMsg() .queueName(defaultQueueName) .type(actionMsgType) .originator(id) diff --git a/application/src/main/java/org/thingsboard/server/controller/RpcV2Controller.java b/application/src/main/java/org/thingsboard/server/controller/RpcV2Controller.java index 51a13321e7..98269d38ac 100644 --- a/application/src/main/java/org/thingsboard/server/controller/RpcV2Controller.java +++ b/application/src/main/java/org/thingsboard/server/controller/RpcV2Controller.java @@ -239,7 +239,7 @@ public class RpcV2Controller extends AbstractRpcController { rpcService.deleteRpc(getTenantId(), rpcId); rpc.setStatus(RpcStatus.DELETED); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.RPC_DELETED) .originator(rpc.getDeviceId()) .metaData(TbMsgMetaData.EMPTY.copy()) 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 ba7e8e87bc..73e7966666 100644 --- a/application/src/main/java/org/thingsboard/server/controller/RuleChainController.java +++ b/application/src/main/java/org/thingsboard/server/controller/RuleChainController.java @@ -384,7 +384,7 @@ public class RuleChainController extends BaseController { } engine = new RuleNodeTbelScriptEngine(getTenantId(), tbelInvokeService, script, argNames); } - TbMsg inMsg = TbMsg.builder() + TbMsg inMsg = TbMsg.newMsg() .type(msgType) .originator(null) .metaData(new TbMsgMetaData(metadata).copy()) diff --git a/application/src/main/java/org/thingsboard/server/controller/RuleEngineController.java b/application/src/main/java/org/thingsboard/server/controller/RuleEngineController.java index 6484553f80..6fe0d5fd52 100644 --- a/application/src/main/java/org/thingsboard/server/controller/RuleEngineController.java +++ b/application/src/main/java/org/thingsboard/server/controller/RuleEngineController.java @@ -169,7 +169,7 @@ public class RuleEngineController extends BaseController { metaData.put("serviceId", serviceInfoProvider.getServiceId()); metaData.put("requestUUID", requestId.toString()); metaData.put("expirationTime", Long.toString(expTime)); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .queueName(queueName) .type(TbMsgType.REST_API_REQUEST) .originator(entityId) diff --git a/application/src/main/java/org/thingsboard/server/service/action/EntityActionService.java b/application/src/main/java/org/thingsboard/server/service/action/EntityActionService.java index e743fc7a4e..8089b32f3c 100644 --- a/application/src/main/java/org/thingsboard/server/service/action/EntityActionService.java +++ b/application/src/main/java/org/thingsboard/server/service/action/EntityActionService.java @@ -172,7 +172,7 @@ public class EntityActionService { if (tenantId != null && !tenantId.isSysTenantId()) { processNotificationRules(tenantId, entityId, entity, actionType, user, additionalInfo); } - TbMsg tbMsg = TbMsg.builder() + TbMsg tbMsg = TbMsg.newMsg() .type(msgType.get()) .originator(entityId) .customerId(customerId) diff --git a/application/src/main/java/org/thingsboard/server/service/device/DeviceProvisionServiceImpl.java b/application/src/main/java/org/thingsboard/server/service/device/DeviceProvisionServiceImpl.java index 59f835b0a1..4265747ee8 100644 --- a/application/src/main/java/org/thingsboard/server/service/device/DeviceProvisionServiceImpl.java +++ b/application/src/main/java/org/thingsboard/server/service/device/DeviceProvisionServiceImpl.java @@ -253,7 +253,7 @@ public class DeviceProvisionServiceImpl implements DeviceProvisionService { private void pushProvisionEventToRuleEngine(ProvisionRequest request, Device device, TbMsgType type) { try { JsonNode entityNode = JacksonUtil.valueToTree(request); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(type) .originator(device.getId()) .customerId(device.getCustomerId()) @@ -269,7 +269,7 @@ public class DeviceProvisionServiceImpl implements DeviceProvisionService { private void pushDeviceCreatedEventToRuleEngine(Device device) { try { ObjectNode entityNode = JacksonUtil.OBJECT_MAPPER.valueToTree(device); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.ENTITY_CREATED) .originator(device.getId()) .customerId(device.getCustomerId()) diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/EdgeGrpcService.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/EdgeGrpcService.java index bef7c90632..ae377ac657 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/EdgeGrpcService.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/EdgeGrpcService.java @@ -575,7 +575,7 @@ public class EdgeGrpcService extends EdgeRpcServiceGrpc.EdgeRpcServiceImplBase i md.putValue("edgeName", edge.getName()); md.putValue("edgeType", edge.getType()); } - TbMsg tbMsg = TbMsg.builder() + TbMsg tbMsg = TbMsg.newMsg() .type(msgType) .originator(edgeId) .metaData(md.copy()) diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/BaseEdgeProcessor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/BaseEdgeProcessor.java index f7981f81db..c7526b574e 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/BaseEdgeProcessor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/BaseEdgeProcessor.java @@ -343,7 +343,7 @@ public abstract class BaseEdgeProcessor { protected void pushEntityEventToRuleEngine(TenantId tenantId, EntityId entityId, CustomerId customerId, TbMsgType msgType, String msgData, TbMsgMetaData metaData) { - TbMsg tbMsg = TbMsg.builder() + TbMsg tbMsg = TbMsg.newMsg() .type(msgType) .originator(entityId) .customerId(customerId) diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/device/DeviceEdgeProcessor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/device/DeviceEdgeProcessor.java index eae19082c5..a68cb101a0 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/device/DeviceEdgeProcessor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/device/DeviceEdgeProcessor.java @@ -190,7 +190,7 @@ public abstract class DeviceEdgeProcessor extends BaseDeviceProcessor implements ObjectNode data = JacksonUtil.newObjectNode(); data.put("method", deviceRpcCallMsg.getRequestMsg().getMethod()); data.put("params", deviceRpcCallMsg.getRequestMsg().getParams()); - TbMsg tbMsg = TbMsg.builder() + TbMsg tbMsg = TbMsg.newMsg() .type(TbMsgType.TO_SERVER_RPC_REQUEST) .originator(deviceId) .metaData(metaData.copy()) diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/telemetry/BaseTelemetryProcessor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/telemetry/BaseTelemetryProcessor.java index bc425bd624..a524ccca21 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/telemetry/BaseTelemetryProcessor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/telemetry/BaseTelemetryProcessor.java @@ -208,7 +208,7 @@ public abstract class BaseTelemetryProcessor extends BaseEdgeProcessor { JsonObject json = JsonUtils.getJsonObject(tsKv.getKvList()); metaData.putValue("ts", tsKv.getTs() + ""); var defaultQueueAndRuleChain = getDefaultQueueNameAndRuleChainId(tenantId, entityId); - TbMsg tbMsg = TbMsg.builder() + TbMsg tbMsg = TbMsg.newMsg() .queueName(defaultQueueAndRuleChain.getKey()) .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(entityId) @@ -261,7 +261,7 @@ public abstract class BaseTelemetryProcessor extends BaseEdgeProcessor { SettableFuture futureToSet = SettableFuture.create(); JsonObject json = JsonUtils.getJsonObject(msg.getKvList()); var defaultQueueAndRuleChain = getDefaultQueueNameAndRuleChainId(tenantId, entityId); - TbMsg tbMsg = TbMsg.builder() + TbMsg tbMsg = TbMsg.newMsg() .queueName(defaultQueueAndRuleChain.getKey()) .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(entityId) @@ -299,7 +299,7 @@ public abstract class BaseTelemetryProcessor extends BaseEdgeProcessor { @Override public void onSuccess(@Nullable Void tmp) { var defaultQueueAndRuleChain = getDefaultQueueNameAndRuleChainId(tenantId, entityId); - TbMsg tbMsg = TbMsg.builder() + TbMsg tbMsg = TbMsg.newMsg() .queueName(defaultQueueAndRuleChain.getKey()) .type(TbMsgType.ATTRIBUTES_UPDATED) .originator(entityId) diff --git a/application/src/main/java/org/thingsboard/server/service/entitiy/EntityStateSourcingListener.java b/application/src/main/java/org/thingsboard/server/service/entitiy/EntityStateSourcingListener.java index 2fa2bfd0e2..288afcb081 100644 --- a/application/src/main/java/org/thingsboard/server/service/entitiy/EntityStateSourcingListener.java +++ b/application/src/main/java/org/thingsboard/server/service/entitiy/EntityStateSourcingListener.java @@ -250,7 +250,7 @@ public class EntityStateSourcingListener { private void pushAssignedFromNotification(Tenant currentTenant, TenantId newTenantId, Device assignedDevice) { String data = JacksonUtil.toString(JacksonUtil.valueToTree(assignedDevice)); if (data != null) { - TbMsg tbMsg = TbMsg.builder() + TbMsg tbMsg = TbMsg.newMsg() .type(TbMsgType.ENTITY_ASSIGNED_FROM_TENANT) .originator(assignedDevice.getId()) .customerId(assignedDevice.getCustomerId()) diff --git a/application/src/main/java/org/thingsboard/server/service/rpc/DefaultTbCoreDeviceRpcService.java b/application/src/main/java/org/thingsboard/server/service/rpc/DefaultTbCoreDeviceRpcService.java index 0e65e55243..49c0b6cc30 100644 --- a/application/src/main/java/org/thingsboard/server/service/rpc/DefaultTbCoreDeviceRpcService.java +++ b/application/src/main/java/org/thingsboard/server/service/rpc/DefaultTbCoreDeviceRpcService.java @@ -183,7 +183,7 @@ public class DefaultTbCoreDeviceRpcService implements TbCoreDeviceRpcService { entityNode.put(DataConstants.ADDITIONAL_INFO, msg.getAdditionalInfo()); try { - TbMsg tbMsg = TbMsg.builder() + TbMsg tbMsg = TbMsg.newMsg() .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) .originator(msg.getDeviceId()) .customerId(Optional.ofNullable(currentUser).map(User::getCustomerId).orElse(null)) diff --git a/application/src/main/java/org/thingsboard/server/service/rpc/TbRpcService.java b/application/src/main/java/org/thingsboard/server/service/rpc/TbRpcService.java index abe4679afd..5936238e39 100644 --- a/application/src/main/java/org/thingsboard/server/service/rpc/TbRpcService.java +++ b/application/src/main/java/org/thingsboard/server/service/rpc/TbRpcService.java @@ -63,7 +63,7 @@ public class TbRpcService { } private void pushRpcMsgToRuleEngine(TenantId tenantId, Rpc rpc) { - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.valueOf("RPC_" + rpc.getStatus().name())) .originator(rpc.getDeviceId()) .metaData(TbMsgMetaData.EMPTY.copy()) diff --git a/application/src/main/java/org/thingsboard/server/service/state/DefaultDeviceStateService.java b/application/src/main/java/org/thingsboard/server/service/state/DefaultDeviceStateService.java index 18315c0372..6285778efc 100644 --- a/application/src/main/java/org/thingsboard/server/service/state/DefaultDeviceStateService.java +++ b/application/src/main/java/org/thingsboard/server/service/state/DefaultDeviceStateService.java @@ -857,7 +857,7 @@ public class DefaultDeviceStateService extends AbstractPartitionBasedService devices, Asset asset, int idx) throws ExecutionException, InterruptedException, TimeoutException { for (Device device : devices) { - TbMsg tbMsg = TbMsg.builder() + TbMsg tbMsg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(device.getId()) .metaData(getTbMsgMetadata(device.getName(), ts.get(idx)).copy()) diff --git a/common/message/src/main/java/org/thingsboard/server/common/msg/TbMsg.java b/common/message/src/main/java/org/thingsboard/server/common/msg/TbMsg.java index b987a73a6e..66c48077c2 100644 --- a/common/message/src/main/java/org/thingsboard/server/common/msg/TbMsg.java +++ b/common/message/src/main/java/org/thingsboard/server/common/msg/TbMsg.java @@ -99,8 +99,13 @@ public final class TbMsg implements Serializable { */ @Deprecated(since = "3.6.0") public static TbMsg transformMsg(TbMsg tbMsg, String type, EntityId originator, TbMsgMetaData metaData, String data) { - return new TbMsg(tbMsg.queueName, tbMsg.id, tbMsg.ts, null, type, originator, tbMsg.customerId, metaData.copy(), tbMsg.dataType, - data, tbMsg.ruleChainId, tbMsg.ruleNodeId, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), tbMsg.callback); + return tbMsg.transform() + .type(type) + .originator(originator) + .metaData(metaData) + .data(data) + .ctx(tbMsg.ctx) + .build(); } public static TbMsg transformMsg(TbMsg tbMsg, TbMsgType type, EntityId originator, TbMsgMetaData metaData, String data) { @@ -347,12 +352,12 @@ public final class TbMsg implements Serializable { return false; } - public static TbMsgBuilder builder() { + public static TbMsgBuilder newMsg() { return new TbMsgBuilder(); } - public TbMsgBuilder toBuilder() { - return new TbMsgBuilder() + public TbMsgBuilder transform() { + return new TbMsgTransformer() .queueName(this.queueName) .id(this.id) .ts(this.ts) @@ -371,7 +376,23 @@ public final class TbMsg implements Serializable { .callback(this.callback); } - public static class TbMsgBuilder { + private static class TbMsgTransformer extends TbMsgBuilder { + + @Override + public TbMsgTransformer metaData(TbMsgMetaData metaData) { + super.metaData(metaData.copy()); + return this; + } + + @Override + public TbMsgTransformer ctx(TbMsgProcessingCtx ctx) { + super.ctx(ctx.copy()); + return this; + } + + } + + private static class TbMsgBuilder { private String queueName; private UUID id; @@ -415,6 +436,7 @@ public final class TbMsg implements Serializable { @Deprecated public TbMsgBuilder type(String type) { this.type = type; + this.internalType = null; return this; } diff --git a/common/queue/src/main/java/org/thingsboard/server/queue/common/TbRuleEngineProducerService.java b/common/queue/src/main/java/org/thingsboard/server/queue/common/TbRuleEngineProducerService.java index 49b40e3a6d..09f1f4608d 100644 --- a/common/queue/src/main/java/org/thingsboard/server/queue/common/TbRuleEngineProducerService.java +++ b/common/queue/src/main/java/org/thingsboard/server/queue/common/TbRuleEngineProducerService.java @@ -47,7 +47,7 @@ public class TbRuleEngineProducerService { Integer partition = tpi.getPartition().orElse(null); UUID id = i > 0 ? UUID.randomUUID() : tbMsg.getId(); - tbMsg = tbMsg.toBuilder() + tbMsg = tbMsg.transform() .id(id) .correlationId(correlationId) .partition(partition) diff --git a/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/DefaultTransportService.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/DefaultTransportService.java index e15d27a1e0..85e8b4cfd1 100644 --- a/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/DefaultTransportService.java +++ b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/DefaultTransportService.java @@ -1136,7 +1136,7 @@ public class DefaultTransportService extends TransportActivityManager implements queueName = deviceProfile.getDefaultQueueName(); } - TbMsg tbMsg = TbMsg.builder() + TbMsg tbMsg = TbMsg.newMsg() .queueName(queueName) .type(tbMsgType) .originator(deviceId) diff --git a/rule-engine/rule-engine-api/src/test/java/org/thingsboard/rule/engine/api/util/TbNodeUtilsTest.java b/rule-engine/rule-engine-api/src/test/java/org/thingsboard/rule/engine/api/util/TbNodeUtilsTest.java index 895b527d6a..38db78d221 100644 --- a/rule-engine/rule-engine-api/src/test/java/org/thingsboard/rule/engine/api/util/TbNodeUtilsTest.java +++ b/rule-engine/rule-engine-api/src/test/java/org/thingsboard/rule/engine/api/util/TbNodeUtilsTest.java @@ -44,7 +44,7 @@ public class TbNodeUtilsTest { ObjectNode node = JacksonUtil.newObjectNode(); node.put("data_key", "data_value"); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(TenantId.SYS_TENANT_ID) .metaData(md.copy()) @@ -63,7 +63,7 @@ public class TbNodeUtilsTest { ObjectNode node = JacksonUtil.newObjectNode(); node.put("key", "data_value"); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(TenantId.SYS_TENANT_ID) .metaData(md.copy()) @@ -82,7 +82,7 @@ public class TbNodeUtilsTest { ObjectNode node = JacksonUtil.newObjectNode(); node.put("key", "data_value"); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(TenantId.SYS_TENANT_ID) .metaData(md.copy()) @@ -108,7 +108,7 @@ public class TbNodeUtilsTest { ObjectNode node = JacksonUtil.newObjectNode(); node.set("key1", key1Node); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(TenantId.SYS_TENANT_ID) .metaData(md.copy()) @@ -134,7 +134,7 @@ public class TbNodeUtilsTest { ObjectNode node = JacksonUtil.newObjectNode(); node.set("key1", key1Node); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(TenantId.SYS_TENANT_ID) .metaData(md.copy()) diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbMsgCountNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbMsgCountNode.java index c6619b508c..f54f442e57 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbMsgCountNode.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbMsgCountNode.java @@ -74,7 +74,7 @@ public class TbMsgCountNode implements TbNode { TbMsgMetaData metaData = new TbMsgMetaData(); metaData.putValue("delta", Long.toString(System.currentTimeMillis() - lastScheduledTs + delay)); - TbMsg tbMsg = TbMsg.builder() + TbMsg tbMsg = TbMsg.newMsg() .queueName(msg.getQueueName()) .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(ctx.getTenantId()) diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/deduplication/TbMsgDeduplicationNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/deduplication/TbMsgDeduplicationNode.java index e16528d5d3..4644696886 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/deduplication/TbMsgDeduplicationNode.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/deduplication/TbMsgDeduplicationNode.java @@ -154,7 +154,7 @@ public class TbMsgDeduplicationNode implements TbNode { iterator.remove(); } } - deduplicationResults.add(TbMsg.builder() + deduplicationResults.add(TbMsg.newMsg() .queueName(queueName) .type(config.getOutMsgType()) .originator(deduplicationId) @@ -178,7 +178,7 @@ public class TbMsgDeduplicationNode implements TbNode { } if (resultMsg != null) { String queueName1 = queueName != null ? queueName : resultMsg.getQueueName(); - deduplicationResults.add(TbMsg.builder() + deduplicationResults.add(TbMsg.newMsg() .queueName(queueName1) .type(resultMsg.getType()) .originator(resultMsg.getOriginator()) diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/delay/TbMsgDelayNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/delay/TbMsgDelayNode.java index 8331f066d8..e3887db026 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/delay/TbMsgDelayNode.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/delay/TbMsgDelayNode.java @@ -65,7 +65,7 @@ public class TbMsgDelayNode implements TbNode { TbMsg pendingMsg = pendingMsgs.remove(UUID.fromString(msg.getData())); if (pendingMsg != null) { ctx.enqueueForTellNext( - TbMsg.builder() + TbMsg.newMsg() .queueName(pendingMsg.getQueueName()) .type(pendingMsg.getType()) .originator(pendingMsg.getOriginator()) diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/profile/TbDeviceProfileNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/profile/TbDeviceProfileNode.java index a1ff3dc2d4..e1f0531195 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/profile/TbDeviceProfileNode.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/profile/TbDeviceProfileNode.java @@ -178,7 +178,7 @@ public class TbDeviceProfileNode implements TbNode { protected void scheduleAlarmHarvesting(TbContext ctx, TbMsg msg) { CustomerId customerId = msg != null ? msg.getCustomerId() : null; - TbMsg periodicCheck = TbMsg.builder() + TbMsg periodicCheck = TbMsg.newMsg() .type(TbMsgType.DEVICE_PROFILE_PERIODIC_SELF_MSG) .originator(ctx.getTenantId()) .customerId(customerId) @@ -209,7 +209,7 @@ public class TbDeviceProfileNode implements TbNode { } protected void onProfileUpdate(DeviceProfile profile) { - ctx.tellSelf(TbMsg.builder() + ctx.tellSelf(TbMsg.newMsg() .type(TbMsgType.DEVICE_PROFILE_UPDATE_SELF_MSG) .originator(ctx.getTenantId()) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -223,7 +223,7 @@ public class TbDeviceProfileNode implements TbNode { if (deviceProfile != null) { msgData.put("deviceProfileId", deviceProfile.getId().getId().toString()); } - ctx.tellSelf(TbMsg.builder() + ctx.tellSelf(TbMsg.newMsg() .type(TbMsgType.DEVICE_UPDATE_SELF_MSG) .originator(ctx.getTenantId()) .metaData(TbMsgMetaData.EMPTY.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbAssignToCustomerNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbAssignToCustomerNodeTest.java index 728b1a88d7..b6cdb0b7d3 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbAssignToCustomerNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbAssignToCustomerNodeTest.java @@ -306,7 +306,7 @@ class TbAssignToCustomerNodeTest extends AbstractRuleNodeUpgradeTest { } private TbMsg getTbMsg(EntityId originator) { - return TbMsg.builder() + return TbMsg.newMsg() .type(TbMsgType.NA) .originator(originator) .metaData(TbMsgMetaData.EMPTY.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbClearAlarmNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbClearAlarmNodeTest.java index 177c2349fb..e8deedba09 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbClearAlarmNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbClearAlarmNodeTest.java @@ -91,7 +91,7 @@ class TbClearAlarmNodeTest { void alarmCanBeCleared() { initWithClearAlarmScript(); metadata.putValue("key", "value"); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(msgOriginator) .metaData(metadata.copy()) @@ -148,7 +148,7 @@ class TbClearAlarmNodeTest { void alarmCanBeClearedWithAlarmOriginator() { initWithClearAlarmScript(); metadata.putValue("key", "value"); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(alarmOriginator) .metaData(metadata.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbCopyAttributesToEntityViewNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbCopyAttributesToEntityViewNodeTest.java index b676816d4f..b0d900c7e2 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbCopyAttributesToEntityViewNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbCopyAttributesToEntityViewNodeTest.java @@ -106,7 +106,7 @@ public class TbCopyAttributesToEntityViewNodeTest { public void givenExistingClientAttributes_whenOnMsg_thenCopyAttributesToView() { EntityView entityView = getEntityView(CLIENT_TELEMETRY_ENTITY_VIEW); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(DEVICE_ID) .metaData(new TbMsgMetaData(Map.of(DataConstants.SCOPE, AttributeScope.SERVER_SCOPE.name())).copy()) @@ -143,7 +143,7 @@ public class TbCopyAttributesToEntityViewNodeTest { public void givenExistingServerAttributesAndMsgTypeAttributesDeleted_whenOnMsg_thenDeleteAttributesFromView() { EntityView entityView = getEntityView(SERVER_TELEMETRY_ENTITY_VIEW); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(ATTRIBUTES_DELETED) .originator(DEVICE_ID) .metaData(new TbMsgMetaData(Map.of(DataConstants.SCOPE, AttributeScope.SERVER_SCOPE.name())).copy()) @@ -177,7 +177,7 @@ public class TbCopyAttributesToEntityViewNodeTest { public void givenNonMatchedSharedAttributesAndMsgTypeIsAttributesDeleted_whenOnMsg_thenNoAttributesDeleteFromView() { EntityView entityView = getEntityView(SHARED_TELEMETRY_ENTITY_VIEW); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.ATTRIBUTES_DELETED) .originator(DEVICE_ID) .metaData(new TbMsgMetaData(Map.of(DataConstants.SCOPE, AttributeScope.SHARED_SCOPE.name())).copy()) @@ -197,7 +197,7 @@ public class TbCopyAttributesToEntityViewNodeTest { public void givenNonMatchedAttributesAndMsgTypeIsPostAttributesRequest_whenOnMsg_thenCopyNoAttributesToView() { EntityView entityView = getEntityView(CLIENT_TELEMETRY_ENTITY_VIEW); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(DEVICE_ID) .metaData(new TbMsgMetaData(Map.of(DataConstants.SCOPE, AttributeScope.SERVER_SCOPE.name())).copy()) @@ -232,7 +232,7 @@ public class TbCopyAttributesToEntityViewNodeTest { ); mockEntityViewLookup(entityView); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(ATTRIBUTES_DELETED) .originator(DEVICE_ID) .metaData(new TbMsgMetaData(Map.of(DataConstants.SCOPE, AttributeScope.SERVER_SCOPE.name())).copy()) @@ -248,7 +248,7 @@ public class TbCopyAttributesToEntityViewNodeTest { @ParameterizedTest @EnumSource(TbMsgType.class) public void givenMsgTypeAndEmptyMetadata_whenOnMsg_thenVerifyFailureMsg(TbMsgType msgType) { - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(msgType) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbCreateAlarmNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbCreateAlarmNodeTest.java index a73aa72cec..7846ac2da5 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbCreateAlarmNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbCreateAlarmNodeTest.java @@ -163,7 +163,7 @@ class TbCreateAlarmNodeTest { var ruleNodeSelfId = new RuleNodeId(Uuids.timeBased()); - var incomingMsg = TbMsg.builder() + var incomingMsg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(msgOriginator) .metaData(metadata.copy()) @@ -322,7 +322,7 @@ class TbCreateAlarmNodeTest { var ruleNodeSelfId = new RuleNodeId(Uuids.timeBased()); - var incomingMsg = TbMsg.builder() + var incomingMsg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(msgOriginator) .metaData(metadata.copy()) @@ -518,7 +518,7 @@ class TbCreateAlarmNodeTest { var ruleNodeSelfId = new RuleNodeId(Uuids.timeBased()); - var incomingMsg = TbMsg.builder() + var incomingMsg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(msgOriginator) .metaData(metadata.copy()) @@ -695,7 +695,7 @@ class TbCreateAlarmNodeTest { var ruleNodeSelfId = new RuleNodeId(Uuids.timeBased()); - var incomingMsg = TbMsg.builder() + var incomingMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(msgOriginator) .metaData(metadata.copy()) @@ -887,7 +887,7 @@ class TbCreateAlarmNodeTest { .details(newAlarmDetails) .build(); - var incomingMsg = TbMsg.builder() + var incomingMsg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(msgOriginator) .metaData(metadata.copy()) @@ -1073,7 +1073,7 @@ class TbCreateAlarmNodeTest { .details(alarmDetails) .build(); - var incomingMsg = TbMsg.builder() + var incomingMsg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(msgOriginator) .metaData(metadata.copy()) @@ -1219,7 +1219,7 @@ class TbCreateAlarmNodeTest { // GIVEN config = config.defaultConfiguration(); - var incomingMsg = TbMsg.builder() + var incomingMsg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(msgOriginator) .metaData(metadata.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbCreateRelationNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbCreateRelationNodeTest.java index d287bb8e01..6e707a4415 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbCreateRelationNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbCreateRelationNodeTest.java @@ -486,7 +486,7 @@ public class TbCreateRelationNodeTest extends AbstractRuleNodeUpgradeTest { when(ctxMock.getRelationService()).thenReturn(relationServiceMock); var mockMethodCallsMap = mockEntityServiceCallsCreateEntityIfNotExistsEnabled(); - var entityCreatedMsg = TbMsg.builder() + var entityCreatedMsg = TbMsg.newMsg() .type(TbMsgType.ENTITY_CREATED) .originator(entityId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -681,7 +681,7 @@ public class TbCreateRelationNodeTest extends AbstractRuleNodeUpgradeTest { } private TbMsg getTbMsg(EntityId originator, TbMsgMetaData metaData) { - return TbMsg.builder() + return TbMsg.newMsg() .type(TbMsgType.NA) .originator(originator) .metaData(metaData.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbDeleteRelationNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbDeleteRelationNodeTest.java index 8e9295b3e0..9a2eeb114e 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbDeleteRelationNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbDeleteRelationNodeTest.java @@ -560,7 +560,7 @@ public class TbDeleteRelationNodeTest extends AbstractRuleNodeUpgradeTest { } private TbMsg getTbMsg(EntityId originator, TbMsgMetaData metaData) { - return TbMsg.builder() + return TbMsg.newMsg() .type(TbMsgType.NA) .originator(originator) .metaData(metaData.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbDeviceStateNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbDeviceStateNodeTest.java index 1f8dcd61be..12e16ab8c6 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbDeviceStateNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbDeviceStateNodeTest.java @@ -85,7 +85,7 @@ public class TbDeviceStateNodeTest { metaData.putValue("ts", String.valueOf(METADATA_TS)); var data = JacksonUtil.newObjectNode(); data.put("humidity", 58.3); - msg = TbMsg.builder() + msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(metaData.copy()) @@ -212,7 +212,7 @@ public class TbDeviceStateNodeTest { return unsupportedType; } }; - var msg = TbMsg.builder() + var msg = TbMsg.newMsg() .type(TbMsgType.ENTITY_CREATED) .originator(nonDeviceOriginator) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -246,7 +246,7 @@ public class TbDeviceStateNodeTest { given(ctxMock.getDeviceStateManager()).willReturn(deviceStateManagerMock); long msgTs = METADATA_TS + 1; - msg = TbMsg.builder() + msg = TbMsg.newMsg() .ts(msgTs) .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbLogNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbLogNodeTest.java index 63e5639d43..cd40154e5e 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbLogNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbLogNodeTest.java @@ -50,7 +50,7 @@ public class TbLogNodeTest { TbLogNode node = new TbLogNode(); String data = "{\"key\": \"value\"}"; TbMsgMetaData metaData = new TbMsgMetaData(Map.of("mdKey1", "mdValue1", "mdKey2", "23")); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(TenantId.SYS_TENANT_ID) .metaData(metaData.copy()) @@ -71,7 +71,7 @@ public class TbLogNodeTest { void givenEmptyDataMsg_whenToLog_thenReturnString() { TbLogNode node = new TbLogNode(); TbMsgMetaData metaData = new TbMsgMetaData(Collections.emptyMap()); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(TenantId.SYS_TENANT_ID) .metaData(metaData.copy()) @@ -92,7 +92,7 @@ public class TbLogNodeTest { void givenNullDataMsg_whenToLog_thenReturnString() { TbLogNode node = new TbLogNode(); TbMsgMetaData metaData = new TbMsgMetaData(Collections.emptyMap()); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(TenantId.SYS_TENANT_ID) .metaData(metaData.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbMsgCountNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbMsgCountNodeTest.java index 3c71b09b7d..a29801a92d 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbMsgCountNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbMsgCountNodeTest.java @@ -63,7 +63,7 @@ public class TbMsgCountNodeTest { private final DeviceId DEVICE_ID = new DeviceId(UUID.fromString("1b21c7cc-0c9e-4ab1-b867-99451599e146")); private final TenantId TENANT_ID = TenantId.fromUUID(UUID.fromString("04dfbd38-10e5-47b7-925f-11e795db89e1")); - private final TbMsg tickMsg = TbMsg.builder() + private final TbMsg tickMsg = TbMsg.newMsg() .type(TbMsgType.MSG_COUNT_SELF_MSG) .originator(RULE_NODE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -125,7 +125,7 @@ public class TbMsgCountNodeTest { var expectedProcessedMsgs = new ArrayList(); for (int i = 0; i < msgCount; i++) { - var msg = TbMsg.builder() + var msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -152,7 +152,7 @@ public class TbMsgCountNodeTest { then(ctxMock).should().enqueueForTellNext(msgWithCounterCaptor.capture(), eq(TbNodeConnectionType.SUCCESS)); TbMsg resultedMsg = msgWithCounterCaptor.getValue(); String expectedData = "{\"messageCount_tb-rule-engine\":" + currentMsgNumber + "}"; - TbMsg expectedMsg = TbMsg.builder() + TbMsg expectedMsg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(TENANT_ID) .metaData(TbMsgMetaData.EMPTY.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbSaveToCustomCassandraTableNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbSaveToCustomCassandraTableNodeTest.java index e211ee6514..98e32474a3 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbSaveToCustomCassandraTableNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbSaveToCustomCassandraTableNodeTest.java @@ -185,7 +185,7 @@ public class TbSaveToCustomCassandraTableNodeTest extends AbstractRuleNodeUpgrad node.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(config))); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -211,7 +211,7 @@ public class TbSaveToCustomCassandraTableNodeTest extends AbstractRuleNodeUpgrad "humidity": 77 } """; - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -237,7 +237,7 @@ public class TbSaveToCustomCassandraTableNodeTest extends AbstractRuleNodeUpgrad "temp": [value] } """; - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -264,7 +264,7 @@ public class TbSaveToCustomCassandraTableNodeTest extends AbstractRuleNodeUpgrad mockSubmittingCassandraTask(); node.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(config))); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -319,7 +319,7 @@ public class TbSaveToCustomCassandraTableNodeTest extends AbstractRuleNodeUpgrad } } """; - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbUnassignFromCustomerNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbUnassignFromCustomerNodeTest.java index 65be0c5cff..971a858758 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbUnassignFromCustomerNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbUnassignFromCustomerNodeTest.java @@ -294,7 +294,7 @@ class TbUnassignFromCustomerNodeTest extends AbstractRuleNodeUpgradeTest { } private TbMsg getTbMsg(EntityId originator) { - return TbMsg.builder() + return TbMsg.newMsg() .type(TbMsgType.NA) .originator(originator) .metaData(TbMsgMetaData.EMPTY.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/lambda/TbAwsLambdaNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/lambda/TbAwsLambdaNodeTest.java index 7a96720292..e0e3d6d0d4 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/lambda/TbAwsLambdaNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/lambda/TbAwsLambdaNodeTest.java @@ -145,7 +145,7 @@ public class TbAwsLambdaNodeTest { config.setFunctionName(functionName); config.setQualifier(qualifier); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(metadata.copy()) @@ -202,7 +202,7 @@ public class TbAwsLambdaNodeTest { init(); config.setTellFailureIfFuncThrowsExc(true); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -243,7 +243,7 @@ public class TbAwsLambdaNodeTest { public void givenExceptionWasThrownInsideFunctionAndTellFailureIfFuncThrowsExcIsFalse_whenOnMsg_thenTellSuccess() { init(); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -281,7 +281,7 @@ public class TbAwsLambdaNodeTest { public void givenPayloadFromResultIsNull_whenOnMsg_thenTellFailure() { init(); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -320,7 +320,7 @@ public class TbAwsLambdaNodeTest { @Test public void givenExceptionWasThrownOnAWS_whenOnMsg_thenTellFailure() { init(); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/sns/TbSnsNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/sns/TbSnsNodeTest.java index d6161a14ae..8fc649d10c 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/sns/TbSnsNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/sns/TbSnsNodeTest.java @@ -105,7 +105,7 @@ class TbSnsNodeTest { given(publishResultMock.getSdkResponseMetadata()).willReturn(responseMetadataMock); given(responseMetadataMock.getRequestId()).willReturn(requestId); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(metaData.copy()) @@ -148,7 +148,7 @@ class TbSnsNodeTest { ListenableFuture failedFuture = Futures.immediateFailedFuture(new RuntimeException(errorMsg)); given(listeningExecutor.executeAsync(any(Callable.class))).willReturn(failedFuture); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/sqs/TbSqsNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/sqs/TbSqsNodeTest.java index f32ddf665c..60785d409e 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/sqs/TbSqsNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/sqs/TbSqsNodeTest.java @@ -107,7 +107,7 @@ class TbSqsNodeTest { mockSendingMsgRequest(); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(metaData.copy()) @@ -148,7 +148,7 @@ class TbSqsNodeTest { mockSendingMsgRequest(); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(metaData.copy()) @@ -196,7 +196,7 @@ class TbSqsNodeTest { given(sendMessageResultMock.getMD5OfMessageAttributes()).willReturn(messageAttributesMd5); given(sendMessageResultMock.getSequenceNumber()).willReturn(sequenceNumber); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -236,7 +236,7 @@ class TbSqsNodeTest { ListenableFuture failedFuture = Futures.immediateFailedFuture(new RuntimeException(errorMsg)); given(listeningExecutor.executeAsync(any(Callable.class))).willReturn(failedFuture); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/debug/TbMsgGeneratorNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/debug/TbMsgGeneratorNodeTest.java index 9d1ede5bd6..5d40328ae4 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/debug/TbMsgGeneratorNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/debug/TbMsgGeneratorNodeTest.java @@ -190,7 +190,7 @@ public class TbMsgGeneratorNodeTest extends AbstractRuleNodeUpgradeTest { given(ctxMock.createScriptEngine(any(), any(), any(), any(), any())).willReturn(scriptEngineMock); // creation of tickMsg - TbMsg tickMsg = TbMsg.builder() + TbMsg tickMsg = TbMsg.newMsg() .type(TbMsgType.GENERATOR_NODE_SELF_MSG) .originator(RULE_NODE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -208,7 +208,7 @@ public class TbMsgGeneratorNodeTest extends AbstractRuleNodeUpgradeTest { }).given(ctxMock).tellSelf(any(), any(Long.class)); // creation of first message - TbMsg firstMsg = TbMsg.builder() + TbMsg firstMsg = TbMsg.newMsg() .type(TbMsg.EMPTY_STRING) .originator(RULE_NODE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -218,7 +218,7 @@ public class TbMsgGeneratorNodeTest extends AbstractRuleNodeUpgradeTest { // creation of generated message TbMsgMetaData metaData = new TbMsgMetaData(Map.of("data", "40")); - TbMsg generatedMsg = TbMsg.builder() + TbMsg generatedMsg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(RULE_NODE_ID) .metaData(metaData.copy()) @@ -227,7 +227,7 @@ public class TbMsgGeneratorNodeTest extends AbstractRuleNodeUpgradeTest { given(scriptEngineMock.executeGenerateAsync(any())).willReturn(Futures.immediateFuture(generatedMsg)); // creation of prev message - TbMsg prevMsg = TbMsg.builder() + TbMsg prevMsg = TbMsg.newMsg() .type(generatedMsg.getType()) .originator(RULE_NODE_ID) .metaData(generatedMsg.getMetaData().copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/edge/TbMsgPushToEdgeNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/edge/TbMsgPushToEdgeNodeTest.java index e45e5fc0f1..e84850498d 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/edge/TbMsgPushToEdgeNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/edge/TbMsgPushToEdgeNodeTest.java @@ -85,7 +85,7 @@ public class TbMsgPushToEdgeNodeTest { Mockito.when(ctx.getEdgeService()).thenReturn(edgeService); Mockito.when(edgeService.findRelatedEdgeIdsByEntityId(tenantId, deviceId, new PageLink(RELATED_EDGES_CACHE_ITEMS))).thenReturn(new PageData<>()); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -113,7 +113,7 @@ public class TbMsgPushToEdgeNodeTest { PageData edgePageData = new PageData<>(List.of(edgeId), 1, 1, false); Mockito.when(edgeService.findRelatedEdgeIdsByEntityId(tenantId, userId, new PageLink(RELATED_EDGES_CACHE_ITEMS))).thenReturn(edgePageData); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.ATTRIBUTES_UPDATED) .originator(userId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -151,7 +151,7 @@ public class TbMsgPushToEdgeNodeTest { Mockito.when(ctx.getDbCallbackExecutor()).thenReturn(dbCallbackExecutor); Mockito.when(edgeEventService.saveAsync(any())).thenReturn(SettableFuture.create()); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(event) .originator(new EdgeId(UUID.randomUUID())) .metaData(metaData.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbAssetTypeSwitchNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbAssetTypeSwitchNodeTest.java index 22c7997983..eb99770537 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbAssetTypeSwitchNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbAssetTypeSwitchNodeTest.java @@ -118,7 +118,7 @@ class TbAssetTypeSwitchNodeTest { } private TbMsg getTbMsg(EntityId entityId) { - return TbMsg.builder() + return TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(entityId) .metaData(TbMsgMetaData.EMPTY.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckAlarmStatusNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckAlarmStatusNodeTest.java index 5aa9b9769f..012303278f 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckAlarmStatusNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckAlarmStatusNodeTest.java @@ -174,7 +174,7 @@ class TbCheckAlarmStatusNodeTest { } private TbMsg getTbMsg(String msgData) { - return TbMsg.builder() + return TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckMessageNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckMessageNodeTest.java index a1dcd7d526..377c0b69e7 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckMessageNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckMessageNodeTest.java @@ -44,7 +44,7 @@ import static org.mockito.Mockito.verify; class TbCheckMessageNodeTest { private static final DeviceId DEVICE_ID = new DeviceId(UUID.randomUUID()); - private static final TbMsg EMPTY_POST_ATTRIBUTES_MSG = TbMsg.builder() + private static final TbMsg EMPTY_POST_ATTRIBUTES_MSG = TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -201,7 +201,7 @@ class TbCheckMessageNodeTest { metadata.putValue(DataConstants.DEVICE_NAME, "Test Device"); metadata.putValue(DataConstants.DEVICE_TYPE, DataConstants.DEFAULT_DEVICE_TYPE); metadata.putValue("ts", String.valueOf(System.currentTimeMillis())); - return TbMsg.builder() + return TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(DEVICE_ID) .metaData(metadata.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckRelationNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckRelationNodeTest.java index d6a9f98ac0..9ddf70b9dc 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckRelationNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckRelationNodeTest.java @@ -66,7 +66,7 @@ class TbCheckRelationNodeTest extends AbstractRuleNodeUpgradeTest { private final TenantId TENANT_ID = new TenantId(UUID.randomUUID()); private final DeviceId ORIGINATOR_ID = new DeviceId(UUID.randomUUID()); private final TestDbCallbackExecutor DB_EXECUTOR = new TestDbCallbackExecutor(); - private final TbMsg EMPTY_POST_ATTRIBUTES_MSG = TbMsg.builder() + private final TbMsg EMPTY_POST_ATTRIBUTES_MSG = TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(ORIGINATOR_ID) .metaData(TbMsgMetaData.EMPTY.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbDeviceTypeSwitchNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbDeviceTypeSwitchNodeTest.java index ab446f3215..64559c5125 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbDeviceTypeSwitchNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbDeviceTypeSwitchNodeTest.java @@ -118,7 +118,7 @@ class TbDeviceTypeSwitchNodeTest { } private TbMsg getTbMsg(EntityId entityId) { - return TbMsg.builder() + return TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(entityId) .metaData(TbMsgMetaData.EMPTY.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbJsFilterNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbJsFilterNodeTest.java index c38461d08b..e6d04d6af7 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbJsFilterNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbJsFilterNodeTest.java @@ -59,7 +59,7 @@ public class TbJsFilterNodeTest { @Test public void falseEvaluationDoNotSendMsg() throws TbNodeException { initWithScript(); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(null) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -79,7 +79,7 @@ public class TbJsFilterNodeTest { public void exceptionInJsThrowsException() throws TbNodeException { initWithScript(); TbMsgMetaData metaData = new TbMsgMetaData(); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(null) .metaData(metaData.copy()) @@ -99,7 +99,7 @@ public class TbJsFilterNodeTest { public void metadataConditionCanBeTrue() throws TbNodeException { initWithScript(); TbMsgMetaData metaData = new TbMsgMetaData(); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(null) .metaData(metaData.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbJsSwitchNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbJsSwitchNodeTest.java index 908e941355..981ce15a5f 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbJsSwitchNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbJsSwitchNodeTest.java @@ -59,7 +59,7 @@ public class TbJsSwitchNodeTest { metaData.putValue("humidity", "99"); String rawJson = "{\"name\": \"Vit\", \"passed\": 5}"; - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(null) .metaData(metaData.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbMsgTypeFilterNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbMsgTypeFilterNodeTest.java index 554b41aebf..4a6b6830f5 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbMsgTypeFilterNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbMsgTypeFilterNodeTest.java @@ -97,7 +97,7 @@ class TbMsgTypeFilterNodeTest { } private TbMsg getTbMsg(EntityId entityId, TbMsgType msgType) { - return TbMsg.builder() + return TbMsg.newMsg() .type(msgType) .originator(entityId) .metaData(TbMsgMetaData.EMPTY.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbMsgTypeSwitchNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbMsgTypeSwitchNodeTest.java index 2668588f91..21f6d94829 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbMsgTypeSwitchNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbMsgTypeSwitchNodeTest.java @@ -89,7 +89,7 @@ class TbMsgTypeSwitchNodeTest { } private TbMsg getTbMsg(TbMsgType msgType) { - return TbMsg.builder() + return TbMsg.newMsg() .type(msgType) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbOriginatorTypeFilterNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbOriginatorTypeFilterNodeTest.java index e3bc8662d7..3246535e15 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbOriginatorTypeFilterNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbOriginatorTypeFilterNodeTest.java @@ -96,7 +96,7 @@ class TbOriginatorTypeFilterNodeTest { } private TbMsg getTbMsg(EntityId entityId) { - return TbMsg.builder() + return TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(entityId) .metaData(TbMsgMetaData.EMPTY.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbOriginatorTypeSwitchNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbOriginatorTypeSwitchNodeTest.java index 914e6dfee3..acde991b6e 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbOriginatorTypeSwitchNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbOriginatorTypeSwitchNodeTest.java @@ -90,7 +90,7 @@ class TbOriginatorTypeSwitchNodeTest { } private TbMsg getTbMsg(EntityId entityId) { - return TbMsg.builder() + return TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(entityId) .metaData(TbMsgMetaData.EMPTY.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbAckNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbAckNodeTest.java index 08b3eff39a..dc166a775b 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbAckNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbAckNodeTest.java @@ -67,7 +67,7 @@ public class TbAckNodeTest { public void givenMsg_whenOnMsg_thenAckAndTellSuccess() throws TbNodeException { node.init(ctxMock, nodeConfiguration); DeviceId deviceId = new DeviceId(UUID.fromString("5770153d-6ca2-4447-8a54-5d8a4538e052")); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbCheckpointNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbCheckpointNodeTest.java index 777c93c3f5..d8f5d3aa24 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbCheckpointNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbCheckpointNodeTest.java @@ -87,7 +87,7 @@ public class TbCheckpointNodeTest extends AbstractRuleNodeUpgradeTest { given(ctxMock.getQueueName()).willReturn(queueName); node.init(ctxMock, nodeConfiguration); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -106,7 +106,7 @@ public class TbCheckpointNodeTest extends AbstractRuleNodeUpgradeTest { given(ctxMock.getQueueName()).willReturn(DataConstants.HP_QUEUE_NAME); node.init(ctxMock, nodeConfiguration); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbRuleChainInputNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbRuleChainInputNodeTest.java index 91e89afd2e..f294f7b7da 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbRuleChainInputNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbRuleChainInputNodeTest.java @@ -300,7 +300,7 @@ public class TbRuleChainInputNodeTest extends AbstractRuleNodeUpgradeTest { } private TbMsg getMsg(EntityId entityId) { - return TbMsg.builder() + return TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(entityId) .metaData(TbMsgMetaData.EMPTY.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbRuleChainOutputNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbRuleChainOutputNodeTest.java index 623e40c130..aa6e9aeb6f 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbRuleChainOutputNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbRuleChainOutputNodeTest.java @@ -74,7 +74,7 @@ public class TbRuleChainOutputNodeTest { node.init(ctxMock, nodeConfiguration); DeviceId deviceId = new DeviceId(UUID.fromString("f514da88-79b3-46da-9f02-1747c5e84f44")); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/gcp/pubsub/TbPubSubNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/gcp/pubsub/TbPubSubNodeTest.java index 94e7e36384..d7ae0be329 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/gcp/pubsub/TbPubSubNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/gcp/pubsub/TbPubSubNodeTest.java @@ -118,7 +118,7 @@ class TbPubSubNodeTest { given(ctxMock.getExternalCallExecutor()).willReturn(executor); node.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(config))); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(metaData.copy()) @@ -169,7 +169,7 @@ class TbPubSubNodeTest { node.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(config))); TbMsgMetaData metadata = new TbMsgMetaData(); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(metadata.copy()) @@ -203,7 +203,7 @@ class TbPubSubNodeTest { node.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(config))); TbMsgMetaData metaData = new TbMsgMetaData(); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(metaData.copy()) @@ -236,7 +236,7 @@ class TbPubSubNodeTest { node.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(config))); TbMsgMetaData metaData = new TbMsgMetaData(); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(metaData.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/geo/TbGpsGeofencingActionNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/geo/TbGpsGeofencingActionNodeTest.java index cb5c7fa87c..997c9dd7fd 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/geo/TbGpsGeofencingActionNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/geo/TbGpsGeofencingActionNodeTest.java @@ -164,7 +164,7 @@ class TbGpsGeofencingActionNodeTest extends AbstractRuleNodeUpgradeTest { private TbMsg getTbMsg(EntityId entityId, TbMsgMetaData metadata, double latitude, double longitude) { String data = "{\"latitude\": " + latitude + ", \"longitude\": " + longitude + "}"; - return TbMsg.builder() + return TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(entityId) .metaData(metadata.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/geo/TbGpsGeofencingFilterNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/geo/TbGpsGeofencingFilterNodeTest.java index fe54dec117..1e3878e015 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/geo/TbGpsGeofencingFilterNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/geo/TbGpsGeofencingFilterNodeTest.java @@ -448,7 +448,7 @@ class TbGpsGeofencingFilterNodeTest { private TbMsg getTbMsg(EntityId entityId, TbMsgMetaData metadata, double latitude, double longitude) { String data = "{\"latitude\": " + latitude + ", \"longitude\": " + longitude + "}"; - return TbMsg.builder() + return TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(entityId) .metaData(metadata.copy()) @@ -457,7 +457,7 @@ class TbGpsGeofencingFilterNodeTest { } private TbMsg getEmptyArrayTbMsg(EntityId entityId) { - return TbMsg.builder() + return TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(entityId) .metaData(TbMsgMetaData.EMPTY.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/kafka/TbKafkaNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/kafka/TbKafkaNodeTest.java index 196b2aa8b8..71e896b4f4 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/kafka/TbKafkaNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/kafka/TbKafkaNodeTest.java @@ -188,7 +188,7 @@ public class TbKafkaNodeTest { ReflectionTestUtils.setField(node, "initError", new ThingsboardKafkaClientError(errorMsg)); // WHEN - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -217,7 +217,7 @@ public class TbKafkaNodeTest { // WHEN node.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(config))); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -242,7 +242,7 @@ public class TbKafkaNodeTest { // GIVEN config.setTopicPattern(topicPattern); config.setKeyPattern(keyPattern); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(metaData.copy()) @@ -293,7 +293,7 @@ public class TbKafkaNodeTest { // WHEN node.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(config))); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -323,7 +323,7 @@ public class TbKafkaNodeTest { // WHEN node.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(config))); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -356,7 +356,7 @@ public class TbKafkaNodeTest { node.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(config))); TbMsgMetaData metaData = new TbMsgMetaData(); metaData.putValue("key", "value"); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(metaData.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/mail/TbMsgToEmailNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/mail/TbMsgToEmailNodeTest.java index 4036dfd6b0..eaa0d00a25 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/mail/TbMsgToEmailNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/mail/TbMsgToEmailNodeTest.java @@ -103,7 +103,7 @@ public class TbMsgToEmailNodeTest { } var msgDataStr = "{\"temperature\": " + EXPECTED_TEMPERATURE + "}"; - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) .metaData(md.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/math/TbMathNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/math/TbMathNodeTest.java index 17256cfac0..1a8e8179a9 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/math/TbMathNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/math/TbMathNodeTest.java @@ -173,7 +173,7 @@ public class TbMathNodeTest { metaData.putValue("key2", "argumentA"); ObjectNode msgNode = JacksonUtil.newObjectNode() .put("key3", "argumentB").put("argumentA", 2).put("argumentB", 2); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) .metaData(metaData.copy()) @@ -186,7 +186,7 @@ public class TbMathNodeTest { metaData.putValue("key2", "argumentC"); msgNode = JacksonUtil.newObjectNode() .put("key3", "argumentD").put("argumentC", 4).put("argumentD", 3); - msg = TbMsg.builder() + msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) .metaData(metaData.copy()) @@ -238,7 +238,7 @@ public class TbMathNodeTest { new TbMathArgument(TbMathArgumentType.MESSAGE_BODY, "b") ); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -306,7 +306,7 @@ public class TbMathNodeTest { new TbMathArgument(TbMathArgumentType.MESSAGE_BODY, "a") ); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -334,7 +334,7 @@ public class TbMathNodeTest { new TbMathArgument(TbMathArgumentType.MESSAGE_BODY, "b") ); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -362,7 +362,7 @@ public class TbMathNodeTest { new TbMathArgument(TbMathArgumentType.MESSAGE_BODY, "b") ); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -391,7 +391,7 @@ public class TbMathNodeTest { new TbMathArgument(TbMathArgumentType.TIME_SERIES, "b") ); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -424,7 +424,7 @@ public class TbMathNodeTest { new TbMathArgument(TbMathArgumentType.MESSAGE_BODY, "a") ); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -451,7 +451,7 @@ public class TbMathNodeTest { new TbMathArgument(TbMathArgumentType.MESSAGE_BODY, "a") ); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -478,7 +478,7 @@ public class TbMathNodeTest { new TbMathArgument(TbMathArgumentType.MESSAGE_BODY, "a") ); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -509,7 +509,7 @@ public class TbMathNodeTest { new TbMathArgument(TbMathArgumentType.MESSAGE_BODY, "a") ); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -539,7 +539,7 @@ public class TbMathNodeTest { new TbMathArgument(TbMathArgumentType.MESSAGE_BODY, "a") ); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -575,7 +575,7 @@ public class TbMathNodeTest { new TbMathResult(TbMathArgumentType.MESSAGE_METADATA, "result", 3, false, false, null), tbMathArgument ); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -600,7 +600,7 @@ public class TbMathNodeTest { new TbMathResult(TbMathArgumentType.TIME_SERIES, "result", 3, true, false, DataConstants.SERVER_SCOPE), new TbMathArgument(TbMathArgumentType.MESSAGE_BODY, "TestKey") ); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -620,7 +620,7 @@ public class TbMathNodeTest { new TbMathArgument(TbMathArgumentType.MESSAGE_BODY, "a") ); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -645,7 +645,7 @@ public class TbMathNodeTest { CountDownLatch slowProcessingLatch = new CountDownLatch(1); List slowMsgList = IntStream.range(0, 5) - .mapToObj(x -> TbMsg.builder() + .mapToObj(x -> TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originatorSlow) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -653,7 +653,7 @@ public class TbMathNodeTest { .build()) .toList(); List fastMsgList = IntStream.range(0, 2) - .mapToObj(x -> TbMsg.builder() + .mapToObj(x -> TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originatorFast) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -725,7 +725,7 @@ public class TbMathNodeTest { CountDownLatch slowProcessingLatch = new CountDownLatch(1); List slowMsgList = IntStream.range(0, 5) - .mapToObj(x -> TbMsg.builder() + .mapToObj(x -> TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originatorSlow) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -803,7 +803,7 @@ public class TbMathNodeTest { }) .toList(); ctxNodes.forEach(ctxNode -> ruleEngineDispatcherExecutor.executeAsync(() -> ctxNode.getRight() - .onMsg(ctxNode.getLeft(), TbMsg.builder() + .onMsg(ctxNode.getLeft(), TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) .metaData(TbMsgMetaData.EMPTY.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/CalculateDeltaNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/CalculateDeltaNodeTest.java index c5a0ba4314..bfb2b46037 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/CalculateDeltaNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/CalculateDeltaNodeTest.java @@ -169,7 +169,7 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { // GIVEN node.init(ctxMock, nodeConfiguration); var msgData = "{\"pulseCounter\": 42}"; - var msg = TbMsg.builder() + var msg = TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -189,7 +189,7 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { public void givenInvalidMsgDataType_whenOnMsg_thenShouldTellNextOther() throws TbNodeException { // GIVEN node.init(ctxMock, nodeConfiguration); - var msg = TbMsg.builder() + var msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -210,7 +210,7 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { public void givenInputKeyIsNotPresent_whenOnMsg_thenShouldTellNextOther() throws TbNodeException { // GIVEN node.init(ctxMock, nodeConfiguration); - var msg = TbMsg.builder() + var msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -239,7 +239,7 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { mockFindLatestAsync(new BasicTsKvEntry(System.currentTimeMillis(), new DoubleDataEntry("temperature", 40.5))); var msgData = "{\"temperature\": 42,\"airPressure\":123}"; - var msg = TbMsg.builder() + var msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -274,7 +274,7 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { mockFindLatestAsync(new BasicTsKvEntry(System.currentTimeMillis(), new LongDataEntry("temperature", 40L))); var msgData = "{\"temperature\": 42,\"airPressure\":123}"; - var msg = TbMsg.builder() + var msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -309,7 +309,7 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { mockFindLatestAsync(new BasicTsKvEntry(System.currentTimeMillis(), new StringDataEntry("temperature", "40.0"))); var msgData = "{\"temperature\": 42,\"airPressure\":123}"; - var msg = TbMsg.builder() + var msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -348,7 +348,7 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { var msgData = "{\"temperature\": 42,\"airPressure\":123}"; var firstMsgMetaData = new TbMsgMetaData(); firstMsgMetaData.putValue("ts", String.valueOf(3L)); - var firstMsg = TbMsg.builder() + var firstMsg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) .metaData(firstMsgMetaData.copy()) @@ -379,7 +379,7 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { var secondMsgMetaData = new TbMsgMetaData(); secondMsgMetaData.putValue("ts", String.valueOf(6L)); - var secondMsg = TbMsg.builder() + var secondMsg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) .metaData(secondMsgMetaData.copy()) @@ -415,7 +415,7 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { mockFindLatestAsync(new BasicTsKvEntry(System.currentTimeMillis(), new DoubleDataEntry("temperature", null))); var msgData = "{\"temperature\": 42,\"airPressure\":123}"; - var msg = TbMsg.builder() + var msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -448,7 +448,7 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { mockFindLatestAsync(new BasicTsKvEntry(System.currentTimeMillis(), new LongDataEntry("pulseCounter", 200L))); var msgData = "{\"pulseCounter\":\"123\"}"; - var msg = TbMsg.builder() + var msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -485,7 +485,7 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { mockFindLatestAsync(new BasicTsKvEntry(System.currentTimeMillis(), new LongDataEntry("pulseCounter", 200L))); var msgData = "{\"pulseCounter\":\"123\"}"; - var msg = TbMsg.builder() + var msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -514,7 +514,7 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { mockFindLatestAsync(new BasicTsKvEntry(System.currentTimeMillis(), new StringDataEntry("pulseCounter", "high"))); var msgData = "{\"pulseCounter\":\"123\"}"; - var msg = TbMsg.builder() + var msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -544,7 +544,7 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { mockFindLatestAsync(new BasicTsKvEntry(System.currentTimeMillis(), new BooleanDataEntry("pulseCounter", false))); var msgData = "{\"pulseCounter\":true}"; - var msg = TbMsg.builder() + var msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -574,7 +574,7 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { mockFindLatestAsync(new BasicTsKvEntry(System.currentTimeMillis(), new JsonDataEntry("pulseCounter", "{\"isActive\":false}"))); var msgData = "{\"pulseCounter\":{\"isActive\":true}}"; - var msg = TbMsg.builder() + var msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -622,7 +622,7 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { List tbMsgList = IntStream.range(0, RULE_DISPATCHER_POOL_SIZE * 2).mapToObj(x -> { var msgData = "{\"pulseCounter\":" + 2 + "}"; - return TbMsg.builder() + return TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -672,7 +672,7 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { mockFindLatestAsync(new BasicTsKvEntry(1L, new DoubleDataEntry("temperature", testConfig.prevValue()))); var msgData = "{\"temperature\":" + testConfig.currentValue() + ",\"airPressure\":123}"; - var msg = TbMsg.builder() + var msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) .metaData(TbMsgMetaData.EMPTY.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbFetchDeviceCredentialsNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbFetchDeviceCredentialsNodeTest.java index 725bb10b12..c11dcfd749 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbFetchDeviceCredentialsNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbFetchDeviceCredentialsNodeTest.java @@ -173,7 +173,7 @@ public class TbFetchDeviceCredentialsNodeTest { final var metaData = new TbMsgMetaData(mdMap); final String data = "{\"TestAttribute_1\": \"humidity\", \"TestAttribute_2\": \"voltage\"}"; - return TbMsg.builder() + return TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(entityId) .metaData(metaData.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetAttributesNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetAttributesNodeTest.java index 84267c772b..1f5770bf52 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetAttributesNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetAttributesNodeTest.java @@ -246,7 +246,7 @@ public class TbGetAttributesNodeTest extends AbstractRuleNodeUpgradeTest { public void givenFetchLatestTimeseriesToDataAndDataIsNotJsonObject_whenOnMsg_thenException() throws Exception { // GIVEN node = initNode(TbMsgSource.DATA, true, true); - var msg = TbMsg.builder() + var msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(ORIGINATOR_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -347,7 +347,7 @@ public class TbGetAttributesNodeTest extends AbstractRuleNodeUpgradeTest { msgMetaData.putValue("client_attr_metadata", "client_attr_3"); msgMetaData.putValue("server_attr_metadata", "server_attr_3"); - return TbMsg.builder() + return TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(entityId) .metaData(msgMetaData.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetCustomerAttributeNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetCustomerAttributeNodeTest.java index 6a682679f4..c5ce45a996 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetCustomerAttributeNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetCustomerAttributeNodeTest.java @@ -210,7 +210,7 @@ public class TbGetCustomerAttributeNodeTest { public void givenMsgDataIsNotAnJsonObjectAndFetchToData_whenOnMsg_thenException() { // GIVEN node.fetchTo = TbMsgSource.DATA; - msg = TbMsg.builder() + msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -230,7 +230,7 @@ public class TbGetCustomerAttributeNodeTest { // GIVEN var userId = new UserId(UUID.randomUUID()); - msg = TbMsg.builder() + msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(userId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -479,7 +479,7 @@ public class TbGetCustomerAttributeNodeTest { var msgData = "{\"temp\":42,\"humidity\":77,\"messageBodyPattern1\":\"targetKey2\",\"messageBodyPattern2\":\"sourceKey3\"}"; - msg = TbMsg.builder() + msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) .metaData(msgMetaData.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetCustomerDetailsNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetCustomerDetailsNodeTest.java index 0586b84b75..31cb6a7083 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetCustomerDetailsNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetCustomerDetailsNodeTest.java @@ -159,7 +159,7 @@ public class TbGetCustomerDetailsNodeTest { public void givenMsgDataIsNotAnJsonObjectAndFetchToData_whenOnMsg_thenException() { // GIVEN node.fetchTo = TbMsgSource.DATA; - msg = TbMsg.builder() + msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -463,7 +463,7 @@ public class TbGetCustomerDetailsNodeTest { var msgData = "{\"dataKey1\":123,\"dataKey2\":\"dataValue2\"}"; - msg = TbMsg.builder() + msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) .metaData(msgMetaData.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetDeviceAttrNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetDeviceAttrNodeTest.java index af93181bfb..fb21fe3737 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetDeviceAttrNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetDeviceAttrNodeTest.java @@ -115,7 +115,7 @@ public class TbGetDeviceAttrNodeTest extends AbstractRuleNodeUpgradeTest { given(deviceServiceMock.findDevicesByQuery(any(TenantId.class), any(DeviceSearchQuery.class))).willReturn(Futures.immediateFuture(Collections.emptyList())); given(ctxMock.getDbCallbackExecutor()).willReturn(executor); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetOriginatorFieldsNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetOriginatorFieldsNodeTest.java index d67d00416e..75a0bf4868 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetOriginatorFieldsNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetOriginatorFieldsNodeTest.java @@ -135,7 +135,7 @@ public class TbGetOriginatorFieldsNodeTest { public void givenMsgDataIsNotAnJsonObjectAndFetchToData_whenOnMsg_thenException() { // GIVEN node.fetchTo = TbMsgSource.DATA; - msg = TbMsg.builder() + msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -169,7 +169,7 @@ public class TbGetOriginatorFieldsNodeTest { node.fetchTo = TbMsgSource.DATA; var msgMetaData = new TbMsgMetaData(); var msgData = "{\"temp\":42,\"humidity\":77}"; - msg = TbMsg.builder() + msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) .metaData(msgMetaData.copy()) @@ -216,7 +216,7 @@ public class TbGetOriginatorFieldsNodeTest { node.fetchTo = TbMsgSource.DATA; var msgMetaData = new TbMsgMetaData(); var msgData = "{\"temp\":42,\"humidity\":77}"; - msg = TbMsg.builder() + msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) .metaData(msgMetaData.copy()) @@ -264,7 +264,7 @@ public class TbGetOriginatorFieldsNodeTest { "testKey1", "testValue1", "testKey2", "123")); var msgData = "[\"value1\",\"value2\"]"; - msg = TbMsg.builder() + msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) .metaData(msgMetaData.copy()) @@ -317,7 +317,7 @@ public class TbGetOriginatorFieldsNodeTest { "testKey1", "testValue1", "testKey2", "123")); var msgData = "[\"value1\",\"value2\"]"; - msg = TbMsg.builder() + msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) .metaData(msgMetaData.copy()) @@ -380,7 +380,7 @@ public class TbGetOriginatorFieldsNodeTest { "testKey1", "testValue1", "testKey2", "123")); var msgData = "[\"value1\",\"value2\"]"; - msg = TbMsg.builder() + msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(new DashboardId(UUID.randomUUID())) .metaData(msgMetaData.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetRelatedAttributeNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetRelatedAttributeNodeTest.java index f97700e435..83a9d4afbf 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetRelatedAttributeNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetRelatedAttributeNodeTest.java @@ -223,7 +223,7 @@ public class TbGetRelatedAttributeNodeTest { public void givenMsgDataIsNotAnJsonObjectAndFetchToData_whenOnMsg_thenException() { // GIVEN node.fetchTo = TbMsgSource.DATA; - msg = TbMsg.builder() + msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -597,7 +597,7 @@ public class TbGetRelatedAttributeNodeTest { msgData = "{\"temp\":42,\"humidity\":77,\"messageBodyPattern1\":\"targetKey2\",\"messageBodyPattern2\":\"sourceKey3\"}"; } - msg = TbMsg.builder() + msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) .metaData(msgMetaData.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTelemetryNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTelemetryNodeTest.java index c27f5450f3..63044b311b 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTelemetryNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTelemetryNodeTest.java @@ -182,7 +182,7 @@ public class TbGetTelemetryNodeTest extends AbstractRuleNodeUpgradeTest { // WHEN-THEN node.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(config))); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -210,7 +210,7 @@ public class TbGetTelemetryNodeTest extends AbstractRuleNodeUpgradeTest { long endTs = 1719220353000L; TbMsgMetaData metaData = new TbMsgMetaData(); metaData.putValue("mdStartInterval", String.valueOf(startTs)); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(metaData.copy()) @@ -237,7 +237,7 @@ public class TbGetTelemetryNodeTest extends AbstractRuleNodeUpgradeTest { given(timeseriesServiceMock.findAll(any(TenantId.class), any(EntityId.class), anyList())).willReturn(Futures.immediateFuture(Collections.emptyList())); // WHEN - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -266,7 +266,7 @@ public class TbGetTelemetryNodeTest extends AbstractRuleNodeUpgradeTest { // WHEN TbMsgMetaData metaData = new TbMsgMetaData(); metaData.putValue("mdTsKey", "humidity"); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(metaData.copy()) @@ -296,7 +296,7 @@ public class TbGetTelemetryNodeTest extends AbstractRuleNodeUpgradeTest { given(timeseriesServiceMock.findAll(any(TenantId.class), any(EntityId.class), anyList())).willReturn(Futures.immediateFuture(Collections.emptyList())); // WHEN - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -331,7 +331,7 @@ public class TbGetTelemetryNodeTest extends AbstractRuleNodeUpgradeTest { given(timeseriesServiceMock.findAll(any(TenantId.class), any(EntityId.class), anyList())).willReturn(Futures.immediateFuture(Collections.emptyList())); // WHEN - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -376,7 +376,7 @@ public class TbGetTelemetryNodeTest extends AbstractRuleNodeUpgradeTest { given(timeseriesServiceMock.findAll(any(TenantId.class), any(EntityId.class), anyList())).willReturn(Futures.immediateFuture(Collections.emptyList())); // WHEN - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -417,7 +417,7 @@ public class TbGetTelemetryNodeTest extends AbstractRuleNodeUpgradeTest { node.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(config))); // WHEN-THEN - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -451,7 +451,7 @@ public class TbGetTelemetryNodeTest extends AbstractRuleNodeUpgradeTest { given(timeseriesServiceMock.findAll(any(TenantId.class), any(EntityId.class), anyList())).willReturn(Futures.immediateFuture(tsKvEntries)); // WHEN - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -487,7 +487,7 @@ public class TbGetTelemetryNodeTest extends AbstractRuleNodeUpgradeTest { given(timeseriesServiceMock.findAll(any(TenantId.class), any(EntityId.class), anyList())).willReturn(Futures.immediateFuture(tsKvEntries)); // WHEN - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTenantAttributeNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTenantAttributeNodeTest.java index a7ba3f54ed..5ad0163a7c 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTenantAttributeNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTenantAttributeNodeTest.java @@ -190,7 +190,7 @@ public class TbGetTenantAttributeNodeTest { public void givenMsgDataIsNotAnJsonObjectAndFetchToData_whenOnMsg_thenException() { // GIVEN node.fetchTo = TbMsgSource.DATA; - msg = TbMsg.builder() + msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -403,7 +403,7 @@ public class TbGetTenantAttributeNodeTest { var msgData = "{\"temp\":42,\"humidity\":77,\"messageBodyPattern1\":\"targetKey2\",\"messageBodyPattern2\":\"sourceKey3\"}"; - msg = TbMsg.builder() + msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) .metaData(msgMetaData.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTenantDetailsNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTenantDetailsNodeTest.java index b030ae75aa..7cf9ddcdc8 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTenantDetailsNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTenantDetailsNodeTest.java @@ -129,7 +129,7 @@ public class TbGetTenantDetailsNodeTest { public void givenMsgDataIsNotAnJsonObjectAndFetchToData_whenOnMsg_thenException() { // GIVEN node.fetchTo = TbMsgSource.DATA; - msg = TbMsg.builder() + msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -294,7 +294,7 @@ public class TbGetTenantDetailsNodeTest { var msgData = "{\"dataKey1\":123,\"dataKey2\":\"dataValue2\"}"; - msg = TbMsg.builder() + msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) .metaData(msgMetaData.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/mqtt/TbMqttNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/mqtt/TbMqttNodeTest.java index 60c6eebb5b..6b074da45a 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/mqtt/TbMqttNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/mqtt/TbMqttNodeTest.java @@ -283,7 +283,7 @@ public class TbMqttNodeTest extends AbstractRuleNodeUpgradeTest { return null; }).given(future).addListener(any()); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(metaData.copy()) @@ -327,7 +327,7 @@ public class TbMqttNodeTest extends AbstractRuleNodeUpgradeTest { return null; }).given(future).addListener(any()); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/profile/DeviceStateTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/profile/DeviceStateTest.java index 973a426513..897a332c95 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/profile/DeviceStateTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/profile/DeviceStateTest.java @@ -95,7 +95,7 @@ public class DeviceStateTest { when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), any())).thenAnswer(invocationOnMock -> { TbMsgType type = invocationOnMock.getArgument(1); String data = invocationOnMock.getArgument(invocationOnMock.getArguments().length - 1); - return TbMsg.builder() + return TbMsg.newMsg() .type(type) .originator(null) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -112,7 +112,7 @@ public class DeviceStateTest { DeviceId deviceId = new DeviceId(UUID.randomUUID()); DeviceState deviceState = createDeviceState(deviceId, alarmConfig); - TbMsg attributeUpdateMsg = TbMsg.builder() + TbMsg attributeUpdateMsg = TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -125,7 +125,7 @@ public class DeviceStateTest { verify(ctx).enqueueForTellNext(resultMsgCaptor.capture(), eq("Alarm Created")); Alarm alarm = JacksonUtil.fromString(resultMsgCaptor.getValue().getData(), Alarm.class); - deviceState.process(ctx, TbMsg.builder() + deviceState.process(ctx, TbMsg.newMsg() .type(TbMsgType.ALARM_CLEAR) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -134,7 +134,7 @@ public class DeviceStateTest { reset(ctx); String deletedAttributes = "{ \"attributes\": [ \"other\" ] }"; - deviceState.process(ctx, TbMsg.builder() + deviceState.process(ctx, TbMsg.newMsg() .type(TbMsgType.ATTRIBUTES_DELETED) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -149,7 +149,7 @@ public class DeviceStateTest { DeviceId deviceId = new DeviceId(UUID.randomUUID()); DeviceState deviceState = createDeviceState(deviceId, alarmConfig); - TbMsg attributeUpdateMsg = TbMsg.builder() + TbMsg attributeUpdateMsg = TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -161,14 +161,14 @@ public class DeviceStateTest { verify(ctx).enqueueForTellNext(resultMsgCaptor.capture(), eq("Alarm Created")); Alarm alarm = JacksonUtil.fromString(resultMsgCaptor.getValue().getData(), Alarm.class); - deviceState.process(ctx, TbMsg.builder() + deviceState.process(ctx, TbMsg.newMsg() .type(TbMsgType.ALARM_CLEAR) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) .data(JacksonUtil.toString(alarm)) .build()); - TbMsg alarmDeleteNotification = TbMsg.builder() + TbMsg alarmDeleteNotification = TbMsg.newMsg() .type(TbMsgType.ALARM_DELETE) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/profile/TbDeviceProfileNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/profile/TbDeviceProfileNodeTest.java index afc5401d89..01e42f042e 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/profile/TbDeviceProfileNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/profile/TbDeviceProfileNodeTest.java @@ -127,7 +127,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(cache.get(tenantId, deviceId)).thenReturn(deviceProfile); ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 42); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type("123456789") .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -151,7 +151,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(cache.get(tenantId, deviceId)).thenReturn(deviceProfile); ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 42); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -210,7 +210,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(alarmService.findLatestActiveByOriginatorAndType(tenantId, deviceId, "highTemperatureAlarm")).thenReturn(null); registerCreateAlarmMock(alarmService.createAlarm(any()), true); - TbMsg theMsg = TbMsg.builder() + TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -220,7 +220,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 42); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -234,7 +234,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { verify(ctx).enqueueForTellNext(theMsg, "Alarm Created"); verify(ctx, Mockito.never()).tellFailure(Mockito.any(), Mockito.any()); - TbMsg theMsg2 = TbMsg.builder() + TbMsg theMsg2 = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -245,7 +245,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { registerCreateAlarmMock(alarmService.updateAlarm(any()), false); Thread.sleep(1); - TbMsg msg2 = TbMsg.builder() + TbMsg msg2 = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -310,7 +310,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(alarmService.findLatestActiveByOriginatorAndType(tenantId, deviceId, "highTemperatureAlarm1")).thenReturn(null); registerCreateAlarmMock(alarmService.createAlarm(any()), true); - TbMsg theMsg = TbMsg.builder() + TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -320,7 +320,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 42); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -334,7 +334,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { verify(ctx).enqueueForTellNext(theMsg, "Alarm Created"); verify(ctx, Mockito.never()).tellFailure(Mockito.any(), Mockito.any()); - TbMsg theMsg2 = TbMsg.builder() + TbMsg theMsg2 = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -358,7 +358,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { when(alarmService.updateAlarm(any())).thenReturn(result); data.put("temperature", 52); - TbMsg msg2 = TbMsg.builder() + TbMsg msg2 = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -440,7 +440,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(attributesService.find(eq(tenantId), eq(deviceId), Mockito.any(AttributeScope.class), Mockito.anySet())) .thenReturn(attrListListenableFuture); - TbMsg theMsg = TbMsg.builder() + TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -451,7 +451,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 21); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -540,7 +540,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(attributesService.find(eq(tenantId), eq(tenantId), Mockito.any(AttributeScope.class), Mockito.anyString())) .thenReturn(attrListListenableFuture); - TbMsg theMsg = TbMsg.builder() + TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -551,7 +551,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 21); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -622,7 +622,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(attributesService.find(eq(tenantId), eq(deviceId), Mockito.any(AttributeScope.class), Mockito.anySet())) .thenReturn(listListenableFutureWithLess); - TbMsg theMsg = TbMsg.builder() + TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -633,7 +633,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 35); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -730,7 +730,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(attributesService.find(eq(tenantId), eq(deviceId), Mockito.any(AttributeScope.class), Mockito.anySet())) .thenReturn(listListenableFuture); - TbMsg theMsg = TbMsg.builder() + TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -741,7 +741,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 35); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -763,7 +763,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Thread.sleep(halfOfAlarmDelay + 1); - TbMsg msg2 = TbMsg.builder() + TbMsg msg2 = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -875,7 +875,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(attributesService.find(eq(tenantId), eq(deviceId), Mockito.any(AttributeScope.class), Mockito.anySet())) .thenReturn(listNoDurationAttribute); - TbMsg theMsg = TbMsg.builder() + TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -886,7 +886,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 150); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -908,7 +908,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Thread.sleep(halfOfAlarmDelay + 1); - TbMsg msg2 = TbMsg.builder() + TbMsg msg2 = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -1005,7 +1005,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(attributesService.find(eq(tenantId), eq(deviceId), Mockito.any(AttributeScope.class), Mockito.anySet())) .thenReturn(listListenableFuture); - TbMsg theMsg = TbMsg.builder() + TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -1016,7 +1016,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 150); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -1032,7 +1032,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { verify(ctx, Mockito.never()).tellNext(theMsg, "Alarm Created"); data.put("temperature", 151); - TbMsg msg2 = TbMsg.builder() + TbMsg msg2 = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -1142,7 +1142,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(attributesService.find(eq(tenantId), eq(deviceId), Mockito.any(AttributeScope.class), Mockito.anySet())) .thenReturn(listNoDurationAttribute); - TbMsg theMsg = TbMsg.builder() + TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -1153,7 +1153,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 150); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -1169,7 +1169,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { verify(ctx, Mockito.never()).tellNext(theMsg, "Alarm Created"); data.put("temperature", 151); - TbMsg msg2 = TbMsg.builder() + TbMsg msg2 = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -1258,7 +1258,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(attributesService.find(eq(tenantId), eq(deviceId), Mockito.any(AttributeScope.class), Mockito.anySet())) .thenReturn(listListenableFuture); - TbMsg theMsg = TbMsg.builder() + TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -1269,7 +1269,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 35); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -1291,7 +1291,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Thread.sleep(halfOfAlarmDelay + 1); - TbMsg msg2 = TbMsg.builder() + TbMsg msg2 = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -1376,7 +1376,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(attributesService.find(eq(tenantId), eq(deviceId), Mockito.any(AttributeScope.class), Mockito.anySet())) .thenReturn(listListenableFuture); - TbMsg theMsg = TbMsg.builder() + TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -1387,7 +1387,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 35); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -1471,7 +1471,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(attributesService.find(eq(tenantId), eq(deviceId), Mockito.any(AttributeScope.class), Mockito.anySet())) .thenReturn(listListenableFutureActiveSchedule); - TbMsg theMsg = TbMsg.builder() + TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -1482,7 +1482,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 35); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -1580,7 +1580,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(attributesService.find(eq(tenantId), eq(deviceId), Mockito.any(AttributeScope.class), Mockito.anySet())) .thenReturn(listListenableFutureInactiveSchedule); - TbMsg theMsg = TbMsg.builder() + TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -1589,7 +1589,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 35); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -1671,7 +1671,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(attributesService.find(eq(tenantId), eq(customerId), eq(AttributeScope.SERVER_SCOPE), Mockito.anyString())) .thenReturn(optionalListenableFutureWithLess); - TbMsg theMsg = TbMsg.builder() + TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -1682,7 +1682,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 25); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -1757,7 +1757,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(attributesService.find(eq(tenantId), eq(tenantId), eq(AttributeScope.SERVER_SCOPE), Mockito.anyString())) .thenReturn(optionalListenableFutureWithLess); - TbMsg theMsg = TbMsg.builder() + TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -1768,7 +1768,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 40); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -1853,7 +1853,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(attributesService.find(eq(tenantId), eq(tenantId), eq(AttributeScope.SERVER_SCOPE), Mockito.anyString())) .thenReturn(optionalListenableFutureWithLess); - TbMsg theMsg = TbMsg.builder() + TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -1864,7 +1864,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 150L); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -1951,7 +1951,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { Mockito.when(attributesService.find(eq(tenantId), eq(tenantId), eq(AttributeScope.SERVER_SCOPE), Mockito.anyString())) .thenReturn(optionalListenableFutureWithLess); - TbMsg theMsg = TbMsg.builder() + TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -1962,7 +1962,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { ObjectNode data = JacksonUtil.newObjectNode(); data.put("temperature", 150L); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) .metaData(TbMsgMetaData.EMPTY.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rabbitmq/TbRabbitMqNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rabbitmq/TbRabbitMqNodeTest.java index 91a9055c37..24d3a51cd8 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rabbitmq/TbRabbitMqNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rabbitmq/TbRabbitMqNodeTest.java @@ -147,7 +147,7 @@ public class TbRabbitMqNodeTest { given(ctxMock.getExternalCallExecutor()).willReturn(executor); node.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(config))); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(metaData.copy()) @@ -183,7 +183,7 @@ public class TbRabbitMqNodeTest { given(ctxMock.getExternalCallExecutor()).willReturn(executor); node.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(config))); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -211,7 +211,7 @@ public class TbRabbitMqNodeTest { node.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(config))); TbMsgMetaData metaData = new TbMsgMetaData(); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(metaData.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbHttpClientTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbHttpClientTest.java index cc883db254..be4f3488ec 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbHttpClientTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbHttpClientTest.java @@ -140,13 +140,13 @@ public class TbHttpClientTest { var httpClient = new TbHttpClient(config, eventLoop); - var msg = TbMsg.builder() + var msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(new DeviceId(EntityId.NULL_UUID)) .metaData(TbMsgMetaData.EMPTY.copy()) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); - var successMsg = TbMsg.builder() + var successMsg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(msg.getOriginator()) .metaData(msg.getMetaData().copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbRestApiCallNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbRestApiCallNodeTest.java index 9f19fe019b..d94981cff3 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbRestApiCallNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbRestApiCallNodeTest.java @@ -142,7 +142,7 @@ public class TbRestApiCallNodeTest extends AbstractRuleNodeUpgradeTest { config.setRestEndpointUrlPattern(String.format("http://localhost:%d%s", server.getLocalPort(), path)); initWithConfig(config); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) .metaData(metaData.copy()) @@ -211,7 +211,7 @@ public class TbRestApiCallNodeTest extends AbstractRuleNodeUpgradeTest { config.setRestEndpointUrlPattern(String.format("http://localhost:%d%s", server.getLocalPort(), path)); initWithConfig(config); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) .metaData(metaData.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbSendRestApiCallReplyNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbSendRestApiCallReplyNodeTest.java index 7ca88da0a3..e7613a11cf 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbSendRestApiCallReplyNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbSendRestApiCallReplyNodeTest.java @@ -89,7 +89,7 @@ public class TbSendRestApiCallReplyNodeTest { Map metadata = Map.of( requestIdAttribute, requestUUIDStr, serviceIdAttribute, serviceIdStr); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.REST_API_REQUEST) .originator(DEVICE_ID) .metaData(new TbMsgMetaData(metadata).copy()) @@ -114,7 +114,7 @@ public class TbSendRestApiCallReplyNodeTest { @ParameterizedTest @MethodSource public void givenInvalidRequest_whenOnMsg_thenTellFailure(TbMsgMetaData metaData, String data, String errorMsg) { - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.REST_API_REQUEST) .originator(DEVICE_ID) .metaData(metaData.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rpc/TbSendRPCReplyNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rpc/TbSendRPCReplyNodeTest.java index c5bab86d8c..61e2b45b42 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rpc/TbSendRPCReplyNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rpc/TbSendRPCReplyNodeTest.java @@ -92,7 +92,7 @@ public class TbSendRPCReplyNodeTest { public void sendReplyToTransport() { when(ctx.getRpcService()).thenReturn(rpcService); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) .metaData(getDefaultMetadata().copy()) @@ -118,7 +118,7 @@ public class TbSendRPCReplyNodeTest { TbMsgMetaData defaultMetadata = getDefaultMetadata(); defaultMetadata.putValue(DataConstants.EDGE_ID, UUID.randomUUID().toString()); defaultMetadata.putValue(DataConstants.DEVICE_ID, UUID.randomUUID().toString()); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) .metaData(defaultMetadata.copy()) @@ -138,7 +138,7 @@ public class TbSendRPCReplyNodeTest { @EnumSource(EntityType.class) public void testOriginatorEntityTypes(EntityType entityType) { EntityId entityId = EntityIdFactory.getByTypeAndUuid(entityType, "0f386739-210f-4e23-8739-23f84a172adc"); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(entityId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -157,7 +157,7 @@ public class TbSendRPCReplyNodeTest { @ParameterizedTest @MethodSource public void testForAvailabilityOfMetadataAndDataValues(TbMsgMetaData metaData, String errorMsg) { - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) .metaData(metaData.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rpc/TbSendRPCRequestNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rpc/TbSendRPCRequestNodeTest.java index 322d334c31..a22554fd56 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rpc/TbSendRPCRequestNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rpc/TbSendRPCRequestNodeTest.java @@ -107,7 +107,7 @@ public class TbSendRPCRequestNodeTest { TbMsgMetaData msgMetadata = new TbMsgMetaData(); msgMetadata.putValue("oneway", mdKeyValue); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) .originator(DEVICE_ID) .metaData(msgMetadata.copy()) @@ -133,7 +133,7 @@ public class TbSendRPCRequestNodeTest { given(ctxMock.getRpcService()).willReturn(rpcServiceMock); given(ctxMock.getTenantId()).willReturn(TENANT_ID); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -159,7 +159,7 @@ public class TbSendRPCRequestNodeTest { given(ctxMock.getRpcService()).willReturn(rpcServiceMock); given(ctxMock.getTenantId()).willReturn(TENANT_ID); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.TO_SERVER_RPC_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -185,7 +185,7 @@ public class TbSendRPCRequestNodeTest { "requestId": 12345 } """; - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.TO_SERVER_RPC_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -205,7 +205,7 @@ public class TbSendRPCRequestNodeTest { String requestUUID = "b795a241-5a30-48fb-92d5-46b864d47130"; TbMsgMetaData metadata = new TbMsgMetaData(); metadata.putValue("requestUUID", requestUUID); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) .originator(DEVICE_ID) .metaData(metadata.copy()) @@ -225,7 +225,7 @@ public class TbSendRPCRequestNodeTest { TbMsgMetaData metadata = new TbMsgMetaData(); metadata.putValue("requestUUID", requestUUID); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) .originator(DEVICE_ID) .metaData(metadata.copy()) @@ -245,7 +245,7 @@ public class TbSendRPCRequestNodeTest { String originServiceId = "service-id-123"; TbMsgMetaData metadata = new TbMsgMetaData(); metadata.putValue("originServiceId", originServiceId); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) .originator(DEVICE_ID) .metaData(metadata.copy()) @@ -265,7 +265,7 @@ public class TbSendRPCRequestNodeTest { TbMsgMetaData metadata = new TbMsgMetaData(); metadata.putValue("originServiceId", originServiceId); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) .originator(DEVICE_ID) .metaData(metadata.copy()) @@ -285,7 +285,7 @@ public class TbSendRPCRequestNodeTest { String expirationTime = "2000000000000"; TbMsgMetaData metadata = new TbMsgMetaData(); metadata.putValue(DataConstants.EXPIRATION_TIME, expirationTime); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) .originator(DEVICE_ID) .metaData(metadata.copy()) @@ -305,7 +305,7 @@ public class TbSendRPCRequestNodeTest { TbMsgMetaData metadata = new TbMsgMetaData(); metadata.putValue(DataConstants.EXPIRATION_TIME, expirationTime); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) .originator(DEVICE_ID) .metaData(metadata.copy()) @@ -325,7 +325,7 @@ public class TbSendRPCRequestNodeTest { Integer retries = 3; TbMsgMetaData metadata = new TbMsgMetaData(); metadata.putValue(DataConstants.RETRIES, String.valueOf(retries)); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) .originator(DEVICE_ID) .metaData(metadata.copy()) @@ -345,7 +345,7 @@ public class TbSendRPCRequestNodeTest { TbMsgMetaData metadata = new TbMsgMetaData(); metadata.putValue(DataConstants.RETRIES, retries); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) .originator(DEVICE_ID) .metaData(metadata.copy()) @@ -363,7 +363,7 @@ public class TbSendRPCRequestNodeTest { given(ctxMock.getRpcService()).willReturn(rpcServiceMock); given(ctxMock.getTenantId()).willReturn(TENANT_ID); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(msgType) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -387,7 +387,7 @@ public class TbSendRPCRequestNodeTest { TbMsgMetaData metadata = new TbMsgMetaData(); metadata.putValue(DataConstants.PERSISTENT, isPersisted); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) .originator(DEVICE_ID) .metaData(metadata.copy()) @@ -416,7 +416,7 @@ public class TbSendRPCRequestNodeTest { @Test public void givenRpcResponseWithoutError_whenOnMsg_thenSendsRpcRequest() { - TbMsg outMsg = TbMsg.builder() + TbMsg outMsg = TbMsg.newMsg() .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -436,7 +436,7 @@ public class TbSendRPCRequestNodeTest { return null; }).given(rpcServiceMock).sendRpcRequestToDevice(any(RuleEngineDeviceRpcRequest.class), any(Consumer.class)); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -450,7 +450,7 @@ public class TbSendRPCRequestNodeTest { @Test public void givenRpcResponseWithError_whenOnMsg_thenTellFailure() { - TbMsg outMsg = TbMsg.builder() + TbMsg outMsg = TbMsg.newMsg() .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -469,7 +469,7 @@ public class TbSendRPCRequestNodeTest { return null; }).given(rpcServiceMock).sendRpcRequestToDevice(any(RuleEngineDeviceRpcRequest.class), any(Consumer.class)); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -486,7 +486,7 @@ public class TbSendRPCRequestNodeTest { public void givenOriginatorIsNotDevice_whenOnMsg_thenThrowsException(EntityType entityType) { EntityId entityId = EntityIdFactory.getByTypeAndUuid(entityType, "ac21a1bb-eabf-4463-8313-24bea1f498d9"); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(entityId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -504,7 +504,7 @@ public class TbSendRPCRequestNodeTest { @ParameterizedTest @ValueSource(strings = {"method", "params"}) public void givenMethodOrParamsAreNotPresent_whenOnMsg_thenThrowsException(String key) { - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgAttributesNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgAttributesNodeTest.java index 4e1add54fe..470a397ea4 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgAttributesNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgAttributesNodeTest.java @@ -164,7 +164,7 @@ class TbMsgAttributesNodeTest extends AbstractRuleNodeUpgradeTest { md.putValue(NOTIFY_DEVICE_METADATA_KEY, mdValue); } // dummy list with one ts kv to pass the empty list check. - var testTbMsg = TbMsg.builder() + var testTbMsg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) .metaData(md.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgDeleteAttributesNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgDeleteAttributesNodeTest.java index 680e8b5004..80259b34c0 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgDeleteAttributesNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgDeleteAttributesNodeTest.java @@ -139,7 +139,7 @@ public class TbMsgDeleteAttributesNodeTest { } final String data = "{\"TestAttribute_2\": \"humidity\", \"TestAttribute_3\": \"voltage\"}"; - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(deviceId) .metaData(metaData.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgTimeseriesNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgTimeseriesNodeTest.java index 0a7cbc7307..3bd7a67794 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgTimeseriesNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgTimeseriesNodeTest.java @@ -96,7 +96,7 @@ public class TbMsgTimeseriesNodeTest { @EnumSource(TbMsgType.class) public void givenMsgTypeAndEmptyMsgData_whenOnMsg_thenVerifyFailureMsg(TbMsgType msgType) throws TbNodeException { init(); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(msgType) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -127,7 +127,7 @@ public class TbMsgTimeseriesNodeTest { "humidity": 77 } """; - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -169,7 +169,7 @@ public class TbMsgTimeseriesNodeTest { """; long ts = System.currentTimeMillis(); var metadata = Map.of("ts", String.valueOf(ts)); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(new TbMsgMetaData(metadata).copy()) @@ -212,7 +212,7 @@ public class TbMsgTimeseriesNodeTest { """; var metadata = new TbMsgMetaData(); metadata.putValue("TTL", ttlFromMd); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(metadata.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbChangeOriginatorNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbChangeOriginatorNodeTest.java index dd0b3e3385..455394e13f 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbChangeOriginatorNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbChangeOriginatorNodeTest.java @@ -176,7 +176,7 @@ public class TbChangeOriginatorNodeTest { Device device = new Device(DEVICE_ID); device.setCustomerId(CUSTOMER_ID); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -204,7 +204,7 @@ public class TbChangeOriginatorNodeTest { public void givenOriginatorSourceIsTenant_whenOnMsg_thenTellSuccess() throws TbNodeException { config.setOriginatorSource(TENANT); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(ASSET_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -229,7 +229,7 @@ public class TbChangeOriginatorNodeTest { public void givenOriginatorSourceIsRelatedAndNewOriginatorIsNull_whenOnMsg_thenTellFailure() throws TbNodeException { config.setOriginatorSource(RELATED); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(ASSET_ID) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -268,7 +268,7 @@ public class TbChangeOriginatorNodeTest { Alarm alarm = new Alarm(alarmId); alarm.setOriginator(DEVICE_ID); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(alarmId) .metaData(TbMsgMetaData.EMPTY.copy()) @@ -299,7 +299,7 @@ public class TbChangeOriginatorNodeTest { config.setEntityType(EntityType.ASSET.name()); config.setEntityNamePattern(entityNamePattern); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(metaData.copy()) @@ -340,7 +340,7 @@ public class TbChangeOriginatorNodeTest { TbMsgMetaData metaData = new TbMsgMetaData(); metaData.putValue("md-name-pattern", "test-asset"); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) .metaData(metaData.copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbCopyKeysNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbCopyKeysNodeTest.java index fe27c4452b..427181c5af 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbCopyKeysNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbCopyKeysNodeTest.java @@ -196,7 +196,7 @@ public class TbCopyKeysNodeTest { "voltageDataValue", "220", "city", "NY" ); - return TbMsg.builder() + return TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(entityId) .metaData(new TbMsgMetaData(mdMap).copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbDeleteKeysNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbDeleteKeysNodeTest.java index c47beffdec..93b34182a8 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbDeleteKeysNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbDeleteKeysNodeTest.java @@ -173,7 +173,7 @@ public class TbDeleteKeysNodeTest { "voltageDataValue", "220", "city", "NY" ); - return TbMsg.builder() + return TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(entityId) .metaData(new TbMsgMetaData(mdMap).copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbJsonPathNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbJsonPathNodeTest.java index 3ca1521f43..298df82d2a 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbJsonPathNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbJsonPathNodeTest.java @@ -171,7 +171,7 @@ public class TbJsonPathNodeTest { Map mdMap = Map.of("country", "US", "city", "NY" ); - return TbMsg.builder() + return TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(entityId) .metaData(new TbMsgMetaData(mdMap).copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbMsgDeduplicationNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbMsgDeduplicationNodeTest.java index 1a79865867..84b648823f 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbMsgDeduplicationNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbMsgDeduplicationNodeTest.java @@ -103,7 +103,7 @@ public class TbMsgDeduplicationNodeTest extends AbstractRuleNodeUpgradeTest { EntityId originator = (EntityId) (invocationOnMock.getArguments())[2]; TbMsgMetaData metaData = (TbMsgMetaData) (invocationOnMock.getArguments())[3]; String data = (String) (invocationOnMock.getArguments())[4]; - return TbMsg.builder() + return TbMsg.newMsg() .type(type) .originator(originator) .metaData(metaData.copy().copy()) @@ -457,7 +457,7 @@ public class TbMsgDeduplicationNodeTest extends AbstractRuleNodeUpgradeTest { dataNode.put("deviceId", deviceId.getId().toString()); TbMsgMetaData metaData = new TbMsgMetaData(); metaData.putValue("ts", String.valueOf(ts)); - return TbMsg.builder() + return TbMsg.newMsg() .queueName(DataConstants.MAIN_QUEUE_NAME) .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbRenameKeysNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbRenameKeysNodeTest.java index 851d45edc7..61851945c0 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbRenameKeysNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbRenameKeysNodeTest.java @@ -188,7 +188,7 @@ public class TbRenameKeysNodeTest { "country", "US", "city", "NY" ); - return TbMsg.builder() + return TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(entityId) .metaData(new TbMsgMetaData(mdMap).copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbSplitArrayMsgNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbSplitArrayMsgNodeTest.java index 1ba7760244..b811934718 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbSplitArrayMsgNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbSplitArrayMsgNodeTest.java @@ -132,7 +132,7 @@ public class TbSplitArrayMsgNodeTest { "country", "US", "city", "NY" ); - return TbMsg.builder() + return TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(entityId) .metaData(new TbMsgMetaData(mdMap).copy()) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbTransformMsgNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbTransformMsgNodeTest.java index 5c8ea2c0f3..094cc4ac18 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbTransformMsgNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbTransformMsgNodeTest.java @@ -61,7 +61,7 @@ public class TbTransformMsgNodeTest { RuleChainId ruleChainId = new RuleChainId(Uuids.timeBased()); RuleNodeId ruleNodeId = new RuleNodeId(Uuids.timeBased()); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(null) .metaData(metaData.copy()) @@ -70,7 +70,7 @@ public class TbTransformMsgNodeTest { .ruleChainId(ruleChainId) .ruleNodeId(ruleNodeId) .build(); - TbMsg transformedMsg = TbMsg.builder() + TbMsg transformedMsg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(null) .metaData(metaData.copy()) @@ -97,7 +97,7 @@ public class TbTransformMsgNodeTest { RuleChainId ruleChainId = new RuleChainId(Uuids.timeBased()); RuleNodeId ruleNodeId = new RuleNodeId(Uuids.timeBased()); - TbMsg msg = TbMsg.builder() + TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(null) .metaData(metaData.copy()) From 0b3ffb5b4a090ee45f2325160313d43f03e0d2b6 Mon Sep 17 00:00:00 2001 From: ViacheslavKlimov Date: Fri, 13 Dec 2024 14:21:55 +0200 Subject: [PATCH 4/7] Refactor TbMsg transforming --- .../actors/ruleChain/DefaultTbContext.java | 23 +- .../queue/DefaultTbClusterService.java | 11 +- .../script/RuleNodeJsScriptEngine.java | 6 +- .../script/RuleNodeTbelScriptEngine.java | 6 +- .../queue/DefaultTbClusterServiceTest.java | 2 +- .../thingsboard/server/common/msg/TbMsg.java | 215 ++++++++---------- .../engine/action/TbAbstractAlarmNode.java | 4 +- .../engine/aws/lambda/TbAwsLambdaNode.java | 9 +- .../rule/engine/aws/sns/TbSnsNode.java | 8 +- .../rule/engine/aws/sqs/TbSqsNode.java | 8 +- .../rule/engine/gcp/pubsub/TbPubSubNode.java | 8 +- .../rule/engine/kafka/TbKafkaNode.java | 8 +- .../rule/engine/math/TbMathNode.java | 8 +- .../engine/metadata/CalculateDeltaNode.java | 4 +- .../metadata/TbAbstractNodeWithFetchTo.java | 8 +- .../engine/metadata/TbGetTelemetryNode.java | 4 +- .../rule/engine/mqtt/TbMqttNode.java | 4 +- .../notification/TbNotificationNode.java | 4 +- .../rule/engine/rabbitmq/TbRabbitMqNode.java | 4 +- .../rule/engine/rest/TbHttpClient.java | 8 +- .../rule/engine/transform/TbCopyKeysNode.java | 5 +- .../engine/transform/TbDeleteKeysNode.java | 5 +- .../rule/engine/transform/TbJsonPathNode.java | 4 +- .../engine/transform/TbRenameKeysNode.java | 5 +- .../engine/transform/TbSplitArrayMsgNode.java | 8 +- .../engine/action/TbCreateAlarmNodeTest.java | 72 +++--- .../action/TbCreateRelationNodeTest.java | 4 +- .../aws/lambda/TbAwsLambdaNodeTest.java | 18 +- .../engine/gcp/pubsub/TbPubSubNodeTest.java | 16 +- .../rule/engine/kafka/TbKafkaNodeTest.java | 8 +- .../metadata/TbGetTelemetryNodeTest.java | 8 +- .../rule/engine/mqtt/TbMqttNodeTest.java | 4 +- .../engine/rabbitmq/TbRabbitMqNodeTest.java | 4 +- .../transform/TbChangeOriginatorNodeTest.java | 16 +- 34 files changed, 314 insertions(+), 215 deletions(-) diff --git a/application/src/main/java/org/thingsboard/server/actors/ruleChain/DefaultTbContext.java b/application/src/main/java/org/thingsboard/server/actors/ruleChain/DefaultTbContext.java index 0c3c2b749d..4e8dce76a7 100644 --- a/application/src/main/java/org/thingsboard/server/actors/ruleChain/DefaultTbContext.java +++ b/application/src/main/java/org/thingsboard/server/actors/ruleChain/DefaultTbContext.java @@ -377,7 +377,12 @@ public class DefaultTbContext implements TbContext { @Override public TbMsg transformMsg(TbMsg origMsg, String type, EntityId originator, TbMsgMetaData metaData, String data) { - return TbMsg.transformMsg(origMsg, type, originator, metaData, data); + return origMsg.transform() + .type(type) + .originator(originator) + .metaData(metaData) + .data(data) + .build(); } @Override @@ -401,17 +406,27 @@ public class DefaultTbContext implements TbContext { @Override public TbMsg transformMsg(TbMsg origMsg, TbMsgType type, EntityId originator, TbMsgMetaData metaData, String data) { - return TbMsg.transformMsg(origMsg, type, originator, metaData, data); + return origMsg.transform() + .type(type) + .originator(originator) + .metaData(metaData) + .data(data) + .build(); } @Override public TbMsg transformMsg(TbMsg origMsg, TbMsgMetaData metaData, String data) { - return TbMsg.transformMsg(origMsg, metaData, data); + return origMsg.transform() + .metaData(metaData) + .data(data) + .build(); } @Override public TbMsg transformMsgOriginator(TbMsg origMsg, EntityId originator) { - return TbMsg.transformMsgOriginator(origMsg, originator); + return origMsg.transform() + .originator(originator) + .build(); } @Override diff --git a/application/src/main/java/org/thingsboard/server/service/queue/DefaultTbClusterService.java b/application/src/main/java/org/thingsboard/server/service/queue/DefaultTbClusterService.java index 301f8e8838..92ad0e446a 100644 --- a/application/src/main/java/org/thingsboard/server/service/queue/DefaultTbClusterService.java +++ b/application/src/main/java/org/thingsboard/server/service/queue/DefaultTbClusterService.java @@ -290,11 +290,16 @@ public class DefaultTbClusterService implements TbClusterService { boolean isQueueTransform = targetQueueName != null && !targetQueueName.equals(tbMsg.getQueueName()); if (isRuleChainTransform && isQueueTransform) { - tbMsg = TbMsg.transformMsg(tbMsg, targetRuleChainId, targetQueueName); + tbMsg = tbMsg.transform() + .queueName(targetQueueName) + .ruleChainId(targetRuleChainId) + .build(); } else if (isRuleChainTransform) { - tbMsg = TbMsg.transformMsgRuleChainId(tbMsg, targetRuleChainId); + tbMsg = tbMsg.transform() + .ruleChainId(targetRuleChainId) + .build(); } else if (isQueueTransform) { - tbMsg = TbMsg.transformMsgQueueName(tbMsg, targetQueueName); + tbMsg = tbMsg.transform(targetQueueName); } } return tbMsg; diff --git a/application/src/main/java/org/thingsboard/server/service/script/RuleNodeJsScriptEngine.java b/application/src/main/java/org/thingsboard/server/service/script/RuleNodeJsScriptEngine.java index a022d6a5b1..c756e50de4 100644 --- a/application/src/main/java/org/thingsboard/server/service/script/RuleNodeJsScriptEngine.java +++ b/application/src/main/java/org/thingsboard/server/service/script/RuleNodeJsScriptEngine.java @@ -147,6 +147,10 @@ public class RuleNodeJsScriptEngine extends RuleNodeScriptEngine ListenableFuture wrongResultType(Object result) { diff --git a/application/src/test/java/org/thingsboard/server/service/queue/DefaultTbClusterServiceTest.java b/application/src/test/java/org/thingsboard/server/service/queue/DefaultTbClusterServiceTest.java index eed0734e6c..81a1120d4e 100644 --- a/application/src/test/java/org/thingsboard/server/service/queue/DefaultTbClusterServiceTest.java +++ b/application/src/test/java/org/thingsboard/server/service/queue/DefaultTbClusterServiceTest.java @@ -371,7 +371,7 @@ public class DefaultTbClusterServiceTest { clusterService.pushMsgToRuleEngine(tenantId, deviceId, requestMsg, false, callback); verify(producerProvider).getRuleEngineMsgProducer(); - TbMsg expectedMsg = TbMsg.transformMsgQueueName(requestMsg, DataConstants.MAIN_QUEUE_NAME); + TbMsg expectedMsg = requestMsg.transform(DataConstants.MAIN_QUEUE_NAME); ArgumentCaptor actualMsg = ArgumentCaptor.forClass(TbMsg.class); verify(ruleEngineProducerService).sendToRuleEngine(eq(tbREQueueProducer), eq(tenantId), actualMsg.capture(), eq(callback)); assertThat(actualMsg.getValue()).usingRecursiveComparison().ignoringFields("ctx").isEqualTo(expectedMsg); diff --git a/common/message/src/main/java/org/thingsboard/server/common/msg/TbMsg.java b/common/message/src/main/java/org/thingsboard/server/common/msg/TbMsg.java index 66c48077c2..f758aa8e8a 100644 --- a/common/message/src/main/java/org/thingsboard/server/common/msg/TbMsg.java +++ b/common/message/src/main/java/org/thingsboard/server/common/msg/TbMsg.java @@ -81,82 +81,42 @@ public final class TbMsg implements Serializable { return ctx.getAndIncrementRuleNodeCounter(); } - /** - * Transforms an existing TbMsg instance by changing its message type, originator, metadata, and data. - * - *

Deprecated: This method is deprecated since version 3.6.0 and should only be used when you need to - * specify a custom message type that doesn't exist in the {@link TbMsgType} enum. For standard message types, - * it is recommended to use the {@link #transformMsg(TbMsg, TbMsgType, EntityId, TbMsgMetaData, String)} - * method instead.

- * - * - * @param tbMsg the TbMsg instance to transform - * @param type the new message type - * @param originator the new originator - * @param metaData the new metadata - * @param data the new data - * @return the transformed TbMsg instance - */ - @Deprecated(since = "3.6.0") - public static TbMsg transformMsg(TbMsg tbMsg, String type, EntityId originator, TbMsgMetaData metaData, String data) { - return tbMsg.transform() - .type(type) - .originator(originator) - .metaData(metaData) - .data(data) - .ctx(tbMsg.ctx) + public TbMsg transform(String queueName) { + return transform() + .queueName(queueName) + .ruleNodeId(null) .build(); } - public static TbMsg transformMsg(TbMsg tbMsg, TbMsgType type, EntityId originator, TbMsgMetaData metaData, String data) { - return new TbMsg(tbMsg.queueName, tbMsg.id, tbMsg.ts, type, type.name(), originator, tbMsg.customerId, metaData.copy(), tbMsg.dataType, - data, tbMsg.ruleChainId, tbMsg.ruleNodeId, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), tbMsg.callback); - } - - public static TbMsg transformMsgOriginator(TbMsg tbMsg, EntityId originatorId) { - return new TbMsg(tbMsg.queueName, tbMsg.id, tbMsg.ts, tbMsg.internalType, tbMsg.type, originatorId, tbMsg.getCustomerId(), tbMsg.metaData, tbMsg.dataType, - tbMsg.data, tbMsg.ruleChainId, tbMsg.ruleNodeId, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), tbMsg.getCallback()); - } - - public static TbMsg transformMsgData(TbMsg tbMsg, String data) { - return new TbMsg(tbMsg.queueName, tbMsg.id, tbMsg.ts, tbMsg.internalType, tbMsg.type, tbMsg.originator, tbMsg.customerId, tbMsg.metaData, tbMsg.dataType, - data, tbMsg.ruleChainId, tbMsg.ruleNodeId, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), tbMsg.getCallback()); - } - - public static TbMsg transformMsgMetadata(TbMsg tbMsg, TbMsgMetaData metadata) { - return new TbMsg(tbMsg.queueName, tbMsg.id, tbMsg.ts, tbMsg.internalType, tbMsg.type, tbMsg.originator, tbMsg.customerId, metadata.copy(), tbMsg.dataType, - tbMsg.data, tbMsg.ruleChainId, tbMsg.ruleNodeId, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), tbMsg.getCallback()); - } - - public static TbMsg transformMsg(TbMsg tbMsg, TbMsgMetaData metadata, String data) { - return new TbMsg(tbMsg.queueName, tbMsg.id, tbMsg.ts, tbMsg.internalType, tbMsg.type, tbMsg.originator, tbMsg.customerId, metadata, tbMsg.dataType, - data, tbMsg.ruleChainId, tbMsg.ruleNodeId, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), tbMsg.getCallback()); - } - - public static TbMsg transformMsgCustomerId(TbMsg tbMsg, CustomerId customerId) { - return new TbMsg(tbMsg.queueName, tbMsg.id, tbMsg.ts, tbMsg.internalType, tbMsg.type, tbMsg.originator, customerId, tbMsg.metaData, tbMsg.dataType, - tbMsg.data, tbMsg.ruleChainId, tbMsg.ruleNodeId, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), tbMsg.getCallback()); + // used for enqueueForTellNext + public static TbMsg newMsg(TbMsg tbMsg, String queueName, RuleChainId ruleChainId, RuleNodeId ruleNodeId) { + return tbMsg.transform() + .id(UUID.randomUUID()) + .queueName(queueName) + .metaData(tbMsg.getMetaData()) + .ruleChainId(ruleChainId) + .ruleNodeId(ruleNodeId) + .callback(TbMsgCallback.EMPTY) + .build(); } - public static TbMsg transformMsgRuleChainId(TbMsg tbMsg, RuleChainId ruleChainId) { - return new TbMsg(tbMsg.queueName, tbMsg.id, tbMsg.ts, tbMsg.internalType, tbMsg.type, tbMsg.originator, tbMsg.customerId, tbMsg.metaData, tbMsg.dataType, - tbMsg.data, ruleChainId, null, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), tbMsg.getCallback()); + public TbMsg copyWithRuleChainId(RuleChainId ruleChainId) { + return copyWithRuleChainId(ruleChainId, this.id); } - public static TbMsg transformMsgQueueName(TbMsg tbMsg, String queueName) { - return new TbMsg(queueName, tbMsg.id, tbMsg.ts, tbMsg.internalType, tbMsg.type, tbMsg.originator, tbMsg.customerId, tbMsg.metaData, tbMsg.dataType, - tbMsg.data, tbMsg.getRuleChainId(), null, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), tbMsg.getCallback()); + public TbMsg copyWithRuleChainId(RuleChainId ruleChainId, UUID msgId) { + return new TbMsg(this.queueName, msgId, this.ts, this.internalType, this.type, this.originator, this.customerId, + this.metaData, this.dataType, this.data, ruleChainId, null, this.correlationId, this.partition, this.ctx, callback); } - public static TbMsg transformMsg(TbMsg tbMsg, RuleChainId ruleChainId, String queueName) { - return new TbMsg(queueName, tbMsg.id, tbMsg.ts, tbMsg.internalType, tbMsg.type, tbMsg.originator, tbMsg.customerId, tbMsg.metaData, tbMsg.dataType, - tbMsg.data, ruleChainId, null, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), tbMsg.getCallback()); + public TbMsg copyWithRuleNodeId(RuleChainId ruleChainId, RuleNodeId ruleNodeId, UUID msgId) { + return new TbMsg(this.queueName, msgId, this.ts, this.internalType, this.type, this.originator, this.customerId, + this.metaData, this.dataType, this.data, ruleChainId, ruleNodeId, this.correlationId, this.partition, this.ctx, callback); } - //used for enqueueForTellNext - public static TbMsg newMsg(TbMsg tbMsg, String queueName, RuleChainId ruleChainId, RuleNodeId ruleNodeId) { - return new TbMsg(queueName, UUID.randomUUID(), tbMsg.getTs(), tbMsg.getInternalType(), tbMsg.getType(), tbMsg.getOriginator(), tbMsg.customerId, tbMsg.getMetaData().copy(), - tbMsg.getDataType(), tbMsg.getData(), ruleChainId, ruleNodeId, tbMsg.correlationId, tbMsg.partition, tbMsg.ctx.copy(), TbMsgCallback.EMPTY); + public TbMsg copyWithNewCtx() { + return new TbMsg(this.queueName, this.id, this.ts, this.internalType, this.type, this.originator, this.customerId, + this.metaData, this.dataType, this.data, ruleChainId, ruleNodeId, this.correlationId, this.partition, this.ctx.copy(), TbMsgCallback.EMPTY); } private TbMsg(String queueName, UUID id, long ts, TbMsgType internalType, String type, EntityId originator, CustomerId customerId, TbMsgMetaData metaData, TbMsgDataType dataType, String data, @@ -278,25 +238,6 @@ public final class TbMsg implements Serializable { } } - public TbMsg copyWithRuleChainId(RuleChainId ruleChainId) { - return copyWithRuleChainId(ruleChainId, this.id); - } - - public TbMsg copyWithRuleChainId(RuleChainId ruleChainId, UUID msgId) { - return new TbMsg(this.queueName, msgId, this.ts, this.internalType, this.type, this.originator, this.customerId, - this.metaData, this.dataType, this.data, ruleChainId, null, this.correlationId, this.partition, this.ctx, callback); - } - - public TbMsg copyWithRuleNodeId(RuleChainId ruleChainId, RuleNodeId ruleNodeId, UUID msgId) { - return new TbMsg(this.queueName, msgId, this.ts, this.internalType, this.type, this.originator, this.customerId, - this.metaData, this.dataType, this.data, ruleChainId, ruleNodeId, this.correlationId, this.partition, this.ctx, callback); - } - - public TbMsg copyWithNewCtx() { - return new TbMsg(this.queueName, this.id, this.ts, this.internalType, this.type, this.originator, this.customerId, - this.metaData, this.dataType, this.data, ruleChainId, ruleNodeId, this.correlationId, this.partition, this.ctx.copy(), TbMsgCallback.EMPTY); - } - public TbMsgCallback getCallback() { // May be null in case of deserialization; return Objects.requireNonNullElse(callback, TbMsgCallback.EMPTY); @@ -357,62 +298,91 @@ public final class TbMsg implements Serializable { } public TbMsgBuilder transform() { - return new TbMsgTransformer() - .queueName(this.queueName) - .id(this.id) - .ts(this.ts) - .type(this.type) - .type(this.internalType) - .originator(this.originator) - .customerId(this.customerId) - .metaData(this.metaData) - .dataType(this.dataType) - .data(this.data) - .ruleChainId(this.ruleChainId) - .ruleNodeId(this.ruleNodeId) - .correlationId(this.correlationId) - .partition(this.partition) - .ctx(this.ctx) - .callback(this.callback); + return new TbMsgTransformer(this); + } + + public TbMsgBuilder copy() { + return new TbMsgBuilder(this); } private static class TbMsgTransformer extends TbMsgBuilder { + TbMsgTransformer(TbMsg tbMsg) { + super(tbMsg); + } + + /* + * metadata is only copied if specified explicitly during transform + * */ @Override public TbMsgTransformer metaData(TbMsgMetaData metaData) { - super.metaData(metaData.copy()); + this.metaData = metaData.copy(); return this; } + /* + * setting ruleNodeId to null when updating ruleChainId + * */ @Override - public TbMsgTransformer ctx(TbMsgProcessingCtx ctx) { - super.ctx(ctx.copy()); + public TbMsgBuilder ruleChainId(RuleChainId ruleChainId) { + this.ruleChainId = ruleChainId; + this.ruleNodeId = null; return this; } + @Override + public TbMsg build() { + /* + * always copying ctx when transforming + * */ + if (ctx != null) { + ctx = ctx.copy(); + } + return super.build(); + } + } - private static class TbMsgBuilder { - - private String queueName; - private UUID id; - private long ts; - private String type; - private TbMsgType internalType; - private EntityId originator; - private CustomerId customerId; - private TbMsgMetaData metaData; - private TbMsgDataType dataType; - private String data; - private RuleChainId ruleChainId; - private RuleNodeId ruleNodeId; - private UUID correlationId; - private Integer partition; - private TbMsgProcessingCtx ctx; - private TbMsgCallback callback; + public static class TbMsgBuilder { + + protected String queueName; + protected UUID id; + protected long ts; + protected String type; + protected TbMsgType internalType; + protected EntityId originator; + protected CustomerId customerId; + protected TbMsgMetaData metaData; + protected TbMsgDataType dataType; + protected String data; + protected RuleChainId ruleChainId; + protected RuleNodeId ruleNodeId; + protected UUID correlationId; + protected Integer partition; + protected TbMsgProcessingCtx ctx; + protected TbMsgCallback callback; TbMsgBuilder() {} + TbMsgBuilder(TbMsg tbMsg) { + this.queueName = tbMsg.queueName; + this.id = tbMsg.id; + this.ts = tbMsg.ts; + this.type = tbMsg.type; + this.internalType = tbMsg.internalType; + this.originator = tbMsg.originator; + this.customerId = tbMsg.customerId; + this.metaData = tbMsg.metaData; + this.dataType = tbMsg.dataType; + this.data = tbMsg.data; + this.ruleChainId = tbMsg.ruleChainId; + this.ruleNodeId = tbMsg.ruleNodeId; + this.correlationId = tbMsg.correlationId; + this.partition = tbMsg.partition; + this.ctx = tbMsg.ctx; + this.callback = tbMsg.callback; + } + public TbMsgBuilder queueName(String queueName) { this.queueName = queueName; return this; @@ -442,6 +412,7 @@ public final class TbMsg implements Serializable { public TbMsgBuilder type(TbMsgType internalType) { this.internalType = internalType; + this.type = internalType.name(); return this; } diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbAbstractAlarmNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbAbstractAlarmNode.java index 855727494e..5431913894 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbAbstractAlarmNode.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbAbstractAlarmNode.java @@ -79,7 +79,9 @@ public abstract class TbAbstractAlarmNode args) { diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/metadata/CalculateDeltaNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/metadata/CalculateDeltaNode.java index 329fa46c3b..75d0e774a2 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/metadata/CalculateDeltaNode.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/metadata/CalculateDeltaNode.java @@ -175,7 +175,9 @@ public class CalculateDeltaNode implements TbNode { long period = previousData != null ? msg.getMetaDataTs() - previousData.ts : 0; json.put(config.getPeriodValueKey(), period); } - return TbMsg.transformMsgData(msg, JacksonUtil.toString(json)); + return msg.transform() + .data(JacksonUtil.toString(json)) + .build(); }, MoreExecutors.directExecutor()); } diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/metadata/TbAbstractNodeWithFetchTo.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/metadata/TbAbstractNodeWithFetchTo.java index 951f1635d8..0e4fc27c02 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/metadata/TbAbstractNodeWithFetchTo.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/metadata/TbAbstractNodeWithFetchTo.java @@ -82,9 +82,13 @@ public abstract class TbAbstractNodeWithFetchTo> list = ctx.getTimeseriesService().findAll(ctx.getTenantId(), msg.getOriginator(), buildQueries(interval, keys)); DonAsynchron.withCallback(list, data -> { var metaData = updateMetadata(data, msg, keys); - ctx.tellSuccess(TbMsg.transformMsgMetadata(msg, metaData)); + ctx.tellSuccess(msg.transform() + .metaData(metaData) + .build()); }, error -> ctx.tellFailure(msg, error), ctx.getDbCallbackExecutor()); } diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/mqtt/TbMqttNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/mqtt/TbMqttNode.java index 912496f39e..56bfe038a8 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/mqtt/TbMqttNode.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/mqtt/TbMqttNode.java @@ -103,7 +103,9 @@ public class TbMqttNode extends TbAbstractExternalNode { private TbMsg processException(TbMsg origMsg, Throwable e) { TbMsgMetaData metaData = origMsg.getMetaData().copy(); metaData.putValue(ERROR, e.getClass() + ": " + e.getMessage()); - return TbMsg.transformMsgMetadata(origMsg, metaData); + return origMsg.transform() + .metaData(metaData) + .build(); } @Override diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/notification/TbNotificationNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/notification/TbNotificationNode.java index 34c5d6de28..8ae3da7bad 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/notification/TbNotificationNode.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/notification/TbNotificationNode.java @@ -82,7 +82,9 @@ public class TbNotificationNode extends TbAbstractExternalNode { public void onSuccess(NotificationRequestStats stats) { TbMsgMetaData metaData = tbMsg.getMetaData().copy(); metaData.putValue("notificationRequestResult", JacksonUtil.toString(stats)); - tellSuccess(ctx, TbMsg.transformMsgMetadata(tbMsg, metaData)); + tellSuccess(ctx, tbMsg.transform() + .metaData(metaData) + .build()); } @Override diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/rabbitmq/TbRabbitMqNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/rabbitmq/TbRabbitMqNode.java index b15e0e8e3d..8b724ae86e 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/rabbitmq/TbRabbitMqNode.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/rabbitmq/TbRabbitMqNode.java @@ -127,7 +127,9 @@ public class TbRabbitMqNode extends TbAbstractExternalNode { private TbMsg processException(TbMsg origMsg, Throwable t) { TbMsgMetaData metaData = origMsg.getMetaData().copy(); metaData.putValue(ERROR, t.getClass() + ": " + t.getMessage()); - return TbMsg.transformMsgMetadata(origMsg, metaData); + return origMsg.transform() + .metaData(metaData) + .build(); } @Override diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/rest/TbHttpClient.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/rest/TbHttpClient.java index 566430bd8d..ed1ed4fa83 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/rest/TbHttpClient.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/rest/TbHttpClient.java @@ -323,7 +323,9 @@ public class TbHttpClient { metaData.putValue(STATUS_REASON, httpStatus.getReasonPhrase()); metaData.putValue(ERROR_BODY, response.getBody()); headersToMetaData(response.getHeaders(), metaData::putValue); - return TbMsg.transformMsgMetadata(origMsg, metaData); + return origMsg.transform() + .metaData(metaData) + .build(); } private TbMsg processException(TbMsg origMsg, Throwable e) { @@ -334,7 +336,9 @@ public class TbHttpClient { metaData.putValue(STATUS_CODE, restClientResponseException.getStatusCode().value() + ""); metaData.putValue(ERROR_BODY, restClientResponseException.getResponseBodyAsString()); } - return TbMsg.transformMsgMetadata(origMsg, metaData); + return origMsg.transform() + .metaData(metaData) + .build(); } private void prepareHeaders(HttpHeaders headers, TbMsg msg) { diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbCopyKeysNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbCopyKeysNode.java index aedf8eac1e..1417618a54 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbCopyKeysNode.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbCopyKeysNode.java @@ -105,7 +105,10 @@ public class TbCopyKeysNode extends TbAbstractTransformNodeWithTbMsgSource { log.debug("Unexpected CopyFrom value: {}. Allowed values: {}", copyFrom, TbMsgSource.values()); } } - ctx.tellSuccess(msgChanged ? TbMsg.transformMsg(msg, metaDataCopy, msgData) : msg); + ctx.tellSuccess(msgChanged ? msg.transform() + .metaData(metaDataCopy) + .data(msgData) + .build() : msg); } @Override diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbDeleteKeysNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbDeleteKeysNode.java index 3d4c9b9684..cf31381af2 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbDeleteKeysNode.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbDeleteKeysNode.java @@ -100,7 +100,10 @@ public class TbDeleteKeysNode extends TbAbstractTransformNodeWithTbMsgSource { default: log.debug("Unexpected DeleteFrom value: {}. Allowed values: {}", deleteFrom, TbMsgSource.values()); } - ctx.tellSuccess(hasNoChanges ? msg : TbMsg.transformMsg(msg, metaDataCopy, msgDataStr)); + ctx.tellSuccess(hasNoChanges ? msg : msg.transform() + .metaData(metaDataCopy) + .data(msgDataStr) + .build()); } @Override diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbJsonPathNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbJsonPathNode.java index b0a7bc059f..043e914c2c 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbJsonPathNode.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbJsonPathNode.java @@ -68,7 +68,9 @@ public class TbJsonPathNode implements TbNode { if (!TbJsonPathNodeConfiguration.DEFAULT_JSON_PATH.equals(this.jsonPathValue)) { try { Object jsonPathData = jsonPath.read(msg.getData(), this.configurationJsonPath); - ctx.tellSuccess(TbMsg.transformMsgData(msg, JacksonUtil.toString(jsonPathData))); + ctx.tellSuccess(msg.transform() + .data(JacksonUtil.toString(jsonPathData)) + .build()); } catch (PathNotFoundException e) { ctx.tellFailure(msg, e); } diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbRenameKeysNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbRenameKeysNode.java index f01f09ae49..490504c42b 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbRenameKeysNode.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbRenameKeysNode.java @@ -106,7 +106,10 @@ public class TbRenameKeysNode extends TbAbstractTransformNodeWithTbMsgSource { default: log.debug("Unexpected RenameIn value: {}. Allowed values: {}", renameIn, TbMsgSource.values()); } - ctx.tellSuccess(msgChanged ? TbMsg.transformMsg(msg, metaDataCopy, data) : msg); + ctx.tellSuccess(msgChanged ? msg.transform() + .metaData(metaDataCopy) + .data(data) + .build() : msg); } @Override diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbSplitArrayMsgNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbSplitArrayMsgNode.java index fb12352dc0..92a3dd8d09 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbSplitArrayMsgNode.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbSplitArrayMsgNode.java @@ -64,7 +64,9 @@ public class TbSplitArrayMsgNode implements TbNode { if (data.isEmpty()) { ctx.ack(msg); } else if (data.size() == 1) { - ctx.tellSuccess(TbMsg.transformMsgData(msg, JacksonUtil.toString(data.get(0)))); + ctx.tellSuccess(msg.transform() + .data(JacksonUtil.toString(data.get(0))) + .build()); } else { TbMsgCallbackWrapper wrapper = new MultipleTbMsgsCallbackWrapper(data.size(), new TbMsgCallback() { @Override @@ -78,7 +80,9 @@ public class TbSplitArrayMsgNode implements TbNode { } }); data.forEach(msgNode -> { - TbMsg outMsg = TbMsg.transformMsgData(msg, JacksonUtil.toString(msgNode)); + TbMsg outMsg = msg.transform() + .data(JacksonUtil.toString(msgNode)) + .build(); ctx.enqueueForTellNext(outMsg, TbNodeConnectionType.SUCCESS, wrapper::onSuccess, wrapper::onFailure); }); } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbCreateAlarmNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbCreateAlarmNodeTest.java index 7846ac2da5..5f35288c30 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbCreateAlarmNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbCreateAlarmNodeTest.java @@ -229,12 +229,12 @@ class TbCreateAlarmNodeTest { given(alarmServiceMock.createAlarm(expectedCreateAlarmRequest)).willReturn(apiCallResult); given(ctxMock.alarmActionMsg(expectedCreatedAlarmInfo, ruleNodeSelfId, TbMsgType.ENTITY_CREATED)).willReturn(alarmActionMsgMock); given(ctxMock.transformMsg(any(TbMsg.class), any(TbMsgType.class), any(EntityId.class), any(TbMsgMetaData.class), anyString())) - .willAnswer(answer -> TbMsg.transformMsg( - answer.getArgument(0, TbMsg.class), - answer.getArgument(1, TbMsgType.class), - answer.getArgument(2, EntityId.class), - answer.getArgument(3, TbMsgMetaData.class), - answer.getArgument(4, String.class)) + .willAnswer(answer -> answer.getArgument(0, TbMsg.class).transform() + .type(answer.getArgument(1, TbMsgType.class)) + .originator(answer.getArgument(2, EntityId.class)) + .metaData(answer.getArgument(3, TbMsgMetaData.class)) + .data(answer.getArgument(4, String.class)) + .build() ); given(ctxMock.createScriptEngine(ScriptLanguage.TBEL, TbAbstractAlarmNodeConfiguration.ALARM_DETAILS_BUILD_TBEL_TEMPLATE)).willReturn(alarmDetailsScriptMock); @@ -403,12 +403,12 @@ class TbCreateAlarmNodeTest { given(alarmServiceMock.createAlarm(expectedCreateAlarmRequest)).willReturn(apiCallResult); given(ctxMock.alarmActionMsg(expectedCreatedAlarmInfo, ruleNodeSelfId, TbMsgType.ENTITY_CREATED)).willReturn(alarmActionMsgMock); given(ctxMock.transformMsg(any(TbMsg.class), any(TbMsgType.class), any(EntityId.class), any(TbMsgMetaData.class), anyString())) - .willAnswer(answer -> TbMsg.transformMsg( - answer.getArgument(0, TbMsg.class), - answer.getArgument(1, TbMsgType.class), - answer.getArgument(2, EntityId.class), - answer.getArgument(3, TbMsgMetaData.class), - answer.getArgument(4, String.class)) + .willAnswer(answer -> answer.getArgument(0, TbMsg.class).transform() + .type(answer.getArgument(1, TbMsgType.class)) + .originator(answer.getArgument(2, EntityId.class)) + .metaData(answer.getArgument(3, TbMsgMetaData.class)) + .data(answer.getArgument(4, String.class)) + .build() ); given(ctxMock.createScriptEngine(ScriptLanguage.JS, config.getAlarmDetailsBuildJs())).willReturn(alarmDetailsScriptMock); @@ -598,12 +598,12 @@ class TbCreateAlarmNodeTest { given(alarmServiceMock.updateAlarm(expectedUpdateAlarmRequest)).willReturn(apiCallResult); given(ctxMock.alarmActionMsg(expectedUpdatedAlarmInfo, ruleNodeSelfId, TbMsgType.ENTITY_UPDATED)).willReturn(alarmActionMsgMock); given(ctxMock.transformMsg(any(TbMsg.class), any(TbMsgType.class), any(EntityId.class), any(TbMsgMetaData.class), anyString())) - .willAnswer(answer -> TbMsg.transformMsg( - answer.getArgument(0, TbMsg.class), - answer.getArgument(1, TbMsgType.class), - answer.getArgument(2, EntityId.class), - answer.getArgument(3, TbMsgMetaData.class), - answer.getArgument(4, String.class)) + .willAnswer(answer -> answer.getArgument(0, TbMsg.class).transform() + .type(answer.getArgument(1, TbMsgType.class)) + .originator(answer.getArgument(2, EntityId.class)) + .metaData(answer.getArgument(3, TbMsgMetaData.class)) + .data(answer.getArgument(4, String.class)) + .build() ); given(ctxMock.createScriptEngine(ScriptLanguage.TBEL, config.getAlarmDetailsBuildTbel())).willReturn(alarmDetailsScriptMock); @@ -775,12 +775,12 @@ class TbCreateAlarmNodeTest { given(alarmServiceMock.createAlarm(expectedCreateAlarmRequest)).willReturn(apiCallResult); given(ctxMock.alarmActionMsg(expectedCreatedAlarmInfo, ruleNodeSelfId, TbMsgType.ENTITY_CREATED)).willReturn(alarmActionMsgMock); given(ctxMock.transformMsg(any(TbMsg.class), any(TbMsgType.class), any(EntityId.class), any(TbMsgMetaData.class), anyString())) - .willAnswer(answer -> TbMsg.transformMsg( - answer.getArgument(0, TbMsg.class), - answer.getArgument(1, TbMsgType.class), - answer.getArgument(2, EntityId.class), - answer.getArgument(3, TbMsgMetaData.class), - answer.getArgument(4, String.class)) + .willAnswer(answer -> answer.getArgument(0, TbMsg.class).transform() + .type(answer.getArgument(1, TbMsgType.class)) + .originator(answer.getArgument(2, EntityId.class)) + .metaData(answer.getArgument(3, TbMsgMetaData.class)) + .data(answer.getArgument(4, String.class)) + .build() ); given(ctxMock.createScriptEngine(ScriptLanguage.TBEL, config.getAlarmDetailsBuildTbel())).willReturn(alarmDetailsScriptMock); @@ -967,12 +967,12 @@ class TbCreateAlarmNodeTest { given(alarmServiceMock.updateAlarm(expectedUpdateAlarmRequest)).willReturn(apiCallResult); given(ctxMock.alarmActionMsg(expectedUpdatedAlarmInfo, ruleNodeSelfId, TbMsgType.ENTITY_UPDATED)).willReturn(alarmActionMsgMock); given(ctxMock.transformMsg(any(TbMsg.class), any(TbMsgType.class), any(EntityId.class), any(TbMsgMetaData.class), anyString())) - .willAnswer(answer -> TbMsg.transformMsg( - answer.getArgument(0, TbMsg.class), - answer.getArgument(1, TbMsgType.class), - answer.getArgument(2, EntityId.class), - answer.getArgument(3, TbMsgMetaData.class), - answer.getArgument(4, String.class)) + .willAnswer(answer -> answer.getArgument(0, TbMsg.class).transform() + .type(answer.getArgument(1, TbMsgType.class)) + .originator(answer.getArgument(2, EntityId.class)) + .metaData(answer.getArgument(3, TbMsgMetaData.class)) + .data(answer.getArgument(4, String.class)) + .build() ); given(ctxMock.createScriptEngine(ScriptLanguage.TBEL, config.getAlarmDetailsBuildTbel())).willReturn(alarmDetailsScriptMock); @@ -1153,12 +1153,12 @@ class TbCreateAlarmNodeTest { given(alarmServiceMock.updateAlarm(expectedUpdateAlarmRequest)).willReturn(apiCallResult); given(ctxMock.alarmActionMsg(expectedUpdatedAlarmInfo, ruleNodeSelfId, TbMsgType.ENTITY_UPDATED)).willReturn(alarmActionMsgMock); given(ctxMock.transformMsg(any(TbMsg.class), any(TbMsgType.class), any(EntityId.class), any(TbMsgMetaData.class), anyString())) - .willAnswer(answer -> TbMsg.transformMsg( - answer.getArgument(0, TbMsg.class), - answer.getArgument(1, TbMsgType.class), - answer.getArgument(2, EntityId.class), - answer.getArgument(3, TbMsgMetaData.class), - answer.getArgument(4, String.class)) + .willAnswer(answer -> answer.getArgument(0, TbMsg.class).transform() + .type(answer.getArgument(1, TbMsgType.class)) + .originator(answer.getArgument(2, EntityId.class)) + .metaData(answer.getArgument(3, TbMsgMetaData.class)) + .data(answer.getArgument(4, String.class)) + .build() ); given(ctxMock.createScriptEngine(ScriptLanguage.TBEL, config.getAlarmDetailsBuildTbel())).willReturn(alarmDetailsScriptMock); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbCreateRelationNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbCreateRelationNodeTest.java index 6e707a4415..37d7ee7872 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbCreateRelationNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbCreateRelationNodeTest.java @@ -439,7 +439,9 @@ public class TbCreateRelationNodeTest extends AbstractRuleNodeUpgradeTest { var md = getMetadataWithNameTemplate(); var msg = getTbMsg(originatorId, md); - var msgAfterOriginatorChanged = TbMsg.transformMsgOriginator(msg, originatorId); + var msgAfterOriginatorChanged = msg.transform() + .originator(originatorId) + .build(); when(ctxMock.transformMsgOriginator(any(), any())).thenReturn(msgAfterOriginatorChanged); // WHEN diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/lambda/TbAwsLambdaNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/lambda/TbAwsLambdaNodeTest.java index e0e3d6d0d4..b05fc3520c 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/lambda/TbAwsLambdaNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/lambda/TbAwsLambdaNodeTest.java @@ -176,7 +176,10 @@ public class TbAwsLambdaNodeTest { assertThat(invokeRequestCaptor.getValue().getQualifier()).isEqualTo(expectedQualifier); TbMsgMetaData resultMsgMetadata = metadata.copy(); resultMsgMetadata.putValue("requestId", requestIdStr); - TbMsg resultedMsg = TbMsg.transformMsg(msg, resultMsgMetadata, funcResponsePayload); + TbMsg resultedMsg = msg.transform() + .metaData(resultMsgMetadata) + .data(funcResponsePayload) + .build(); assertThat(msgCaptor.getValue()).usingRecursiveComparison() .ignoringFields("ctx") .isEqualTo(resultedMsg); @@ -231,7 +234,9 @@ public class TbAwsLambdaNodeTest { verify(ctx).tellFailure(msgCaptor.capture(), throwableCaptor.capture()); var metadata = Map.of("error", RuntimeException.class + ": " + errorMsg, "requestId", requestIdStr); - TbMsg resultedMsg = TbMsg.transformMsgMetadata(msg, new TbMsgMetaData(metadata)); + TbMsg resultedMsg = msg.transform() + .metaData(new TbMsgMetaData(metadata)) + .build(); assertThat(msgCaptor.getValue()).usingRecursiveComparison() .ignoringFields("ctx") @@ -270,7 +275,10 @@ public class TbAwsLambdaNodeTest { verify(ctx).tellSuccess(msgCaptor.capture()); Map metadata = Map.of("requestId", requestIdStr); - TbMsg resultedMsg = TbMsg.transformMsg(msg, new TbMsgMetaData(metadata), payload); + TbMsg resultedMsg = msg.transform() + .metaData(new TbMsgMetaData(metadata)) + .data(payload) + .build(); assertThat(msgCaptor.getValue()).usingRecursiveComparison() .ignoringFields("ctx") @@ -309,7 +317,9 @@ public class TbAwsLambdaNodeTest { verify(ctx).tellFailure(msgCaptor.capture(), throwableCaptor.capture()); var metadata = Map.of("error", RuntimeException.class + ": " + errorMsg, "requestId", requestIdStr); - TbMsg resultedMsg = TbMsg.transformMsgMetadata(msg, new TbMsgMetaData(metadata)); + TbMsg resultedMsg = msg.transform() + .metaData(new TbMsgMetaData(metadata)) + .build(); assertThat(msgCaptor.getValue()).usingRecursiveComparison() .ignoringFields("ctx") diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/gcp/pubsub/TbPubSubNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/gcp/pubsub/TbPubSubNodeTest.java index d7ae0be329..dcf087af13 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/gcp/pubsub/TbPubSubNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/gcp/pubsub/TbPubSubNodeTest.java @@ -138,7 +138,9 @@ class TbPubSubNodeTest { ArgumentCaptor actualMsg = ArgumentCaptor.forClass(TbMsg.class); then(ctxMock).should().enqueueForTellNext(actualMsg.capture(), eq(TbNodeConnectionType.SUCCESS)); metaData.putValue("messageId", messageId); - TbMsg expectedMsg = TbMsg.transformMsgMetadata(msg, metaData); + TbMsg expectedMsg = msg.transform() + .metaData(metaData) + .build(); assertThat(actualMsg.getValue()) .usingRecursiveComparison() .ignoringFields("ctx") @@ -184,7 +186,9 @@ class TbPubSubNodeTest { ArgumentCaptor actualMsg = ArgumentCaptor.forClass(TbMsg.class); then(ctxMock).should().tellSuccess(actualMsg.capture()); metadata.putValue("messageId", messageId); - TbMsg expectedMsg = TbMsg.transformMsgMetadata(msg, metadata); + TbMsg expectedMsg = msg.transform() + .metaData(metadata) + .build(); assertThat(actualMsg.getValue()) .usingRecursiveComparison() .ignoringFields("ctx") @@ -216,7 +220,9 @@ class TbPubSubNodeTest { ArgumentCaptor actualError = ArgumentCaptor.forClass(Throwable.class); then(ctxMock).should().tellFailure(actualMsg.capture(), actualError.capture()); metaData.putValue("error", RuntimeException.class + ": " + errorMsg); - TbMsg expectedMsg = TbMsg.transformMsgMetadata(msg, metaData); + TbMsg expectedMsg = msg.transform() + .metaData(metaData) + .build(); assertThat(actualMsg.getValue()) .usingRecursiveComparison() .ignoringFields("ctx") @@ -249,7 +255,9 @@ class TbPubSubNodeTest { ArgumentCaptor actualError = ArgumentCaptor.forClass(Throwable.class); then(ctxMock).should().enqueueForTellFailure(actualMsg.capture(), actualError.capture()); metaData.putValue("error", RuntimeException.class + ": " + errorMsg); - TbMsg expectedMsg = TbMsg.transformMsgMetadata(msg, metaData); + TbMsg expectedMsg = msg.transform() + .metaData(metaData) + .build(); assertThat(actualMsg.getValue()) .usingRecursiveComparison() .ignoringFields("ctx") diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/kafka/TbKafkaNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/kafka/TbKafkaNodeTest.java index 71e896b4f4..4713f0cfd9 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/kafka/TbKafkaNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/kafka/TbKafkaNodeTest.java @@ -436,7 +436,9 @@ public class TbKafkaNodeTest { metaData.putValue("offset", String.valueOf(OFFSET)); metaData.putValue("partition", String.valueOf(PARTITION)); metaData.putValue("topic", expectedTopic); - TbMsg expectedMsg = TbMsg.transformMsgMetadata(originalMsg, metaData); + TbMsg expectedMsg = originalMsg.transform() + .metaData(metaData) + .build(); assertThat(actualMsg) .usingRecursiveComparison() .ignoringFields("ctx") @@ -446,7 +448,9 @@ public class TbKafkaNodeTest { private void verifyOutgoingFailureMsg(String errorMsg, TbMsg actualMsg, TbMsg originalMsg) { TbMsgMetaData metaData = originalMsg.getMetaData(); metaData.putValue("error", RuntimeException.class + ": " + errorMsg); - TbMsg expectedMsg = TbMsg.transformMsgMetadata(originalMsg, metaData); + TbMsg expectedMsg = originalMsg.transform() + .metaData(metaData) + .build(); assertThat(actualMsg).usingRecursiveComparison().ignoringFields("ctx").isEqualTo(expectedMsg); } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTelemetryNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTelemetryNodeTest.java index 63044b311b..69d1200746 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTelemetryNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTelemetryNodeTest.java @@ -465,7 +465,9 @@ public class TbGetTelemetryNodeTest extends AbstractRuleNodeUpgradeTest { TbMsgMetaData metaData = new TbMsgMetaData(); metaData.putValue("temperature", "[{\"ts\":" + (ts - 5) + ",\"value\":23.1},{\"ts\":" + (ts - 4) + ",\"value\":22.4}]"); metaData.putValue("humidity", "[{\"ts\":" + (ts - 4) + ",\"value\":55.5}]"); - TbMsg expectedMsg = TbMsg.transformMsgMetadata(msg, metaData); + TbMsg expectedMsg = msg.transform() + .metaData(metaData) + .build(); assertThat(actualMsg.getValue()).usingRecursiveComparison().ignoringFields("ctx").isEqualTo(expectedMsg); } @@ -501,7 +503,9 @@ public class TbGetTelemetryNodeTest extends AbstractRuleNodeUpgradeTest { TbMsgMetaData metaData = new TbMsgMetaData(); metaData.putValue("temperature", "\"22.4\""); metaData.putValue("humidity", "\"55.5\""); - TbMsg expectedMsg = TbMsg.transformMsgMetadata(msg, metaData); + TbMsg expectedMsg = msg.transform() + .metaData(metaData) + .build(); assertThat(actualMsg.getValue()).usingRecursiveComparison().ignoringFields("ctx").isEqualTo(expectedMsg); } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/mqtt/TbMqttNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/mqtt/TbMqttNodeTest.java index 6b074da45a..aa6700dd20 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/mqtt/TbMqttNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/mqtt/TbMqttNodeTest.java @@ -340,7 +340,9 @@ public class TbMqttNodeTest extends AbstractRuleNodeUpgradeTest { then(mqttClientMock).should().publish(mqttNodeConfig.getTopicPattern(), Unpooled.wrappedBuffer(expectedData.getBytes(StandardCharsets.UTF_8)), MqttQoS.AT_LEAST_ONCE, false); TbMsgMetaData metaData = new TbMsgMetaData(); metaData.putValue("error", RuntimeException.class + ": " + errorMsg); - TbMsg expectedMsg = TbMsg.transformMsgMetadata(msg, metaData); + TbMsg expectedMsg = msg.transform() + .metaData(metaData) + .build(); ArgumentCaptor actualMsgCaptor = ArgumentCaptor.forClass(TbMsg.class); then(ctxMock).should().tellFailure(actualMsgCaptor.capture(), eq(exception)); TbMsg actualMsg = actualMsgCaptor.getValue(); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rabbitmq/TbRabbitMqNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rabbitmq/TbRabbitMqNodeTest.java index 24d3a51cd8..914605a8d4 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rabbitmq/TbRabbitMqNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rabbitmq/TbRabbitMqNodeTest.java @@ -227,7 +227,9 @@ public class TbRabbitMqNodeTest { () -> then(ctxMock).should().tellFailure(actualMsg.capture(), throwable.capture()); verifyTellFailure.run(); metaData.putValue("error", RuntimeException.class + ": " + errorMsg); - TbMsg expectedMsg = TbMsg.transformMsgMetadata(msg, metaData); + TbMsg expectedMsg = msg.transform() + .metaData(metaData) + .build(); assertThat(actualMsg.getValue()).usingRecursiveComparison().ignoringFields("ctx").isEqualTo(expectedMsg); assertThat(throwable.getValue()).isInstanceOf(RuntimeException.class).hasMessage(errorMsg); } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbChangeOriginatorNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbChangeOriginatorNodeTest.java index 455394e13f..851179bc04 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbChangeOriginatorNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbChangeOriginatorNodeTest.java @@ -182,7 +182,9 @@ public class TbChangeOriginatorNodeTest { .metaData(TbMsgMetaData.EMPTY.copy()) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); - TbMsg expectedMsg = TbMsg.transformMsgOriginator(msg, CUSTOMER_ID); + TbMsg expectedMsg = msg.transform() + .originator(CUSTOMER_ID) + .build(); given(ctxMock.getDbCallbackExecutor()).willReturn(dbExecutor); given(ctxMock.getDeviceService()).willReturn(deviceServiceMock); @@ -210,7 +212,9 @@ public class TbChangeOriginatorNodeTest { .metaData(TbMsgMetaData.EMPTY.copy()) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); - TbMsg expectedMsg = TbMsg.transformMsgOriginator(msg, TENANT_ID); + TbMsg expectedMsg = msg.transform() + .originator(TENANT_ID) + .build(); given(ctxMock.getDbCallbackExecutor()).willReturn(dbExecutor); given(ctxMock.getTenantId()).willReturn(TENANT_ID); @@ -274,7 +278,9 @@ public class TbChangeOriginatorNodeTest { .metaData(TbMsgMetaData.EMPTY.copy()) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); - TbMsg expectedMsg = TbMsg.transformMsgOriginator(msg, DEVICE_ID); + TbMsg expectedMsg = msg.transform() + .originator(DEVICE_ID) + .build(); given(ctxMock.getDbCallbackExecutor()).willReturn(dbExecutor); given(ctxMock.getAlarmService()).willReturn(alarmServiceMock); @@ -305,7 +311,9 @@ public class TbChangeOriginatorNodeTest { .metaData(metaData.copy()) .data(data) .build(); - TbMsg expectedMsg = TbMsg.transformMsgOriginator(msg, ASSET_ID); + TbMsg expectedMsg = msg.transform() + .originator(ASSET_ID) + .build(); given(ctxMock.getDbCallbackExecutor()).willReturn(dbExecutor); given(ctxMock.getAssetService()).willReturn(assetServiceMock); From 1b6256a9e82b8741dda7fdecd93ea1468833f916 Mon Sep 17 00:00:00 2001 From: ViacheslavKlimov Date: Fri, 13 Dec 2024 15:18:37 +0200 Subject: [PATCH 5/7] Refactor TbMsg copying --- .../actors/ruleChain/DefaultTbContext.java | 5 +- .../RuleChainActorMessageProcessor.java | 19 ++++-- .../thingsboard/server/common/msg/TbMsg.java | 62 +++++++------------ 3 files changed, 42 insertions(+), 44 deletions(-) diff --git a/application/src/main/java/org/thingsboard/server/actors/ruleChain/DefaultTbContext.java b/application/src/main/java/org/thingsboard/server/actors/ruleChain/DefaultTbContext.java index 4e8dce76a7..eed7093cd0 100644 --- a/application/src/main/java/org/thingsboard/server/actors/ruleChain/DefaultTbContext.java +++ b/application/src/main/java/org/thingsboard/server/actors/ruleChain/DefaultTbContext.java @@ -173,7 +173,10 @@ public class DefaultTbContext implements TbContext { if (!msg.isValid()) { return; } - TbMsg tbMsg = msg.copyWithRuleChainId(ruleChainId); + TbMsg tbMsg = msg.copy() + .ruleChainId(ruleChainId) + .ruleNodeId(null) + .build(); tbMsg.pushToStack(nodeCtx.getSelf().getRuleChainId(), nodeCtx.getSelf().getId()); TopicPartitionInfo tpi = mainCtx.resolve(ServiceType.TB_RULE_ENGINE, getQueueName(), getTenantId(), tbMsg.getOriginator()); doEnqueue(tpi, tbMsg, new SimpleTbQueueCallback(md -> ack(msg), t -> tellFailure(msg, t))); diff --git a/application/src/main/java/org/thingsboard/server/actors/ruleChain/RuleChainActorMessageProcessor.java b/application/src/main/java/org/thingsboard/server/actors/ruleChain/RuleChainActorMessageProcessor.java index 460da228c3..a2a0ab8c80 100644 --- a/application/src/main/java/org/thingsboard/server/actors/ruleChain/RuleChainActorMessageProcessor.java +++ b/application/src/main/java/org/thingsboard/server/actors/ruleChain/RuleChainActorMessageProcessor.java @@ -16,6 +16,7 @@ package org.thingsboard.server.actors.ruleChain; import lombok.extern.slf4j.Slf4j; +import org.thingsboard.common.util.DebugModeUtil; import org.thingsboard.server.actors.ActorSystemContext; import org.thingsboard.server.actors.TbActorCtx; import org.thingsboard.server.actors.TbActorRef; @@ -35,7 +36,6 @@ import org.thingsboard.server.common.data.relation.EntityRelation; import org.thingsboard.server.common.data.rule.RuleChain; import org.thingsboard.server.common.data.rule.RuleChainType; import org.thingsboard.server.common.data.rule.RuleNode; -import org.thingsboard.common.util.DebugModeUtil; import org.thingsboard.server.common.msg.TbMsg; import org.thingsboard.server.common.msg.plugin.ComponentLifecycleMsg; import org.thingsboard.server.common.msg.plugin.RuleNodeUpdatedMsg; @@ -217,7 +217,10 @@ public class RuleChainActorMessageProcessor extends ComponentMsgProcessor Date: Thu, 19 Dec 2024 16:09:36 +0200 Subject: [PATCH 6/7] TbMsg: add resetRuleNodeId and copyMetaData --- .../actors/ruleChain/DefaultTbContext.java | 12 +- .../RuleChainActorMessageProcessor.java | 4 +- .../server/controller/RpcV2Controller.java | 2 +- .../controller/RuleChainController.java | 3 +- .../controller/RuleEngineController.java | 2 +- .../service/action/EntityActionService.java | 2 +- .../device/DeviceProvisionServiceImpl.java | 4 +- .../service/edge/rpc/EdgeGrpcService.java | 2 +- .../edge/rpc/processor/BaseEdgeProcessor.java | 2 +- .../processor/device/DeviceEdgeProcessor.java | 2 +- .../telemetry/BaseTelemetryProcessor.java | 9 +- .../entitiy/EntityStateSourcingListener.java | 2 +- .../rpc/DefaultTbCoreDeviceRpcService.java | 2 +- .../server/service/rpc/TbRpcService.java | 2 +- .../state/DefaultDeviceStateService.java | 2 +- .../transport/DefaultTransportApiService.java | 2 +- .../actors/rule/DefaultTbContextTest.java | 6 +- .../controller/RuleEngineControllerTest.java | 10 +- .../controller/TenantControllerTest.java | 2 +- ...AbstractRuleEngineFlowIntegrationTest.java | 4 +- ...actRuleEngineLifecycleIntegrationTest.java | 2 +- .../queue/DefaultTbClusterServiceTest.java | 8 +- .../TbRuleEngineQueueConsumerManagerTest.java | 2 +- .../DefaultTbRuleEngineRpcServiceTest.java | 2 +- .../DefaultRuleEngineCallServiceTest.java | 4 +- .../SequentialTimeseriesPersistenceTest.java | 2 +- .../thingsboard/server/common/msg/TbMsg.java | 11 +- .../service/DefaultTransportService.java | 3 +- .../rule/engine/api/util/TbNodeUtilsTest.java | 10 +- .../rule/engine/action/TbMsgCountNode.java | 2 +- .../deduplication/TbMsgDeduplicationNode.java | 4 +- .../rule/engine/delay/TbMsgDelayNode.java | 2 +- .../engine/profile/TbDeviceProfileNode.java | 6 +- .../action/TbAssignToCustomerNodeTest.java | 2 +- .../engine/action/TbClearAlarmNodeTest.java | 4 +- .../TbCopyAttributesToEntityViewNodeTest.java | 12 +- .../engine/action/TbCreateAlarmNodeTest.java | 14 +- .../action/TbCreateRelationNodeTest.java | 4 +- .../action/TbDeleteRelationNodeTest.java | 2 +- .../engine/action/TbDeviceStateNodeTest.java | 6 +- .../rule/engine/action/TbLogNodeTest.java | 6 +- .../engine/action/TbMsgCountNodeTest.java | 6 +- .../TbSaveToCustomCassandraTableNodeTest.java | 10 +- .../TbUnassignFromCustomerNodeTest.java | 2 +- .../aws/lambda/TbAwsLambdaNodeTest.java | 10 +- .../rule/engine/aws/sns/TbSnsNodeTest.java | 4 +- .../rule/engine/aws/sqs/TbSqsNodeTest.java | 8 +- .../engine/debug/TbMsgGeneratorNodeTest.java | 8 +- .../engine/edge/TbMsgPushToEdgeNodeTest.java | 12 +- .../filter/TbAssetTypeSwitchNodeTest.java | 2 +- .../filter/TbCheckAlarmStatusNodeTest.java | 2 +- .../engine/filter/TbCheckMessageNodeTest.java | 4 +- .../filter/TbCheckRelationNodeTest.java | 2 +- .../filter/TbDeviceTypeSwitchNodeTest.java | 2 +- .../engine/filter/TbJsFilterNodeTest.java | 6 +- .../engine/filter/TbJsSwitchNodeTest.java | 2 +- .../filter/TbMsgTypeFilterNodeTest.java | 2 +- .../filter/TbMsgTypeSwitchNodeTest.java | 2 +- .../TbOriginatorTypeFilterNodeTest.java | 2 +- .../TbOriginatorTypeSwitchNodeTest.java | 2 +- .../rule/engine/flow/TbAckNodeTest.java | 2 +- .../engine/flow/TbCheckpointNodeTest.java | 4 +- .../engine/flow/TbRuleChainInputNodeTest.java | 2 +- .../flow/TbRuleChainOutputNodeTest.java | 2 +- .../engine/gcp/pubsub/TbPubSubNodeTest.java | 8 +- .../geo/TbGpsGeofencingActionNodeTest.java | 2 +- .../geo/TbGpsGeofencingFilterNodeTest.java | 4 +- .../rule/engine/kafka/TbKafkaNodeTest.java | 12 +- .../engine/mail/TbMsgToEmailNodeTest.java | 2 +- .../rule/engine/math/TbMathNodeTest.java | 38 ++--- .../metadata/CalculateDeltaNodeTest.java | 32 ++-- .../TbFetchDeviceCredentialsNodeTest.java | 2 +- .../metadata/TbGetAttributesNodeTest.java | 4 +- .../TbGetCustomerAttributeNodeTest.java | 6 +- .../TbGetCustomerDetailsNodeTest.java | 4 +- .../metadata/TbGetDeviceAttrNodeTest.java | 2 +- .../TbGetOriginatorFieldsNodeTest.java | 12 +- .../TbGetRelatedAttributeNodeTest.java | 4 +- .../metadata/TbGetTelemetryNodeTest.java | 20 +-- .../TbGetTenantAttributeNodeTest.java | 4 +- .../metadata/TbGetTenantDetailsNodeTest.java | 4 +- .../rule/engine/mqtt/TbMqttNodeTest.java | 4 +- .../rule/engine/profile/DeviceStateTest.java | 15 +- .../profile/TbDeviceProfileNodeTest.java | 143 ++++++------------ .../engine/rabbitmq/TbRabbitMqNodeTest.java | 6 +- .../rule/engine/rest/TbHttpClientTest.java | 4 +- .../engine/rest/TbRestApiCallNodeTest.java | 4 +- .../rest/TbSendRestApiCallReplyNodeTest.java | 4 +- .../engine/rpc/TbSendRPCReplyNodeTest.java | 12 +- .../engine/rpc/TbSendRPCRequestNodeTest.java | 40 ++--- .../telemetry/TbMsgAttributesNodeTest.java | 2 +- .../TbMsgDeleteAttributesNodeTest.java | 2 +- .../telemetry/TbMsgTimeseriesNodeTest.java | 8 +- .../transform/TbChangeOriginatorNodeTest.java | 12 +- .../engine/transform/TbCopyKeysNodeTest.java | 2 +- .../transform/TbDeleteKeysNodeTest.java | 2 +- .../engine/transform/TbJsonPathNodeTest.java | 2 +- .../transform/TbMsgDeduplicationNodeTest.java | 4 +- .../transform/TbRenameKeysNodeTest.java | 2 +- .../transform/TbSplitArrayMsgNodeTest.java | 2 +- .../transform/TbTransformMsgNodeTest.java | 6 +- 101 files changed, 330 insertions(+), 388 deletions(-) diff --git a/application/src/main/java/org/thingsboard/server/actors/ruleChain/DefaultTbContext.java b/application/src/main/java/org/thingsboard/server/actors/ruleChain/DefaultTbContext.java index eed7093cd0..c3c524b2bb 100644 --- a/application/src/main/java/org/thingsboard/server/actors/ruleChain/DefaultTbContext.java +++ b/application/src/main/java/org/thingsboard/server/actors/ruleChain/DefaultTbContext.java @@ -175,7 +175,7 @@ public class DefaultTbContext implements TbContext { } TbMsg tbMsg = msg.copy() .ruleChainId(ruleChainId) - .ruleNodeId(null) + .resetRuleNodeId() .build(); tbMsg.pushToStack(nodeCtx.getSelf().getRuleChainId(), nodeCtx.getSelf().getId()); TopicPartitionInfo tpi = mainCtx.resolve(ServiceType.TB_RULE_ENGINE, getQueueName(), getTenantId(), tbMsg.getOriginator()); @@ -371,7 +371,7 @@ public class DefaultTbContext implements TbContext { .type(type) .originator(originator) .customerId(customerId) - .metaData(metaData.copy()) + .copyMetaData(metaData) .data(data) .ruleChainId(nodeCtx.getSelf().getRuleChainId()) .ruleNodeId(nodeCtx.getSelf().getId()) @@ -400,7 +400,7 @@ public class DefaultTbContext implements TbContext { .type(type) .originator(originator) .customerId(customerId) - .metaData(metaData.copy()) + .copyMetaData(metaData) .data(data) .ruleChainId(nodeCtx.getSelf().getRuleChainId()) .ruleNodeId(nodeCtx.getSelf().getId()) @@ -532,10 +532,9 @@ public class DefaultTbContext implements TbContext { .queueName(defaultQueueName) .type(action) .originator(id) - .metaData(msgMetaData.copy()) + .copyMetaData(msgMetaData) .data(msgData) .ruleChainId(defaultRuleChainId) - .ruleNodeId(null) .build(); } @@ -558,10 +557,9 @@ public class DefaultTbContext implements TbContext { .queueName(defaultQueueName) .type(actionMsgType) .originator(id) - .metaData(msgMetaData.copy()) + .copyMetaData(msgMetaData) .data(msgData) .ruleChainId(defaultRuleChainId) - .ruleNodeId(null) .build(); } diff --git a/application/src/main/java/org/thingsboard/server/actors/ruleChain/RuleChainActorMessageProcessor.java b/application/src/main/java/org/thingsboard/server/actors/ruleChain/RuleChainActorMessageProcessor.java index a2a0ab8c80..be0812795d 100644 --- a/application/src/main/java/org/thingsboard/server/actors/ruleChain/RuleChainActorMessageProcessor.java +++ b/application/src/main/java/org/thingsboard/server/actors/ruleChain/RuleChainActorMessageProcessor.java @@ -219,7 +219,7 @@ public class RuleChainActorMessageProcessor extends ComponentMsgProcessor node.onMsg(ctxMock, msg)) @@ -214,7 +214,7 @@ public class TbSaveToCustomCassandraTableNodeTest extends AbstractRuleNodeUpgrad TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(data) .build(); assertThatThrownBy(() -> node.onMsg(ctxMock, msg)) @@ -240,7 +240,7 @@ public class TbSaveToCustomCassandraTableNodeTest extends AbstractRuleNodeUpgrad TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(data) .build(); assertThatThrownBy(() -> node.onMsg(ctxMock, msg)) @@ -267,7 +267,7 @@ public class TbSaveToCustomCassandraTableNodeTest extends AbstractRuleNodeUpgrad TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); node.onMsg(ctxMock, msg); @@ -322,7 +322,7 @@ public class TbSaveToCustomCassandraTableNodeTest extends AbstractRuleNodeUpgrad TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(data) .build(); node.onMsg(ctxMock, msg); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbUnassignFromCustomerNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbUnassignFromCustomerNodeTest.java index 971a858758..d7858e5ceb 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbUnassignFromCustomerNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/action/TbUnassignFromCustomerNodeTest.java @@ -297,7 +297,7 @@ class TbUnassignFromCustomerNodeTest extends AbstractRuleNodeUpgradeTest { return TbMsg.newMsg() .type(TbMsgType.NA) .originator(originator) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/lambda/TbAwsLambdaNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/lambda/TbAwsLambdaNodeTest.java index b05fc3520c..0afa3804b9 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/lambda/TbAwsLambdaNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/lambda/TbAwsLambdaNodeTest.java @@ -148,7 +148,7 @@ public class TbAwsLambdaNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(metadata.copy()) + .copyMetaData(metadata) .data(data) .build(); @@ -208,7 +208,7 @@ public class TbAwsLambdaNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_ARRAY) .build(); InvokeRequest request = createInvokeRequest(msg); @@ -251,7 +251,7 @@ public class TbAwsLambdaNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); InvokeRequest request = createInvokeRequest(msg); @@ -292,7 +292,7 @@ public class TbAwsLambdaNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); InvokeRequest request = createInvokeRequest(msg); @@ -333,7 +333,7 @@ public class TbAwsLambdaNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); InvokeRequest request = createInvokeRequest(msg); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/sns/TbSnsNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/sns/TbSnsNodeTest.java index 8fc649d10c..e085857f3d 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/sns/TbSnsNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/sns/TbSnsNodeTest.java @@ -108,7 +108,7 @@ class TbSnsNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(metaData.copy()) + .copyMetaData(metaData) .data(data) .build(); node.onMsg(ctxMock, msg); @@ -151,7 +151,7 @@ class TbSnsNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); node.onMsg(ctxMock, msg); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/sqs/TbSqsNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/sqs/TbSqsNodeTest.java index 60785d409e..3da7f3d190 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/sqs/TbSqsNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/aws/sqs/TbSqsNodeTest.java @@ -110,7 +110,7 @@ class TbSqsNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(metaData.copy()) + .copyMetaData(metaData) .data(data) .build(); node.onMsg(ctxMock, msg); @@ -151,7 +151,7 @@ class TbSqsNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(metaData.copy()) + .copyMetaData(metaData) .data(data) .build(); node.onMsg(ctxMock, msg); @@ -199,7 +199,7 @@ class TbSqsNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); node.onMsg(ctxMock, msg); @@ -239,7 +239,7 @@ class TbSqsNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); node.onMsg(ctxMock, msg); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/debug/TbMsgGeneratorNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/debug/TbMsgGeneratorNodeTest.java index 5d40328ae4..cd5498c5d8 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/debug/TbMsgGeneratorNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/debug/TbMsgGeneratorNodeTest.java @@ -193,7 +193,7 @@ public class TbMsgGeneratorNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg tickMsg = TbMsg.newMsg() .type(TbMsgType.GENERATOR_NODE_SELF_MSG) .originator(RULE_NODE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_STRING) .build(); given(ctxMock.newMsg(null, TbMsgType.GENERATOR_NODE_SELF_MSG, RULE_NODE_ID, null, TbMsgMetaData.EMPTY, TbMsg.EMPTY_STRING)).willReturn(tickMsg); @@ -211,7 +211,7 @@ public class TbMsgGeneratorNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg firstMsg = TbMsg.newMsg() .type(TbMsg.EMPTY_STRING) .originator(RULE_NODE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); given(ctxMock.newMsg(null, TbMsg.EMPTY_STRING, RULE_NODE_ID, null, TbMsgMetaData.EMPTY, TbMsg.EMPTY_JSON_OBJECT)).willReturn(firstMsg); @@ -221,7 +221,7 @@ public class TbMsgGeneratorNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg generatedMsg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(RULE_NODE_ID) - .metaData(metaData.copy()) + .copyMetaData(metaData) .data("{ \"temp\": 42, \"humidity\": 77 }") .build(); given(scriptEngineMock.executeGenerateAsync(any())).willReturn(Futures.immediateFuture(generatedMsg)); @@ -230,7 +230,7 @@ public class TbMsgGeneratorNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg prevMsg = TbMsg.newMsg() .type(generatedMsg.getType()) .originator(RULE_NODE_ID) - .metaData(generatedMsg.getMetaData().copy()) + .copyMetaData(generatedMsg.getMetaData()) .data(generatedMsg.getData()) .build(); given(ctxMock.newMsg(null, generatedMsg.getType(), RULE_NODE_ID, null, generatedMsg.getMetaData(), generatedMsg.getData())).willReturn(prevMsg); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/edge/TbMsgPushToEdgeNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/edge/TbMsgPushToEdgeNodeTest.java index e84850498d..602983398f 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/edge/TbMsgPushToEdgeNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/edge/TbMsgPushToEdgeNodeTest.java @@ -88,11 +88,9 @@ public class TbMsgPushToEdgeNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .dataType(TbMsgDataType.JSON) .data(TbMsg.EMPTY_JSON_OBJECT) - .ruleChainId(null) - .ruleNodeId(null) .build(); node.onMsg(ctx, msg); @@ -116,11 +114,9 @@ public class TbMsgPushToEdgeNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.ATTRIBUTES_UPDATED) .originator(userId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .dataType(TbMsgDataType.JSON) .data(TbMsg.EMPTY_JSON_OBJECT) - .ruleChainId(null) - .ruleNodeId(null) .build(); node.onMsg(ctx, msg); @@ -154,11 +150,9 @@ public class TbMsgPushToEdgeNodeTest { TbMsg msg = TbMsg.newMsg() .type(event) .originator(new EdgeId(UUID.randomUUID())) - .metaData(metaData.copy()) + .copyMetaData(metaData) .dataType(TbMsgDataType.JSON) .data("{\"lastConnectTs\":1}") - .ruleChainId(null) - .ruleNodeId(null) .build(); node.onMsg(ctx, msg); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbAssetTypeSwitchNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbAssetTypeSwitchNodeTest.java index eb99770537..15519e18ee 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbAssetTypeSwitchNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbAssetTypeSwitchNodeTest.java @@ -121,7 +121,7 @@ class TbAssetTypeSwitchNodeTest { return TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(entityId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .callback(callback) .build(); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckAlarmStatusNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckAlarmStatusNodeTest.java index 012303278f..0068289080 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckAlarmStatusNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckAlarmStatusNodeTest.java @@ -177,7 +177,7 @@ class TbCheckAlarmStatusNodeTest { return TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(msgData) .build(); } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckMessageNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckMessageNodeTest.java index 377c0b69e7..9ecac1a271 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckMessageNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckMessageNodeTest.java @@ -47,7 +47,7 @@ class TbCheckMessageNodeTest { private static final TbMsg EMPTY_POST_ATTRIBUTES_MSG = TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); @@ -204,7 +204,7 @@ class TbCheckMessageNodeTest { return TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(DEVICE_ID) - .metaData(metadata.copy()) + .copyMetaData(metadata) .data(data) .build(); } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckRelationNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckRelationNodeTest.java index 9ddf70b9dc..72a78b73a0 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckRelationNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbCheckRelationNodeTest.java @@ -69,7 +69,7 @@ class TbCheckRelationNodeTest extends AbstractRuleNodeUpgradeTest { private final TbMsg EMPTY_POST_ATTRIBUTES_MSG = TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(ORIGINATOR_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbDeviceTypeSwitchNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbDeviceTypeSwitchNodeTest.java index 64559c5125..31bddccb21 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbDeviceTypeSwitchNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbDeviceTypeSwitchNodeTest.java @@ -121,7 +121,7 @@ class TbDeviceTypeSwitchNodeTest { return TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(entityId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .callback(callback) .build(); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbJsFilterNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbJsFilterNodeTest.java index e6d04d6af7..79bd3fa710 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbJsFilterNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbJsFilterNodeTest.java @@ -62,7 +62,7 @@ public class TbJsFilterNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(null) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .dataType(TbMsgDataType.JSON) .data(TbMsg.EMPTY_JSON_OBJECT) .ruleChainId(ruleChainId) @@ -82,7 +82,7 @@ public class TbJsFilterNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(null) - .metaData(metaData.copy()) + .copyMetaData(metaData) .dataType(TbMsgDataType.JSON) .data(TbMsg.EMPTY_JSON_OBJECT) .ruleChainId(ruleChainId) @@ -102,7 +102,7 @@ public class TbJsFilterNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(null) - .metaData(metaData.copy()) + .copyMetaData(metaData) .dataType(TbMsgDataType.JSON) .data(TbMsg.EMPTY_JSON_OBJECT) .ruleChainId(ruleChainId) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbJsSwitchNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbJsSwitchNodeTest.java index 981ce15a5f..74cd7e4f4f 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbJsSwitchNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbJsSwitchNodeTest.java @@ -62,7 +62,7 @@ public class TbJsSwitchNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(null) - .metaData(metaData.copy()) + .copyMetaData(metaData) .dataType(TbMsgDataType.JSON) .data(rawJson) .ruleChainId(ruleChainId) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbMsgTypeFilterNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbMsgTypeFilterNodeTest.java index 4a6b6830f5..2d9cf75e22 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbMsgTypeFilterNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbMsgTypeFilterNodeTest.java @@ -100,7 +100,7 @@ class TbMsgTypeFilterNodeTest { return TbMsg.newMsg() .type(msgType) .originator(entityId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbMsgTypeSwitchNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbMsgTypeSwitchNodeTest.java index 21f6d94829..1d8bb285af 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbMsgTypeSwitchNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbMsgTypeSwitchNodeTest.java @@ -92,7 +92,7 @@ class TbMsgTypeSwitchNodeTest { return TbMsg.newMsg() .type(msgType) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbOriginatorTypeFilterNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbOriginatorTypeFilterNodeTest.java index 3246535e15..378e5d53bf 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbOriginatorTypeFilterNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbOriginatorTypeFilterNodeTest.java @@ -99,7 +99,7 @@ class TbOriginatorTypeFilterNodeTest { return TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(entityId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbOriginatorTypeSwitchNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbOriginatorTypeSwitchNodeTest.java index acde991b6e..4782c1bdee 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbOriginatorTypeSwitchNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/filter/TbOriginatorTypeSwitchNodeTest.java @@ -93,7 +93,7 @@ class TbOriginatorTypeSwitchNodeTest { return TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(entityId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbAckNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbAckNodeTest.java index dc166a775b..f712a607d0 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbAckNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbAckNodeTest.java @@ -70,7 +70,7 @@ public class TbAckNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); node.onMsg(ctxMock, msg); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbCheckpointNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbCheckpointNodeTest.java index d8f5d3aa24..8c3c72fb2d 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbCheckpointNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbCheckpointNodeTest.java @@ -90,7 +90,7 @@ public class TbCheckpointNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); node.onMsg(ctxMock, msg); @@ -109,7 +109,7 @@ public class TbCheckpointNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); node.onMsg(ctxMock, msg); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbRuleChainInputNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbRuleChainInputNodeTest.java index f294f7b7da..4457b3c671 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbRuleChainInputNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbRuleChainInputNodeTest.java @@ -303,7 +303,7 @@ public class TbRuleChainInputNodeTest extends AbstractRuleNodeUpgradeTest { return TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(entityId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_STRING) .build(); } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbRuleChainOutputNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbRuleChainOutputNodeTest.java index aa6e9aeb6f..49d24f579f 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbRuleChainOutputNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/flow/TbRuleChainOutputNodeTest.java @@ -77,7 +77,7 @@ public class TbRuleChainOutputNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); node.onMsg(ctxMock, msg); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/gcp/pubsub/TbPubSubNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/gcp/pubsub/TbPubSubNodeTest.java index dcf087af13..49fc03f784 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/gcp/pubsub/TbPubSubNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/gcp/pubsub/TbPubSubNodeTest.java @@ -121,7 +121,7 @@ class TbPubSubNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(metaData.copy()) + .copyMetaData(metaData) .data(data) .build(); node.onMsg(ctxMock, msg); @@ -174,7 +174,7 @@ class TbPubSubNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(metadata.copy()) + .copyMetaData(metadata) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); node.onMsg(ctxMock, msg); @@ -210,7 +210,7 @@ class TbPubSubNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(metaData.copy()) + .copyMetaData(metaData) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); node.onMsg(ctxMock, msg); @@ -245,7 +245,7 @@ class TbPubSubNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(metaData.copy()) + .copyMetaData(metaData) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); node.onMsg(ctxMock, msg); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/geo/TbGpsGeofencingActionNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/geo/TbGpsGeofencingActionNodeTest.java index 997c9dd7fd..872225243b 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/geo/TbGpsGeofencingActionNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/geo/TbGpsGeofencingActionNodeTest.java @@ -167,7 +167,7 @@ class TbGpsGeofencingActionNodeTest extends AbstractRuleNodeUpgradeTest { return TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(entityId) - .metaData(metadata.copy()) + .copyMetaData(metadata) .data(data) .build(); } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/geo/TbGpsGeofencingFilterNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/geo/TbGpsGeofencingFilterNodeTest.java index 1e3878e015..9a7a79b9ad 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/geo/TbGpsGeofencingFilterNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/geo/TbGpsGeofencingFilterNodeTest.java @@ -451,7 +451,7 @@ class TbGpsGeofencingFilterNodeTest { return TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(entityId) - .metaData(metadata.copy()) + .copyMetaData(metadata) .data(data) .build(); } @@ -460,7 +460,7 @@ class TbGpsGeofencingFilterNodeTest { return TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(entityId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_ARRAY) .build(); } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/kafka/TbKafkaNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/kafka/TbKafkaNodeTest.java index 4713f0cfd9..1d7635476e 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/kafka/TbKafkaNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/kafka/TbKafkaNodeTest.java @@ -191,7 +191,7 @@ public class TbKafkaNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); node.onMsg(ctxMock, msg); @@ -220,7 +220,7 @@ public class TbKafkaNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); node.onMsg(ctxMock, msg); @@ -245,7 +245,7 @@ public class TbKafkaNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(metaData.copy()) + .copyMetaData(metaData) .data(data) .build(); String topic = TbNodeUtils.processPattern(topicPattern, msg); @@ -296,7 +296,7 @@ public class TbKafkaNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); node.onMsg(ctxMock, msg); @@ -326,7 +326,7 @@ public class TbKafkaNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); node.onMsg(ctxMock, msg); @@ -359,7 +359,7 @@ public class TbKafkaNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(metaData.copy()) + .copyMetaData(metaData) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); node.onMsg(ctxMock, msg); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/mail/TbMsgToEmailNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/mail/TbMsgToEmailNodeTest.java index eaa0d00a25..86d90ec9c0 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/mail/TbMsgToEmailNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/mail/TbMsgToEmailNodeTest.java @@ -106,7 +106,7 @@ public class TbMsgToEmailNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) - .metaData(md.copy()) + .copyMetaData(md) .data(msgDataStr) .build(); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/math/TbMathNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/math/TbMathNodeTest.java index 1a8e8179a9..ae313822d7 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/math/TbMathNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/math/TbMathNodeTest.java @@ -176,7 +176,7 @@ public class TbMathNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) - .metaData(metaData.copy()) + .copyMetaData(metaData) .data(msgNode.toString()) .build(); @@ -189,7 +189,7 @@ public class TbMathNodeTest { msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) - .metaData(metaData.copy()) + .copyMetaData(metaData) .data(msgNode.toString()) .build(); @@ -241,7 +241,7 @@ public class TbMathNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(JacksonUtil.newObjectNode().put("a", arg1).put("b", arg2).toString()) .build(); @@ -309,7 +309,7 @@ public class TbMathNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(JacksonUtil.newObjectNode().put("a", arg1).toString()) .build(); @@ -337,7 +337,7 @@ public class TbMathNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(JacksonUtil.newObjectNode().put("a", 2).put("b", 2).toString()) .build(); @@ -365,7 +365,7 @@ public class TbMathNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(JacksonUtil.newObjectNode().put("a", 2).put("b", 2).toString()) .build(); @@ -394,7 +394,7 @@ public class TbMathNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(JacksonUtil.newObjectNode().toString()) .build(); @@ -427,7 +427,7 @@ public class TbMathNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(JacksonUtil.newObjectNode().put("a", 5).toString()) .build(); @@ -454,7 +454,7 @@ public class TbMathNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(JacksonUtil.newObjectNode().put("a", 5).toString()) .build(); @@ -481,7 +481,7 @@ public class TbMathNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(JacksonUtil.newObjectNode().put("a", 5).toString()) .build(); @@ -512,7 +512,7 @@ public class TbMathNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(JacksonUtil.newObjectNode().put("a", 5).toString()) .build(); when(telemetryService.saveAndNotify(any(), any(), any(TsKvEntry.class))) @@ -542,7 +542,7 @@ public class TbMathNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(JacksonUtil.newObjectNode().put("a", 5).toString()) .build(); when(telemetryService.saveAndNotify(any(), any(), any(TsKvEntry.class))) @@ -578,7 +578,7 @@ public class TbMathNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(JacksonUtil.newObjectNode().put("a", 10).toString()) .build(); @@ -603,7 +603,7 @@ public class TbMathNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(JacksonUtil.newObjectNode().put("a", 10).toString()) .build(); node.onMsg(ctx, msg); @@ -623,7 +623,7 @@ public class TbMathNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_ARRAY) .build(); node.onMsg(ctx, msg); @@ -648,7 +648,7 @@ public class TbMathNodeTest { .mapToObj(x -> TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originatorSlow) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(JacksonUtil.newObjectNode().put("a", 2).put("b", 2).toString()) .build()) .toList(); @@ -656,7 +656,7 @@ public class TbMathNodeTest { .mapToObj(x -> TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originatorFast) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(JacksonUtil.newObjectNode().put("a", 2).put("b", 2).toString()) .build()) .toList(); @@ -728,7 +728,7 @@ public class TbMathNodeTest { .mapToObj(x -> TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originatorSlow) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(JacksonUtil.newObjectNode().put("a", 2).put("b", 2).toString()) .build()) .collect(Collectors.toList()); @@ -806,7 +806,7 @@ public class TbMathNodeTest { .onMsg(ctxNode.getLeft(), TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data("{\"a\":2,\"b\":2}") .build()))); ctxNodes.forEach(ctxNode -> verify(ctxNode.getRight(), timeout(TIMEOUT)).onMsg(eq(ctxNode.getLeft()), any())); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/CalculateDeltaNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/CalculateDeltaNodeTest.java index bfb2b46037..823b02fe59 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/CalculateDeltaNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/CalculateDeltaNodeTest.java @@ -172,7 +172,7 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { var msg = TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(msgData) .build(); @@ -192,7 +192,7 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { var msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_ARRAY) .build(); @@ -213,7 +213,7 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { var msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); @@ -242,7 +242,7 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { var msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(msgData) .build(); @@ -277,7 +277,7 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { var msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(msgData) .build(); @@ -312,7 +312,7 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { var msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(msgData) .build(); @@ -351,7 +351,7 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { var firstMsg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) - .metaData(firstMsgMetaData.copy()) + .copyMetaData(firstMsgMetaData) .data(msgData) .build(); @@ -382,7 +382,7 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { var secondMsg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) - .metaData(secondMsgMetaData.copy()) + .copyMetaData(secondMsgMetaData) .data(msgData) .build(); @@ -418,7 +418,7 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { var msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(msgData) .build(); @@ -451,7 +451,7 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { var msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(msgData) .build(); @@ -488,7 +488,7 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { var msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(msgData) .build(); @@ -517,7 +517,7 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { var msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(msgData) .build(); @@ -547,7 +547,7 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { var msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(msgData) .build(); @@ -577,7 +577,7 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { var msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(msgData) .build(); @@ -625,7 +625,7 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { return TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(msgData) .build(); }).toList(); @@ -675,7 +675,7 @@ public class CalculateDeltaNodeTest extends AbstractRuleNodeUpgradeTest { var msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(msgData) .build(); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbFetchDeviceCredentialsNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbFetchDeviceCredentialsNodeTest.java index c11dcfd749..ecb9ab80ee 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbFetchDeviceCredentialsNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbFetchDeviceCredentialsNodeTest.java @@ -176,7 +176,7 @@ public class TbFetchDeviceCredentialsNodeTest { return TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(entityId) - .metaData(metaData.copy()) + .copyMetaData(metaData) .data(data) .callback(callbackMock) .build(); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetAttributesNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetAttributesNodeTest.java index 1f5770bf52..22144ff32e 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetAttributesNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetAttributesNodeTest.java @@ -249,7 +249,7 @@ public class TbGetAttributesNodeTest extends AbstractRuleNodeUpgradeTest { var msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(ORIGINATOR_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_ARRAY) .build(); @@ -350,7 +350,7 @@ public class TbGetAttributesNodeTest extends AbstractRuleNodeUpgradeTest { return TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(entityId) - .metaData(msgMetaData.copy()) + .copyMetaData(msgMetaData) .data(JacksonUtil.toString(msgData)) .build(); } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetCustomerAttributeNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetCustomerAttributeNodeTest.java index c5ce45a996..e8e0b42a76 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetCustomerAttributeNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetCustomerAttributeNodeTest.java @@ -213,7 +213,7 @@ public class TbGetCustomerAttributeNodeTest { msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_ARRAY) .build(); @@ -233,7 +233,7 @@ public class TbGetCustomerAttributeNodeTest { msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(userId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); @@ -482,7 +482,7 @@ public class TbGetCustomerAttributeNodeTest { msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) - .metaData(msgMetaData.copy()) + .copyMetaData(msgMetaData) .data(msgData) .build(); } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetCustomerDetailsNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetCustomerDetailsNodeTest.java index 31cb6a7083..47c78bc106 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetCustomerDetailsNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetCustomerDetailsNodeTest.java @@ -162,7 +162,7 @@ public class TbGetCustomerDetailsNodeTest { msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_ARRAY) .build(); @@ -466,7 +466,7 @@ public class TbGetCustomerDetailsNodeTest { msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) - .metaData(msgMetaData.copy()) + .copyMetaData(msgMetaData) .data(msgData) .build(); } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetDeviceAttrNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetDeviceAttrNodeTest.java index fb21fe3737..212fa7993c 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetDeviceAttrNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetDeviceAttrNodeTest.java @@ -118,7 +118,7 @@ public class TbGetDeviceAttrNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); node.onMsg(ctxMock, msg); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetOriginatorFieldsNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetOriginatorFieldsNodeTest.java index 75a0bf4868..54da7e6e78 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetOriginatorFieldsNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetOriginatorFieldsNodeTest.java @@ -138,7 +138,7 @@ public class TbGetOriginatorFieldsNodeTest { msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_ARRAY) .build(); @@ -172,7 +172,7 @@ public class TbGetOriginatorFieldsNodeTest { msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) - .metaData(msgMetaData.copy()) + .copyMetaData(msgMetaData) .data(msgData) .build(); @@ -219,7 +219,7 @@ public class TbGetOriginatorFieldsNodeTest { msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) - .metaData(msgMetaData.copy()) + .copyMetaData(msgMetaData) .data(msgData) .build(); @@ -267,7 +267,7 @@ public class TbGetOriginatorFieldsNodeTest { msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) - .metaData(msgMetaData.copy()) + .copyMetaData(msgMetaData) .data(msgData) .build(); @@ -320,7 +320,7 @@ public class TbGetOriginatorFieldsNodeTest { msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) - .metaData(msgMetaData.copy()) + .copyMetaData(msgMetaData) .data(msgData) .build(); @@ -383,7 +383,7 @@ public class TbGetOriginatorFieldsNodeTest { msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(new DashboardId(UUID.randomUUID())) - .metaData(msgMetaData.copy()) + .copyMetaData(msgMetaData) .data(msgData) .build(); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetRelatedAttributeNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetRelatedAttributeNodeTest.java index 83a9d4afbf..9ca0d64307 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetRelatedAttributeNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetRelatedAttributeNodeTest.java @@ -226,7 +226,7 @@ public class TbGetRelatedAttributeNodeTest { msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_ARRAY) .build(); @@ -600,7 +600,7 @@ public class TbGetRelatedAttributeNodeTest { msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) - .metaData(msgMetaData.copy()) + .copyMetaData(msgMetaData) .data(msgData) .build(); } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTelemetryNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTelemetryNodeTest.java index 69d1200746..f2f4f572dc 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTelemetryNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTelemetryNodeTest.java @@ -185,7 +185,7 @@ public class TbGetTelemetryNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); assertThatThrownBy(() -> node.onMsg(ctxMock, msg)) @@ -213,7 +213,7 @@ public class TbGetTelemetryNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(metaData.copy()) + .copyMetaData(metaData) .data("{\"msgEndInterval\":\"" + endTs + "\"}") .build(); node.onMsg(ctxMock, msg); @@ -240,7 +240,7 @@ public class TbGetTelemetryNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); node.onMsg(ctxMock, msg); @@ -269,7 +269,7 @@ public class TbGetTelemetryNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(metaData.copy()) + .copyMetaData(metaData) .data("{\"msgTsKey\":\"pressure\"}") .build(); node.onMsg(ctxMock, msg); @@ -299,7 +299,7 @@ public class TbGetTelemetryNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); node.onMsg(ctxMock, msg); @@ -334,7 +334,7 @@ public class TbGetTelemetryNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); node.onMsg(ctxMock, msg); @@ -379,7 +379,7 @@ public class TbGetTelemetryNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); node.onMsg(ctxMock, msg); @@ -420,7 +420,7 @@ public class TbGetTelemetryNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data("{\"msgStartInterval\":\"start\"}") .build(); assertThatThrownBy(() -> node.onMsg(ctxMock, msg)).isInstanceOf(IllegalArgumentException.class).hasMessage(errorMsg); @@ -454,7 +454,7 @@ public class TbGetTelemetryNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); node.onMsg(ctxMock, msg); @@ -492,7 +492,7 @@ public class TbGetTelemetryNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); node.onMsg(ctxMock, msg); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTenantAttributeNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTenantAttributeNodeTest.java index 5ad0163a7c..7dd69e051e 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTenantAttributeNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTenantAttributeNodeTest.java @@ -193,7 +193,7 @@ public class TbGetTenantAttributeNodeTest { msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_ARRAY) .build(); @@ -406,7 +406,7 @@ public class TbGetTenantAttributeNodeTest { msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) - .metaData(msgMetaData.copy()) + .copyMetaData(msgMetaData) .data(msgData) .build(); } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTenantDetailsNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTenantDetailsNodeTest.java index 7cf9ddcdc8..4dc37c824e 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTenantDetailsNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/TbGetTenantDetailsNodeTest.java @@ -132,7 +132,7 @@ public class TbGetTenantDetailsNodeTest { msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_ARRAY) .build(); @@ -297,7 +297,7 @@ public class TbGetTenantDetailsNodeTest { msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DUMMY_DEVICE_ORIGINATOR) - .metaData(msgMetaData.copy()) + .copyMetaData(msgMetaData) .data(msgData) .build(); } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/mqtt/TbMqttNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/mqtt/TbMqttNodeTest.java index aa6700dd20..0cd8308ded 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/mqtt/TbMqttNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/mqtt/TbMqttNodeTest.java @@ -286,7 +286,7 @@ public class TbMqttNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(metaData.copy()) + .copyMetaData(metaData) .data(data) .build(); mqttNode.onMsg(ctxMock, msg); @@ -330,7 +330,7 @@ public class TbMqttNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data("\"string\"") .build(); mqttNode.onMsg(ctxMock, msg); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/profile/DeviceStateTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/profile/DeviceStateTest.java index 897a332c95..99cec83cfc 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/profile/DeviceStateTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/profile/DeviceStateTest.java @@ -97,8 +97,7 @@ public class DeviceStateTest { String data = invocationOnMock.getArgument(invocationOnMock.getArguments().length - 1); return TbMsg.newMsg() .type(type) - .originator(null) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(data) .build(); }); @@ -115,7 +114,7 @@ public class DeviceStateTest { TbMsg attributeUpdateMsg = TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data("{ \"enabled\": false }") .build(); @@ -128,7 +127,7 @@ public class DeviceStateTest { deviceState.process(ctx, TbMsg.newMsg() .type(TbMsgType.ALARM_CLEAR) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(JacksonUtil.toString(alarm)) .build()); reset(ctx); @@ -137,7 +136,7 @@ public class DeviceStateTest { deviceState.process(ctx, TbMsg.newMsg() .type(TbMsgType.ATTRIBUTES_DELETED) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(deletedAttributes) .build()); verify(ctx, never()).enqueueForTellNext(any(), anyString()); @@ -152,7 +151,7 @@ public class DeviceStateTest { TbMsg attributeUpdateMsg = TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data("{ \"enabled\": false }") .build(); @@ -164,14 +163,14 @@ public class DeviceStateTest { deviceState.process(ctx, TbMsg.newMsg() .type(TbMsgType.ALARM_CLEAR) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(JacksonUtil.toString(alarm)) .build()); TbMsg alarmDeleteNotification = TbMsg.newMsg() .type(TbMsgType.ALARM_DELETE) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(JacksonUtil.toString(alarm)) .build(); assertDoesNotThrow(() -> { diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/profile/TbDeviceProfileNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/profile/TbDeviceProfileNodeTest.java index 01e42f042e..876b75ecc0 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/profile/TbDeviceProfileNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/profile/TbDeviceProfileNodeTest.java @@ -130,7 +130,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type("123456789") .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .dataType(TbMsgDataType.JSON) .data(JacksonUtil.toString(data)) .build(); @@ -154,11 +154,9 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .dataType(TbMsgDataType.JSON) .data(JacksonUtil.toString(data)) - .ruleChainId(null) - .ruleNodeId(null) .build(); node.onMsg(ctx, msg); verify(ctx).tellSuccess(msg); @@ -213,7 +211,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_STRING) .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())).thenReturn(theMsg); @@ -223,11 +221,9 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .dataType(TbMsgDataType.JSON) .data(JacksonUtil.toString(data)) - .ruleChainId(null) - .ruleNodeId(null) .build(); node.onMsg(ctx, msg); verify(ctx).tellSuccess(msg); @@ -237,7 +233,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg theMsg2 = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data("2") .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())).thenReturn(theMsg2); @@ -248,11 +244,9 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg2 = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .dataType(TbMsgDataType.JSON) .data(JacksonUtil.toString(data)) - .ruleChainId(null) - .ruleNodeId(null) .build(); node.onMsg(ctx, msg2); verify(ctx).tellSuccess(msg2); @@ -313,7 +307,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_STRING) .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())).thenReturn(theMsg); @@ -323,11 +317,9 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .dataType(TbMsgDataType.JSON) .data(JacksonUtil.toString(data)) - .ruleChainId(null) - .ruleNodeId(null) .build(); node.onMsg(ctx, msg); verify(ctx).tellSuccess(msg); @@ -337,7 +329,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg theMsg2 = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_STRING) .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())).thenReturn(theMsg2); @@ -361,11 +353,9 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg2 = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .dataType(TbMsgDataType.JSON) .data(JacksonUtil.toString(data)) - .ruleChainId(null) - .ruleNodeId(null) .build(); node.onMsg(ctx, msg2); verify(ctx).tellSuccess(msg2); @@ -443,7 +433,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_STRING) .build(); Mockito.when(ctx.newMsg(Mockito.any(), Mockito.any(TbMsgType.class), Mockito.any(), Mockito.any(), Mockito.any(), Mockito.anyString())) @@ -454,11 +444,9 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .dataType(TbMsgDataType.JSON) .data(JacksonUtil.toString(data)) - .ruleChainId(null) - .ruleNodeId(null) .build(); node.onMsg(ctx, msg); @@ -543,7 +531,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_STRING) .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())) @@ -554,11 +542,9 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .dataType(TbMsgDataType.JSON) .data(JacksonUtil.toString(data)) - .ruleChainId(null) - .ruleNodeId(null) .build(); node.onMsg(ctx, msg); @@ -625,7 +611,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_STRING) .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())) @@ -636,11 +622,9 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .dataType(TbMsgDataType.JSON) .data(JacksonUtil.toString(data)) - .ruleChainId(null) - .ruleNodeId(null) .build(); node.onMsg(ctx, msg); @@ -733,7 +717,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_STRING) .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())) @@ -744,11 +728,9 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .dataType(TbMsgDataType.JSON) .data(JacksonUtil.toString(data)) - .ruleChainId(null) - .ruleNodeId(null) .build(); node.onMsg(ctx, msg); @@ -766,11 +748,9 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg2 = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .dataType(TbMsgDataType.JSON) .data(JacksonUtil.toString(data)) - .ruleChainId(null) - .ruleNodeId(null) .build(); node.onMsg(ctx, msg2); @@ -878,7 +858,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_STRING) .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())) @@ -889,11 +869,9 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .dataType(TbMsgDataType.JSON) .data(JacksonUtil.toString(data)) - .ruleChainId(null) - .ruleNodeId(null) .build(); node.onMsg(ctx, msg); @@ -911,11 +889,9 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg2 = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .dataType(TbMsgDataType.JSON) .data(JacksonUtil.toString(data)) - .ruleChainId(null) - .ruleNodeId(null) .build(); node.onMsg(ctx, msg2); @@ -1008,7 +984,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_STRING) .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())) @@ -1019,11 +995,9 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .dataType(TbMsgDataType.JSON) .data(JacksonUtil.toString(data)) - .ruleChainId(null) - .ruleNodeId(null) .build(); node.onMsg(ctx, msg); @@ -1035,11 +1009,9 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg2 = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .dataType(TbMsgDataType.JSON) .data(JacksonUtil.toString(data)) - .ruleChainId(null) - .ruleNodeId(null) .build(); node.onMsg(ctx, msg2); @@ -1145,7 +1117,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_STRING) .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())) @@ -1156,11 +1128,9 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .dataType(TbMsgDataType.JSON) .data(JacksonUtil.toString(data)) - .ruleChainId(null) - .ruleNodeId(null) .build(); node.onMsg(ctx, msg); @@ -1172,11 +1142,9 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg2 = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .dataType(TbMsgDataType.JSON) .data(JacksonUtil.toString(data)) - .ruleChainId(null) - .ruleNodeId(null) .build(); node.onMsg(ctx, msg2); @@ -1261,7 +1229,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_STRING) .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())) @@ -1272,11 +1240,9 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .dataType(TbMsgDataType.JSON) .data(JacksonUtil.toString(data)) - .ruleChainId(null) - .ruleNodeId(null) .build(); node.onMsg(ctx, msg); @@ -1294,11 +1260,9 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg2 = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .dataType(TbMsgDataType.JSON) .data(JacksonUtil.toString(data)) - .ruleChainId(null) - .ruleNodeId(null) .build(); node.onMsg(ctx, msg2); @@ -1379,7 +1343,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_STRING) .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())) @@ -1390,11 +1354,9 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .dataType(TbMsgDataType.JSON) .data(JacksonUtil.toString(data)) - .ruleChainId(null) - .ruleNodeId(null) .build(); node.onMsg(ctx, msg); @@ -1474,7 +1436,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_STRING) .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())) @@ -1485,11 +1447,10 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .dataType(TbMsgDataType.JSON) .data(JacksonUtil.toString(data)) - .ruleChainId(null) - .ruleNodeId(null) + .build(); // Mockito.reset(ctx); @@ -1583,7 +1544,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_STRING) .build(); @@ -1592,11 +1553,9 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .dataType(TbMsgDataType.JSON) .data(JacksonUtil.toString(data)) - .ruleChainId(null) - .ruleNodeId(null) .build(); node.onMsg(ctx, msg); @@ -1674,7 +1633,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_STRING) .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())) @@ -1685,11 +1644,9 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .dataType(TbMsgDataType.JSON) .data(JacksonUtil.toString(data)) - .ruleChainId(null) - .ruleNodeId(null) .build(); node.onMsg(ctx, msg); @@ -1760,7 +1717,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_STRING) .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())) @@ -1771,11 +1728,9 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .dataType(TbMsgDataType.JSON) .data(JacksonUtil.toString(data)) - .ruleChainId(null) - .ruleNodeId(null) .build(); node.onMsg(ctx, msg); @@ -1848,7 +1803,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { .thenReturn(device); Mockito.when(attributesService.find(eq(tenantId), eq(deviceId), Mockito.any(AttributeScope.class), Mockito.anySet())) .thenReturn(listListenableFutureWithLess); - Mockito.when(attributesService.find(eq(tenantId), eq(customerId), Mockito.any(AttributeScope.class), Mockito.anyString())) + Mockito.when(attributesService.find(eq(tenantId), eq(customerId), Mockito.any(AttributeScope.class), Mockito.anyString())) .thenReturn(emptyOptionalFuture); Mockito.when(attributesService.find(eq(tenantId), eq(tenantId), eq(AttributeScope.SERVER_SCOPE), Mockito.anyString())) .thenReturn(optionalListenableFutureWithLess); @@ -1856,7 +1811,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_STRING) .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())) @@ -1867,11 +1822,9 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .dataType(TbMsgDataType.JSON) .data(JacksonUtil.toString(data)) - .ruleChainId(null) - .ruleNodeId(null) .build(); node.onMsg(ctx, msg); @@ -1954,7 +1907,7 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg theMsg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_STRING) .build(); when(ctx.newMsg(any(), any(TbMsgType.class), any(), any(), any(), Mockito.anyString())) @@ -1965,11 +1918,9 @@ public class TbDeviceProfileNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .dataType(TbMsgDataType.JSON) .data(JacksonUtil.toString(data)) - .ruleChainId(null) - .ruleNodeId(null) .build(); node.onMsg(ctx, msg); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rabbitmq/TbRabbitMqNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rabbitmq/TbRabbitMqNodeTest.java index 914605a8d4..cd7de994b5 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rabbitmq/TbRabbitMqNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rabbitmq/TbRabbitMqNodeTest.java @@ -150,7 +150,7 @@ public class TbRabbitMqNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(metaData.copy()) + .copyMetaData(metaData) .data(data) .build(); node.onMsg(ctxMock, msg); @@ -186,7 +186,7 @@ public class TbRabbitMqNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); node.onMsg(ctxMock, msg); @@ -214,7 +214,7 @@ public class TbRabbitMqNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(metaData.copy()) + .copyMetaData(metaData) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); node.onMsg(ctxMock, msg); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbHttpClientTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbHttpClientTest.java index be4f3488ec..b42fa8662f 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbHttpClientTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbHttpClientTest.java @@ -143,13 +143,13 @@ public class TbHttpClientTest { var msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(new DeviceId(EntityId.NULL_UUID)) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); var successMsg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(msg.getOriginator()) - .metaData(msg.getMetaData().copy()) + .copyMetaData(msg.getMetaData()) .data(msg.getData()) .build(); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbRestApiCallNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbRestApiCallNodeTest.java index d94981cff3..9f5834cd46 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbRestApiCallNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbRestApiCallNodeTest.java @@ -145,7 +145,7 @@ public class TbRestApiCallNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) - .metaData(metaData.copy()) + .copyMetaData(metaData) .dataType(TbMsgDataType.JSON) .data(TbMsg.EMPTY_JSON_OBJECT) .ruleChainId(ruleChainId) @@ -214,7 +214,7 @@ public class TbRestApiCallNodeTest extends AbstractRuleNodeUpgradeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(originator) - .metaData(metaData.copy()) + .copyMetaData(metaData) .dataType(TbMsgDataType.JSON) .data(TbMsg.EMPTY_JSON_OBJECT) .ruleChainId(ruleChainId) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbSendRestApiCallReplyNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbSendRestApiCallReplyNodeTest.java index e7613a11cf..6bf34de3b1 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbSendRestApiCallReplyNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rest/TbSendRestApiCallReplyNodeTest.java @@ -92,7 +92,7 @@ public class TbSendRestApiCallReplyNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.REST_API_REQUEST) .originator(DEVICE_ID) - .metaData(new TbMsgMetaData(metadata).copy()) + .copyMetaData(new TbMsgMetaData(metadata)) .data(data) .build(); @@ -117,7 +117,7 @@ public class TbSendRestApiCallReplyNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.REST_API_REQUEST) .originator(DEVICE_ID) - .metaData(metaData.copy()) + .copyMetaData(metaData) .data(data) .build(); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rpc/TbSendRPCReplyNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rpc/TbSendRPCReplyNodeTest.java index 61e2b45b42..11a29c67ba 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rpc/TbSendRPCReplyNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rpc/TbSendRPCReplyNodeTest.java @@ -95,11 +95,9 @@ public class TbSendRPCReplyNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) - .metaData(getDefaultMetadata().copy()) + .copyMetaData(getDefaultMetadata()) .dataType(TbMsgDataType.JSON) .data(DUMMY_DATA) - .ruleChainId(null) - .ruleNodeId(null) .build(); node.onMsg(ctx, msg); @@ -121,11 +119,9 @@ public class TbSendRPCReplyNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) - .metaData(defaultMetadata.copy()) + .copyMetaData(defaultMetadata) .dataType(TbMsgDataType.JSON) .data(DUMMY_DATA) - .ruleChainId(null) - .ruleNodeId(null) .build(); node.onMsg(ctx, msg); @@ -141,7 +137,7 @@ public class TbSendRPCReplyNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(entityId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); @@ -160,7 +156,7 @@ public class TbSendRPCReplyNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) - .metaData(metaData.copy()) + .copyMetaData(metaData) .data(TbMsg.EMPTY_STRING) .build(); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rpc/TbSendRPCRequestNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rpc/TbSendRPCRequestNodeTest.java index a22554fd56..4aa38b230a 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rpc/TbSendRPCRequestNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/rpc/TbSendRPCRequestNodeTest.java @@ -110,7 +110,7 @@ public class TbSendRPCRequestNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) .originator(DEVICE_ID) - .metaData(msgMetadata.copy()) + .copyMetaData(msgMetadata) .data(MSG_DATA) .build(); node.onMsg(ctxMock, msg); @@ -136,7 +136,7 @@ public class TbSendRPCRequestNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(MSG_DATA) .build(); node.onMsg(ctxMock, msg); @@ -162,7 +162,7 @@ public class TbSendRPCRequestNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.TO_SERVER_RPC_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(MSG_DATA) .build(); node.onMsg(ctxMock, msg); @@ -188,7 +188,7 @@ public class TbSendRPCRequestNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.TO_SERVER_RPC_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(data) .build(); node.onMsg(ctxMock, msg); @@ -208,7 +208,7 @@ public class TbSendRPCRequestNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) .originator(DEVICE_ID) - .metaData(metadata.copy()) + .copyMetaData(metadata) .data(MSG_DATA) .build(); node.onMsg(ctxMock, msg); @@ -228,7 +228,7 @@ public class TbSendRPCRequestNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) .originator(DEVICE_ID) - .metaData(metadata.copy()) + .copyMetaData(metadata) .data(MSG_DATA) .build(); node.onMsg(ctxMock, msg); @@ -248,7 +248,7 @@ public class TbSendRPCRequestNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) .originator(DEVICE_ID) - .metaData(metadata.copy()) + .copyMetaData(metadata) .data(MSG_DATA) .build(); node.onMsg(ctxMock, msg); @@ -268,7 +268,7 @@ public class TbSendRPCRequestNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) .originator(DEVICE_ID) - .metaData(metadata.copy()) + .copyMetaData(metadata) .data(MSG_DATA) .build(); node.onMsg(ctxMock, msg); @@ -288,7 +288,7 @@ public class TbSendRPCRequestNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) .originator(DEVICE_ID) - .metaData(metadata.copy()) + .copyMetaData(metadata) .data(MSG_DATA) .build(); node.onMsg(ctxMock, msg); @@ -308,7 +308,7 @@ public class TbSendRPCRequestNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) .originator(DEVICE_ID) - .metaData(metadata.copy()) + .copyMetaData(metadata) .data(MSG_DATA) .build(); node.onMsg(ctxMock, msg); @@ -328,7 +328,7 @@ public class TbSendRPCRequestNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) .originator(DEVICE_ID) - .metaData(metadata.copy()) + .copyMetaData(metadata) .data(MSG_DATA) .build(); node.onMsg(ctxMock, msg); @@ -348,7 +348,7 @@ public class TbSendRPCRequestNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) .originator(DEVICE_ID) - .metaData(metadata.copy()) + .copyMetaData(metadata) .data(MSG_DATA) .build(); node.onMsg(ctxMock, msg); @@ -366,7 +366,7 @@ public class TbSendRPCRequestNodeTest { TbMsg msg = TbMsg.newMsg() .type(msgType) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(MSG_DATA) .build(); node.onMsg(ctxMock, msg); @@ -390,7 +390,7 @@ public class TbSendRPCRequestNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) .originator(DEVICE_ID) - .metaData(metadata.copy()) + .copyMetaData(metadata) .data(MSG_DATA) .build(); node.onMsg(ctxMock, msg); @@ -419,7 +419,7 @@ public class TbSendRPCRequestNodeTest { TbMsg outMsg = TbMsg.newMsg() .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); @@ -439,7 +439,7 @@ public class TbSendRPCRequestNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(MSG_DATA) .build(); node.onMsg(ctxMock, msg); @@ -453,7 +453,7 @@ public class TbSendRPCRequestNodeTest { TbMsg outMsg = TbMsg.newMsg() .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); @@ -472,7 +472,7 @@ public class TbSendRPCRequestNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(MSG_DATA) .build(); node.onMsg(ctxMock, msg); @@ -489,7 +489,7 @@ public class TbSendRPCRequestNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(entityId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); node.onMsg(ctxMock, msg); @@ -507,7 +507,7 @@ public class TbSendRPCRequestNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data("{\"" + key + "\": \"value\"}") .build(); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgAttributesNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgAttributesNodeTest.java index 470a397ea4..3822ee7d5f 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgAttributesNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgAttributesNodeTest.java @@ -167,7 +167,7 @@ class TbMsgAttributesNodeTest extends AbstractRuleNodeUpgradeTest { var testTbMsg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) - .metaData(md.copy()) + .copyMetaData(md) .data(TbMsg.EMPTY_STRING) .build(); List testAttrList = List.of(new BaseAttributeKvEntry(0L, new StringDataEntry("testKey", "testValue"))); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgDeleteAttributesNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgDeleteAttributesNodeTest.java index 80259b34c0..0714e13473 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgDeleteAttributesNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgDeleteAttributesNodeTest.java @@ -142,7 +142,7 @@ public class TbMsgDeleteAttributesNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(deviceId) - .metaData(metaData.copy()) + .copyMetaData(metaData) .data(data) .callback(callback) .build(); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgTimeseriesNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgTimeseriesNodeTest.java index 3bd7a67794..af895d6f52 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgTimeseriesNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgTimeseriesNodeTest.java @@ -99,7 +99,7 @@ public class TbMsgTimeseriesNodeTest { TbMsg msg = TbMsg.newMsg() .type(msgType) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_ARRAY) .build(); node.onMsg(ctxMock, msg); @@ -130,7 +130,7 @@ public class TbMsgTimeseriesNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(data) .build(); @@ -172,7 +172,7 @@ public class TbMsgTimeseriesNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(new TbMsgMetaData(metadata).copy()) + .copyMetaData(new TbMsgMetaData(metadata)) .data(data) .build(); @@ -215,7 +215,7 @@ public class TbMsgTimeseriesNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(metadata.copy()) + .copyMetaData(metadata) .data(data) .build(); node.onMsg(ctxMock, msg); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbChangeOriginatorNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbChangeOriginatorNodeTest.java index 851179bc04..2a0e0b73f7 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbChangeOriginatorNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbChangeOriginatorNodeTest.java @@ -179,7 +179,7 @@ public class TbChangeOriginatorNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); TbMsg expectedMsg = msg.transform() @@ -209,7 +209,7 @@ public class TbChangeOriginatorNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(ASSET_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); TbMsg expectedMsg = msg.transform() @@ -236,7 +236,7 @@ public class TbChangeOriginatorNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(ASSET_ID) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); @@ -275,7 +275,7 @@ public class TbChangeOriginatorNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.ALARM) .originator(alarmId) - .metaData(TbMsgMetaData.EMPTY.copy()) + .copyMetaData(TbMsgMetaData.EMPTY) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); TbMsg expectedMsg = msg.transform() @@ -308,7 +308,7 @@ public class TbChangeOriginatorNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(metaData.copy()) + .copyMetaData(metaData) .data(data) .build(); TbMsg expectedMsg = msg.transform() @@ -351,7 +351,7 @@ public class TbChangeOriginatorNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(DEVICE_ID) - .metaData(metaData.copy()) + .copyMetaData(metaData) .data(TbMsg.EMPTY_JSON_OBJECT) .build(); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbCopyKeysNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbCopyKeysNodeTest.java index 427181c5af..3e214d534d 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbCopyKeysNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbCopyKeysNodeTest.java @@ -199,7 +199,7 @@ public class TbCopyKeysNodeTest { return TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(entityId) - .metaData(new TbMsgMetaData(mdMap).copy()) + .copyMetaData(new TbMsgMetaData(mdMap)) .data(data) .callback(callback) .build(); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbDeleteKeysNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbDeleteKeysNodeTest.java index 93b34182a8..036dc5440b 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbDeleteKeysNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbDeleteKeysNodeTest.java @@ -176,7 +176,7 @@ public class TbDeleteKeysNodeTest { return TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(entityId) - .metaData(new TbMsgMetaData(mdMap).copy()) + .copyMetaData(new TbMsgMetaData(mdMap)) .data(data) .callback(callback) .build(); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbJsonPathNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbJsonPathNodeTest.java index 298df82d2a..ab8c9a44ba 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbJsonPathNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbJsonPathNodeTest.java @@ -174,7 +174,7 @@ public class TbJsonPathNodeTest { return TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(entityId) - .metaData(new TbMsgMetaData(mdMap).copy()) + .copyMetaData(new TbMsgMetaData(mdMap)) .data(data) .callback(callback) .build(); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbMsgDeduplicationNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbMsgDeduplicationNodeTest.java index 84b648823f..91dc20bd9a 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbMsgDeduplicationNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbMsgDeduplicationNodeTest.java @@ -106,7 +106,7 @@ public class TbMsgDeduplicationNodeTest extends AbstractRuleNodeUpgradeTest { return TbMsg.newMsg() .type(type) .originator(originator) - .metaData(metaData.copy().copy()) + .copyMetaData(metaData.copy()) .data(data) .build(); }).when(ctx).newMsg(isNull(), eq(TbMsgType.DEDUPLICATION_TIMEOUT_SELF_MSG), nullable(EntityId.class), any(TbMsgMetaData.class), any(String.class)); @@ -461,7 +461,7 @@ public class TbMsgDeduplicationNodeTest extends AbstractRuleNodeUpgradeTest { .queueName(DataConstants.MAIN_QUEUE_NAME) .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(deviceId) - .metaData(metaData.copy()) + .copyMetaData(metaData) .data(JacksonUtil.toString(dataNode)) .build(); } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbRenameKeysNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbRenameKeysNodeTest.java index 61851945c0..0c7f291db1 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbRenameKeysNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbRenameKeysNodeTest.java @@ -191,7 +191,7 @@ public class TbRenameKeysNodeTest { return TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(entityId) - .metaData(new TbMsgMetaData(mdMap).copy()) + .copyMetaData(new TbMsgMetaData(mdMap)) .data(data) .callback(callback) .build(); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbSplitArrayMsgNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbSplitArrayMsgNodeTest.java index b811934718..895ae96db8 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbSplitArrayMsgNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbSplitArrayMsgNodeTest.java @@ -135,7 +135,7 @@ public class TbSplitArrayMsgNodeTest { return TbMsg.newMsg() .type(TbMsgType.POST_ATTRIBUTES_REQUEST) .originator(entityId) - .metaData(new TbMsgMetaData(mdMap).copy()) + .copyMetaData(new TbMsgMetaData(mdMap)) .data(data) .callback(callback) .build(); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbTransformMsgNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbTransformMsgNodeTest.java index 094cc4ac18..72f893aa86 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbTransformMsgNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbTransformMsgNodeTest.java @@ -64,7 +64,7 @@ public class TbTransformMsgNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(null) - .metaData(metaData.copy()) + .copyMetaData(metaData) .dataType(TbMsgDataType.JSON) .data(rawJson) .ruleChainId(ruleChainId) @@ -73,7 +73,7 @@ public class TbTransformMsgNodeTest { TbMsg transformedMsg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(null) - .metaData(metaData.copy()) + .copyMetaData(metaData) .dataType(TbMsgDataType.JSON) .data("{new}") .ruleChainId(ruleChainId) @@ -100,7 +100,7 @@ public class TbTransformMsgNodeTest { TbMsg msg = TbMsg.newMsg() .type(TbMsgType.POST_TELEMETRY_REQUEST) .originator(null) - .metaData(metaData.copy()) + .copyMetaData(metaData) .dataType(TbMsgDataType.JSON) .data(rawJson) .ruleChainId(ruleChainId) From c60da6829b06bea3dac73e08ff9c5278c89e3335 Mon Sep 17 00:00:00 2001 From: ViacheslavKlimov Date: Thu, 19 Dec 2024 16:19:26 +0200 Subject: [PATCH 7/7] Fix msg metadata copied twice --- .../rule/engine/transform/TbMsgDeduplicationNodeTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbMsgDeduplicationNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbMsgDeduplicationNodeTest.java index 91dc20bd9a..cbff064ec3 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbMsgDeduplicationNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbMsgDeduplicationNodeTest.java @@ -106,7 +106,7 @@ public class TbMsgDeduplicationNodeTest extends AbstractRuleNodeUpgradeTest { return TbMsg.newMsg() .type(type) .originator(originator) - .copyMetaData(metaData.copy()) + .copyMetaData(metaData) .data(data) .build(); }).when(ctx).newMsg(isNull(), eq(TbMsgType.DEDUPLICATION_TIMEOUT_SELF_MSG), nullable(EntityId.class), any(TbMsgMetaData.class), any(String.class));