Browse Source
Merge remote-tracking branch 'origin/lts-4.3' into rc
pull/15310/head
Viacheslav Klimov
2 months ago
Failed to extract signature
3 changed files with
5 additions and
5 deletions
-
application/src/main/java/org/thingsboard/server/service/cf/CalculatedFieldCache.java
-
application/src/main/java/org/thingsboard/server/service/cf/DefaultCalculatedFieldCache.java
-
application/src/main/java/org/thingsboard/server/service/cf/DefaultCalculatedFieldQueueService.java
|
|
|
@ -41,7 +41,7 @@ public interface CalculatedFieldCache { |
|
|
|
|
|
|
|
List<CalculatedFieldCtx> getCalculatedFieldCtxsByEntityId(EntityId entityId); |
|
|
|
|
|
|
|
Stream<CalculatedFieldCtx> getCalculatedFieldCtxsByType(CalculatedFieldType cfType); |
|
|
|
Stream<CalculatedFieldCtx> getCalculatedFieldCtxsByType(TenantId tenantId, CalculatedFieldType cfType); |
|
|
|
|
|
|
|
boolean hasCalculatedFields(TenantId tenantId, EntityId entityId, Predicate<CalculatedFieldCtx> filter); |
|
|
|
|
|
|
|
|
|
|
|
@ -152,9 +152,9 @@ public class DefaultCalculatedFieldCache implements CalculatedFieldCache { |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public Stream<CalculatedFieldCtx> getCalculatedFieldCtxsByType(CalculatedFieldType cfType) { |
|
|
|
public Stream<CalculatedFieldCtx> getCalculatedFieldCtxsByType(TenantId tenantId, CalculatedFieldType cfType) { |
|
|
|
return calculatedFields.values().stream() |
|
|
|
.filter(cf -> cfType.equals(cf.getType())) |
|
|
|
.filter(cf -> cf.getTenantId().equals(tenantId) && cfType.equals(cf.getType())) |
|
|
|
.map(cf -> getCalculatedFieldCtx(cf.getId())); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -189,12 +189,12 @@ public class DefaultCalculatedFieldQueueService implements CalculatedFieldQueueS |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
boolean hasMatchesEntityAggCfs = calculatedFieldCache.getCalculatedFieldCtxsByType(CalculatedFieldType.ENTITY_AGGREGATION).anyMatch(filter); |
|
|
|
boolean hasMatchesEntityAggCfs = calculatedFieldCache.getCalculatedFieldCtxsByType(tenantId, CalculatedFieldType.ENTITY_AGGREGATION).anyMatch(filter); |
|
|
|
if (hasMatchesEntityAggCfs) { |
|
|
|
return true; |
|
|
|
} |
|
|
|
|
|
|
|
List<CalculatedFieldCtx> relatedEntitiesAggregationCfs = calculatedFieldCache.getCalculatedFieldCtxsByType(CalculatedFieldType.RELATED_ENTITIES_AGGREGATION) |
|
|
|
List<CalculatedFieldCtx> relatedEntitiesAggregationCfs = calculatedFieldCache.getCalculatedFieldCtxsByType(tenantId, CalculatedFieldType.RELATED_ENTITIES_AGGREGATION) |
|
|
|
.filter(relatedEntityFilter) |
|
|
|
.toList(); |
|
|
|
for (CalculatedFieldCtx cfCtx : relatedEntitiesAggregationCfs) { |
|
|
|
|