From 66936c48ab72768029c83f59662a2cef81425f6f Mon Sep 17 00:00:00 2001 From: IrynaMatveieva Date: Thu, 27 Nov 2025 16:39:09 +0200 Subject: [PATCH] removed lazy initializer --- ...tedEntitiesAggregationCalculatedFieldState.java | 8 +++++--- .../EntityAggregationCalculatedFieldState.java | 14 +++++++++----- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/application/src/main/java/org/thingsboard/server/service/cf/ctx/state/aggregation/RelatedEntitiesAggregationCalculatedFieldState.java b/application/src/main/java/org/thingsboard/server/service/cf/ctx/state/aggregation/RelatedEntitiesAggregationCalculatedFieldState.java index 3b4092a885..264f651eb0 100644 --- a/application/src/main/java/org/thingsboard/server/service/cf/ctx/state/aggregation/RelatedEntitiesAggregationCalculatedFieldState.java +++ b/application/src/main/java/org/thingsboard/server/service/cf/ctx/state/aggregation/RelatedEntitiesAggregationCalculatedFieldState.java @@ -262,9 +262,11 @@ public class RelatedEntitiesAggregationCalculatedFieldState extends BaseCalculat List entitiesArguments = new ArrayList<>(); inputs.forEach((entityId, entityArguments) -> { EntityInfo entityInfo = entityIdEntityInfos.get(entityId); - JsonNode entityArgumentsJson = JacksonUtil.valueToTree(entityArguments.entrySet().stream() - .collect(Collectors.toMap(Entry::getKey, e -> e.getValue().jsonValue()))); - entitiesArguments.add(new EntityArgument(entityInfo, entityArgumentsJson)); + if (entityInfo != null) { + JsonNode entityArgumentsJson = JacksonUtil.valueToTree(entityArguments.entrySet().stream() + .collect(Collectors.toMap(Entry::getKey, e -> e.getValue().jsonValue()))); + entitiesArguments.add(new EntityArgument(entityInfo, entityArgumentsJson)); + } }); return JacksonUtil.valueToTree(new RelatedEntitiesArgument(ArgumentEntryType.RELATED_ENTITIES, entitiesArguments)); } diff --git a/application/src/main/java/org/thingsboard/server/service/cf/ctx/state/aggregation/single/EntityAggregationCalculatedFieldState.java b/application/src/main/java/org/thingsboard/server/service/cf/ctx/state/aggregation/single/EntityAggregationCalculatedFieldState.java index 17aa90f099..f3c3e8a1cc 100644 --- a/application/src/main/java/org/thingsboard/server/service/cf/ctx/state/aggregation/single/EntityAggregationCalculatedFieldState.java +++ b/application/src/main/java/org/thingsboard/server/service/cf/ctx/state/aggregation/single/EntityAggregationCalculatedFieldState.java @@ -21,7 +21,6 @@ import com.fasterxml.jackson.databind.node.ArrayNode; import com.fasterxml.jackson.databind.node.ObjectNode; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; -import org.apache.commons.lang3.concurrent.LazyInitializer; import org.thingsboard.common.util.DebugModeUtil; import org.thingsboard.common.util.JacksonUtil; import org.thingsboard.script.api.tbel.TbUtils; @@ -103,10 +102,11 @@ public class EntityAggregationCalculatedFieldState extends BaseCalculatedFieldSt long now = System.currentTimeMillis(); if (DebugModeUtil.isDebugFailuresAvailable(ctx.getCalculatedField())) { - LazyInitializer lazy = LazyInitializer.builder() - .setInitializer(() -> new EntityAggregationDebugArgumentsTracker(new HashMap<>())) - .get(); - debugTracker = lazy.get(); + if (debugTracker == null) { + debugTracker = new EntityAggregationDebugArgumentsTracker(new HashMap<>()); + } else { + debugTracker.reset(); + } debugTracker.recordUpdatedArgs(updatedArgs, arguments); } @@ -314,6 +314,10 @@ public class EntityAggregationCalculatedFieldState extends BaseCalculatedFieldSt record EntityAggregationDebugArgumentsTracker(Map> processedIntervals) { + public void reset() { + processedIntervals.clear(); + } + public void addInterval(AggIntervalEntry interval) { processedIntervals.computeIfAbsent(interval, k -> new HashMap<>()); }