Save time series strategies: use @NotNull annotation instead of manual check
This commit is contained in:
parent
39e47cd484
commit
148521eddf
@ -89,9 +89,6 @@ public class TbMsgTimeseriesNode implements TbNode {
|
|||||||
ctx.addTenantProfileListener(this::onTenantProfileUpdate);
|
ctx.addTenantProfileListener(this::onTenantProfileUpdate);
|
||||||
onTenantProfileUpdate(ctx.getTenantProfile());
|
onTenantProfileUpdate(ctx.getTenantProfile());
|
||||||
persistenceSettings = config.getPersistenceSettings();
|
persistenceSettings = config.getPersistenceSettings();
|
||||||
if (persistenceSettings == null) {
|
|
||||||
throw new TbNodeException("Persistence settings cannot be null", true);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onTenantProfileUpdate(TenantProfile tenantProfile) {
|
private void onTenantProfileUpdate(TenantProfile tenantProfile) {
|
||||||
|
|||||||
@ -20,6 +20,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
|
|||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
import com.fasterxml.jackson.annotation.JsonSubTypes;
|
import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import org.thingsboard.rule.engine.api.NodeConfiguration;
|
import org.thingsboard.rule.engine.api.NodeConfiguration;
|
||||||
@ -37,6 +38,7 @@ public class TbMsgTimeseriesNodeConfiguration implements NodeConfiguration<TbMsg
|
|||||||
|
|
||||||
private long defaultTTL;
|
private long defaultTTL;
|
||||||
private boolean useServerTs;
|
private boolean useServerTs;
|
||||||
|
@NotNull
|
||||||
private PersistenceSettings persistenceSettings;
|
private PersistenceSettings persistenceSettings;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -49,6 +49,8 @@ import org.thingsboard.server.common.data.tenant.profile.DefaultTenantProfileCon
|
|||||||
import org.thingsboard.server.common.data.tenant.profile.TenantProfileData;
|
import org.thingsboard.server.common.data.tenant.profile.TenantProfileData;
|
||||||
import org.thingsboard.server.common.msg.TbMsg;
|
import org.thingsboard.server.common.msg.TbMsg;
|
||||||
import org.thingsboard.server.common.msg.TbMsgMetaData;
|
import org.thingsboard.server.common.msg.TbMsgMetaData;
|
||||||
|
import org.thingsboard.server.dao.exception.DataValidationException;
|
||||||
|
import org.thingsboard.server.dao.service.ConstraintValidator;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -122,15 +124,14 @@ public class TbMsgTimeseriesNodeTest extends AbstractRuleNodeUpgradeTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void givenPersistenceSettingsAreNull_whenInit_thenThrowsException() {
|
public void givenPersistenceSettingsAreNull_whenValidatingConstraints_thenThrowsException() {
|
||||||
// GIVEN
|
// GIVEN
|
||||||
config.setPersistenceSettings(null);
|
config.setPersistenceSettings(null);
|
||||||
|
|
||||||
// WHEN-THEN
|
// WHEN-THEN
|
||||||
assertThatThrownBy(() -> node.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(config))))
|
assertThatThrownBy(() -> ConstraintValidator.validateFields(config))
|
||||||
.isInstanceOf(TbNodeException.class)
|
.isInstanceOf(DataValidationException.class)
|
||||||
.matches(e -> ((TbNodeException) e).isUnrecoverable())
|
.hasMessage("Validation error: persistenceSettings must not be null");
|
||||||
.hasMessage("Persistence settings cannot be null");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ParameterizedTest
|
@ParameterizedTest
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user