|
|
@ -31,13 +31,13 @@ import org.thingsboard.server.common.data.cf.CalculatedField; |
|
|
import org.thingsboard.server.common.data.cf.CalculatedFieldType; |
|
|
import org.thingsboard.server.common.data.cf.CalculatedFieldType; |
|
|
import org.thingsboard.server.common.data.cf.configuration.Argument; |
|
|
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.Output; |
|
|
import org.thingsboard.server.common.data.cf.configuration.AttributesOutput; |
|
|
import org.thingsboard.server.common.data.cf.configuration.OutputType; |
|
|
|
|
|
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; |
|
|
import org.thingsboard.server.common.data.cf.configuration.RelationPathQueryDynamicSourceConfiguration; |
|
|
import org.thingsboard.server.common.data.cf.configuration.RelationPathQueryDynamicSourceConfiguration; |
|
|
import org.thingsboard.server.common.data.cf.configuration.ScriptCalculatedFieldConfiguration; |
|
|
import org.thingsboard.server.common.data.cf.configuration.ScriptCalculatedFieldConfiguration; |
|
|
import org.thingsboard.server.common.data.cf.configuration.SimpleCalculatedFieldConfiguration; |
|
|
import org.thingsboard.server.common.data.cf.configuration.SimpleCalculatedFieldConfiguration; |
|
|
|
|
|
import org.thingsboard.server.common.data.cf.configuration.TimeSeriesOutput; |
|
|
import org.thingsboard.server.common.data.cf.configuration.geofencing.EntityCoordinates; |
|
|
import org.thingsboard.server.common.data.cf.configuration.geofencing.EntityCoordinates; |
|
|
import org.thingsboard.server.common.data.cf.configuration.geofencing.GeofencingCalculatedFieldConfiguration; |
|
|
import org.thingsboard.server.common.data.cf.configuration.geofencing.GeofencingCalculatedFieldConfiguration; |
|
|
import org.thingsboard.server.common.data.cf.configuration.geofencing.ZoneGroupConfiguration; |
|
|
import org.thingsboard.server.common.data.cf.configuration.geofencing.ZoneGroupConfiguration; |
|
|
@ -183,10 +183,11 @@ public class CalculatedFieldTest extends AbstractContainerTest { |
|
|
|
|
|
|
|
|
CalculatedField savedCalculatedField = createSimpleCalculatedField(); |
|
|
CalculatedField savedCalculatedField = createSimpleCalculatedField(); |
|
|
|
|
|
|
|
|
Output savedOutput = savedCalculatedField.getConfiguration().getOutput(); |
|
|
AttributesOutput output = new AttributesOutput(); |
|
|
savedOutput.setType(OutputType.ATTRIBUTES); |
|
|
output.setScope(SERVER_SCOPE); |
|
|
savedOutput.setScope(SERVER_SCOPE); |
|
|
output.setName("temperatureF"); |
|
|
savedOutput.setName("temperatureF"); |
|
|
((SimpleCalculatedFieldConfiguration) savedCalculatedField.getConfiguration()).setOutput(output); |
|
|
|
|
|
|
|
|
testRestClient.postCalculatedField(savedCalculatedField); |
|
|
testRestClient.postCalculatedField(savedCalculatedField); |
|
|
|
|
|
|
|
|
await().alias("update CF output -> perform calculation with updated output").atMost(TIMEOUT, TimeUnit.SECONDS) |
|
|
await().alias("update CF output -> perform calculation with updated output").atMost(TIMEOUT, TimeUnit.SECONDS) |
|
|
@ -381,8 +382,7 @@ public class CalculatedFieldTest extends AbstractContainerTest { |
|
|
|
|
|
|
|
|
cfg.setZoneGroups(Map.of("allowedZones", allowedZoneGroupConfiguration, "restrictedZones", restrictedZoneGroupConfiguration)); |
|
|
cfg.setZoneGroups(Map.of("allowedZones", allowedZoneGroupConfiguration, "restrictedZones", restrictedZoneGroupConfiguration)); |
|
|
|
|
|
|
|
|
Output out = new Output(); |
|
|
AttributesOutput out = new AttributesOutput(); |
|
|
out.setType(OutputType.ATTRIBUTES); |
|
|
|
|
|
out.setScope(SERVER_SCOPE); |
|
|
out.setScope(SERVER_SCOPE); |
|
|
cfg.setOutput(out); |
|
|
cfg.setOutput(out); |
|
|
cf.setConfiguration(cfg); |
|
|
cf.setConfiguration(cfg); |
|
|
@ -458,8 +458,7 @@ public class CalculatedFieldTest extends AbstractContainerTest { |
|
|
|
|
|
|
|
|
cfg.setExpression("{\"testResult\": t * 2}"); |
|
|
cfg.setExpression("{\"testResult\": t * 2}"); |
|
|
|
|
|
|
|
|
Output output = new Output(); |
|
|
AttributesOutput output = new AttributesOutput(); |
|
|
output.setType(OutputType.ATTRIBUTES); |
|
|
|
|
|
output.setScope(AttributeScope.SERVER_SCOPE); |
|
|
output.setScope(AttributeScope.SERVER_SCOPE); |
|
|
cfg.setOutput(output); |
|
|
cfg.setOutput(output); |
|
|
|
|
|
|
|
|
@ -541,9 +540,7 @@ public class CalculatedFieldTest extends AbstractContainerTest { |
|
|
arg.setRefEntityKey(new ReferencedEntityKey("temperature", ArgumentType.TS_LATEST, null)); |
|
|
arg.setRefEntityKey(new ReferencedEntityKey("temperature", ArgumentType.TS_LATEST, null)); |
|
|
cfg.setArguments(Map.of("temperatureComputed", arg)); |
|
|
cfg.setArguments(Map.of("temperatureComputed", arg)); |
|
|
|
|
|
|
|
|
Output output = new Output(); |
|
|
cfg.setOutput(new TimeSeriesOutput()); |
|
|
output.setType(OutputType.TIME_SERIES); |
|
|
|
|
|
cfg.setOutput(output); |
|
|
|
|
|
|
|
|
|
|
|
cf.setConfiguration(cfg); |
|
|
cf.setConfiguration(cfg); |
|
|
|
|
|
|
|
|
@ -613,9 +610,8 @@ public class CalculatedFieldTest extends AbstractContainerTest { |
|
|
|
|
|
|
|
|
config.setExpression("(T * 9/5) + 32"); |
|
|
config.setExpression("(T * 9/5) + 32"); |
|
|
|
|
|
|
|
|
Output output = new Output(); |
|
|
TimeSeriesOutput output = new TimeSeriesOutput(); |
|
|
output.setName("fahrenheitTemp"); |
|
|
output.setName("fahrenheitTemp"); |
|
|
output.setType(OutputType.TIME_SERIES); |
|
|
|
|
|
output.setDecimalsByDefault(2); |
|
|
output.setDecimalsByDefault(2); |
|
|
config.setOutput(output); |
|
|
config.setOutput(output); |
|
|
|
|
|
|
|
|
@ -647,9 +643,7 @@ public class CalculatedFieldTest extends AbstractContainerTest { |
|
|
|
|
|
|
|
|
config.setExpression(exampleScript); |
|
|
config.setExpression(exampleScript); |
|
|
|
|
|
|
|
|
Output output = new Output(); |
|
|
config.setOutput(new TimeSeriesOutput()); |
|
|
output.setType(OutputType.TIME_SERIES); |
|
|
|
|
|
config.setOutput(output); |
|
|
|
|
|
|
|
|
|
|
|
calculatedField.setConfiguration(config); |
|
|
calculatedField.setConfiguration(config); |
|
|
|
|
|
|
|
|
|