From 29211774f590b1ce1f8ebbc56a30f67c14dfb22f Mon Sep 17 00:00:00 2001 From: IrynaMatveieva Date: Fri, 13 Jun 2025 17:19:54 +0300 Subject: [PATCH] Minor refactoring --- .../DefaultCalculatedFieldQueueService.java | 7 +++-- .../cf/ctx/state/CalculatedFieldCtx.java | 29 +++++++------------ 2 files changed, 15 insertions(+), 21 deletions(-) diff --git a/application/src/main/java/org/thingsboard/server/service/cf/DefaultCalculatedFieldQueueService.java b/application/src/main/java/org/thingsboard/server/service/cf/DefaultCalculatedFieldQueueService.java index a423eb6669..fc5d75be56 100644 --- a/application/src/main/java/org/thingsboard/server/service/cf/DefaultCalculatedFieldQueueService.java +++ b/application/src/main/java/org/thingsboard/server/service/cf/DefaultCalculatedFieldQueueService.java @@ -41,6 +41,7 @@ import org.thingsboard.server.gen.transport.TransportProtos.AttributeScopeProto; import org.thingsboard.server.gen.transport.TransportProtos.AttributeValueProto; import org.thingsboard.server.gen.transport.TransportProtos.CalculatedFieldTelemetryMsgProto; import org.thingsboard.server.gen.transport.TransportProtos.ToCalculatedFieldMsg; +import org.thingsboard.server.gen.transport.TransportProtos.TsKvProto; import org.thingsboard.server.queue.TbQueueCallback; import org.thingsboard.server.queue.TbQueueMsgMetadata; import org.thingsboard.server.service.cf.ctx.state.CalculatedFieldCtx; @@ -200,11 +201,11 @@ public class DefaultCalculatedFieldQueueService implements CalculatedFieldQueueS List versions = result != null ? result.getVersions() : Collections.emptyList(); for (int i = 0; i < entries.size(); i++) { - TsKvEntry tsKvEntry = entries.get(i); + TsKvProto.Builder tsProtoBuilder = toTsKvProto(entries.get(i)).toBuilder(); if (versions != null && !versions.isEmpty() && versions.get(i) != null) { - tsKvEntry.setVersion(versions.get(i)); + tsProtoBuilder.setVersion(versions.get(i)); } - telemetryMsg.addTsData(toTsKvProto(tsKvEntry)); + telemetryMsg.addTsData(tsProtoBuilder.build()); } return ToCalculatedFieldMsg.newBuilder().setTelemetryMsg(telemetryMsg).build(); diff --git a/application/src/main/java/org/thingsboard/server/service/cf/ctx/state/CalculatedFieldCtx.java b/application/src/main/java/org/thingsboard/server/service/cf/ctx/state/CalculatedFieldCtx.java index 0008874779..2e3321eece 100644 --- a/application/src/main/java/org/thingsboard/server/service/cf/ctx/state/CalculatedFieldCtx.java +++ b/application/src/main/java/org/thingsboard/server/service/cf/ctx/state/CalculatedFieldCtx.java @@ -185,10 +185,8 @@ public class CalculatedFieldCtx { return false; } - var lookupKey = new ReferencedEntityKey(null, ArgumentType.ATTRIBUTE, scope); for (AttributeKvEntry attrKv : values) { - lookupKey.setKey(attrKv.getKey()); - if (argMap.containsKey(lookupKey)) { + if (argMap.containsKey(new ReferencedEntityKey(attrKv.getKey(), ArgumentType.ATTRIBUTE, scope))) { return true; } } @@ -201,17 +199,15 @@ public class CalculatedFieldCtx { return false; } - var lookupKey = new ReferencedEntityKey(null, null, null); for (TsKvEntry tsKv : values) { - lookupKey.setKey(tsKv.getKey()); - lookupKey.setType(ArgumentType.TS_LATEST); - if (argMap.containsKey(lookupKey)) { + ReferencedEntityKey latestKey = new ReferencedEntityKey(tsKv.getKey(), ArgumentType.TS_LATEST, null); + if (argMap.containsKey(latestKey)) { return true; } - lookupKey.setType(ArgumentType.TS_ROLLING); - if (argMap.containsKey(lookupKey)) { + ReferencedEntityKey rollingKey = new ReferencedEntityKey(tsKv.getKey(), ArgumentType.TS_ROLLING, null); + if (argMap.containsKey(rollingKey)) { return true; } } @@ -232,10 +228,9 @@ public class CalculatedFieldCtx { return false; } - var lookupKey = new ReferencedEntityKey(null, ArgumentType.ATTRIBUTE, scope); for (String key : keys) { - lookupKey.setKey(key); - if (argMap.containsKey(lookupKey)) { + ReferencedEntityKey attrKey = new ReferencedEntityKey(key, ArgumentType.ATTRIBUTE, scope); + if (argMap.containsKey(attrKey)) { return true; } } @@ -248,17 +243,15 @@ public class CalculatedFieldCtx { return false; } - var lookupKey = new ReferencedEntityKey(null, null, null); for (String key : keys) { - lookupKey.setKey(key); - lookupKey.setType(ArgumentType.TS_LATEST); - if (argMap.containsKey(lookupKey)) { + ReferencedEntityKey latestKey = new ReferencedEntityKey(key, ArgumentType.TS_LATEST, null); + if (argMap.containsKey(latestKey)) { return true; } - lookupKey.setType(ArgumentType.TS_ROLLING); - if (argMap.containsKey(lookupKey)) { + ReferencedEntityKey rollingKey = new ReferencedEntityKey(key, ArgumentType.TS_ROLLING, null); + if (argMap.containsKey(rollingKey)) { return true; } }