|
|
@ -39,6 +39,7 @@ import org.thingsboard.server.common.data.cf.configuration.Argument; |
|
|
import org.thingsboard.server.common.data.cf.configuration.ArgumentType; |
|
|
import org.thingsboard.server.common.data.cf.configuration.ArgumentType; |
|
|
import org.thingsboard.server.common.data.cf.configuration.ArgumentsBasedCalculatedFieldConfiguration; |
|
|
import org.thingsboard.server.common.data.cf.configuration.ArgumentsBasedCalculatedFieldConfiguration; |
|
|
import org.thingsboard.server.common.data.cf.configuration.ExpressionBasedCalculatedFieldConfiguration; |
|
|
import org.thingsboard.server.common.data.cf.configuration.ExpressionBasedCalculatedFieldConfiguration; |
|
|
|
|
|
import org.thingsboard.server.common.data.cf.configuration.HasUseLatestTsConfig; |
|
|
import org.thingsboard.server.common.data.cf.configuration.Output; |
|
|
import org.thingsboard.server.common.data.cf.configuration.Output; |
|
|
import org.thingsboard.server.common.data.cf.configuration.PropagationCalculatedFieldConfiguration; |
|
|
import org.thingsboard.server.common.data.cf.configuration.PropagationCalculatedFieldConfiguration; |
|
|
import org.thingsboard.server.common.data.cf.configuration.ReferencedEntityKey; |
|
|
import org.thingsboard.server.common.data.cf.configuration.ReferencedEntityKey; |
|
|
@ -187,7 +188,6 @@ public class CalculatedFieldCtx implements Closeable { |
|
|
.collect(Collectors.toList()); |
|
|
.collect(Collectors.toList()); |
|
|
if (argBasedConfig instanceof ExpressionBasedCalculatedFieldConfiguration expressionBasedConfig) { |
|
|
if (argBasedConfig instanceof ExpressionBasedCalculatedFieldConfiguration expressionBasedConfig) { |
|
|
this.expression = expressionBasedConfig.getExpression(); |
|
|
this.expression = expressionBasedConfig.getExpression(); |
|
|
this.useLatestTs = CalculatedFieldType.SIMPLE.equals(calculatedField.getType()) && ((SimpleCalculatedFieldConfiguration) argBasedConfig).isUseLatestTs(); |
|
|
|
|
|
} |
|
|
} |
|
|
if (calculatedField.getConfiguration() instanceof GeofencingCalculatedFieldConfiguration geofencingConfig) { |
|
|
if (calculatedField.getConfiguration() instanceof GeofencingCalculatedFieldConfiguration geofencingConfig) { |
|
|
geofencingConfig.getZoneGroups().forEach((zoneGroupName, config) -> { |
|
|
geofencingConfig.getZoneGroups().forEach((zoneGroupName, config) -> { |
|
|
@ -209,8 +209,8 @@ public class CalculatedFieldCtx implements Closeable { |
|
|
if (calculatedField.getConfiguration() instanceof ScheduledUpdateSupportedCalculatedFieldConfiguration scheduledConfig) { |
|
|
if (calculatedField.getConfiguration() instanceof ScheduledUpdateSupportedCalculatedFieldConfiguration scheduledConfig) { |
|
|
this.scheduledUpdateIntervalMillis = scheduledConfig.isScheduledUpdateEnabled() ? TimeUnit.SECONDS.toMillis(scheduledConfig.getScheduledUpdateInterval()) : DISABLED_INTERVAL_VALUE; |
|
|
this.scheduledUpdateIntervalMillis = scheduledConfig.isScheduledUpdateEnabled() ? TimeUnit.SECONDS.toMillis(scheduledConfig.getScheduledUpdateInterval()) : DISABLED_INTERVAL_VALUE; |
|
|
} |
|
|
} |
|
|
if (calculatedField.getConfiguration() instanceof RelatedEntitiesAggregationCalculatedFieldConfiguration aggConfig) { |
|
|
if (calculatedField.getConfiguration() instanceof HasUseLatestTsConfig hasUseLatestTsConfig) { |
|
|
this.useLatestTs = aggConfig.isUseLatestTs(); |
|
|
this.useLatestTs = hasUseLatestTsConfig.isUseLatestTs(); |
|
|
} |
|
|
} |
|
|
this.systemContext = systemContext; |
|
|
this.systemContext = systemContext; |
|
|
this.tbelInvokeService = systemContext.getTbelInvokeService(); |
|
|
this.tbelInvokeService = systemContext.getTbelInvokeService(); |
|
|
|