// We use copy on write lists to safely pass the reference to another actor for the iteration.
@ -456,7 +456,7 @@ public class CalculatedFieldManagerMessageProcessor extends AbstractContextAware
try{
newCfCtx.init();
}catch(Exceptione){
throwCalculatedFieldException.builder().ctx(newCfCtx).eventEntity(newCfCtx.getEntityId()).cause(e).errorMessage("Failed to initialize CF context").build();
@ -387,7 +387,7 @@ public class CalculatedFieldCtx implements Closeable {
tbelExpressions.put(expression,engine);
}catch(Exceptione){
initialized=false;
thrownewRuntimeException("Failed to init calculated field ctx. Invalid expression syntax.",e);
thrownewRuntimeException("Failed to initialize CF context. The script expression is invalid. Please check for syntax errors or unsupported functions.",e);
}
}
@ -404,7 +404,7 @@ public class CalculatedFieldCtx implements Closeable {
thrownewRuntimeException("Failed to init calculated field ctx. Invalid expression syntax.");
thrownewRuntimeException("Failed to initialize CF context. The expression has invalid syntax or unknown variables. Ensure all mathematical operators are correct.");
StringPROFILE_ASSET_ID_INFO_QUERY=String.format("SELECT tenant_id as tenantId, customer_id as customerId, asset_profile_id as profileId, id as id FROM asset WHERE tenant_id = '%s' ORDER BY created_time ASC LIMIT %%s OFFSET %%s",tenantId);
StringPROFILE_DEVICE_ID_INFO_QUERY=String.format("SELECT tenant_id as tenantId, customer_id as customerId, device_profile_id as profileId, id as id FROM device WHERE tenant_id = '%s' ORDER BY created_time ASC LIMIT %%s OFFSET %%s",tenantId);