Browse Source

fix fields config

pull/6984/head
Yuriy Lytvynchuk 4 years ago
parent
commit
e29b91c3e0
  1. 6
      rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/telemetry/TbMsgDeleteAttributes.java
  2. 8
      rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/telemetry/TbMsgDeleteAttributesConfiguration.java
  3. 10
      rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgDeleteAttributesTest.java

6
rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/telemetry/TbMsgDeleteAttributes.java

@ -52,15 +52,15 @@ public class TbMsgDeleteAttributes implements TbNode {
@Override
public void init(TbContext ctx, TbNodeConfiguration configuration) throws TbNodeException {
this.config = TbNodeUtils.convert(configuration, TbMsgDeleteAttributesConfiguration.class);
if (CollectionUtils.isEmpty(config.getKeysPatterns())) {
if (CollectionUtils.isEmpty(config.getKeys())) {
throw new IllegalArgumentException("Attribute keys list is empty!");
}
}
@Override
public void onMsg(TbContext ctx, TbMsg msg) throws ExecutionException, InterruptedException, TbNodeException {
List<String> keysPatterns = config.getKeysPatterns();
String scope = TbNodeUtils.processPattern(config.getScopePattern(), msg);
List<String> keysPatterns = config.getKeys();
String scope = TbNodeUtils.processPattern(config.getScope(), msg);
if (DataConstants.SERVER_SCOPE.equals(scope) ||
DataConstants.CLIENT_SCOPE.equals(scope) ||
DataConstants.SHARED_SCOPE.equals(scope)) {

8
rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/telemetry/TbMsgDeleteAttributesConfiguration.java

@ -25,14 +25,14 @@ import java.util.List;
@Data
public class TbMsgDeleteAttributesConfiguration implements NodeConfiguration<TbMsgDeleteAttributesConfiguration> {
private String scopePattern;
private List<String> keysPatterns;
private String scope;
private List<String> keys;
@Override
public TbMsgDeleteAttributesConfiguration defaultConfiguration() {
TbMsgDeleteAttributesConfiguration configuration = new TbMsgDeleteAttributesConfiguration();
configuration.setScopePattern(DataConstants.SERVER_SCOPE);
configuration.setKeysPatterns(Collections.emptyList());
configuration.setScope(DataConstants.SERVER_SCOPE);
configuration.setKeys(Collections.emptyList());
return configuration;
}
}

10
rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/telemetry/TbMsgDeleteAttributesTest.java

@ -68,7 +68,7 @@ public class TbMsgDeleteAttributesTest {
callback = mock(TbMsgCallback.class);
ctx = mock(TbContext.class);
config = new TbMsgDeleteAttributesConfiguration().defaultConfiguration();
config.setKeysPatterns(List.of("${TestAttribute_1}", "$[TestAttribute_2]", "$[TestAttribute_3]"));
config.setKeys(List.of("${TestAttribute_1}", "$[TestAttribute_2]", "$[TestAttribute_3]"));
nodeConfiguration = new TbNodeConfiguration(mapper.valueToTree(config));
node = spy(new TbMsgDeleteAttributes());
node.init(ctx, nodeConfiguration);
@ -95,7 +95,7 @@ public class TbMsgDeleteAttributesTest {
@Test
void givenDefaultConfig_whenInit_thenFail() {
config.setKeysPatterns(Collections.emptyList());
config.setKeys(Collections.emptyList());
nodeConfiguration = new TbNodeConfiguration(mapper.valueToTree(config));
assertThatThrownBy(() -> node.init(ctx, nodeConfiguration)).isInstanceOf(IllegalArgumentException.class);
}
@ -103,8 +103,8 @@ public class TbMsgDeleteAttributesTest {
@Test
void givenDefaultConfig_whenVerify_thenOK() {
TbMsgDeleteAttributesConfiguration defaultConfig = new TbMsgDeleteAttributesConfiguration().defaultConfiguration();
assertThat(defaultConfig.getScopePattern()).isEqualTo(DataConstants.SERVER_SCOPE);
assertThat(defaultConfig.getKeysPatterns()).isEqualTo(Collections.emptyList());
assertThat(defaultConfig.getScope()).isEqualTo(DataConstants.SERVER_SCOPE);
assertThat(defaultConfig.getKeys()).isEqualTo(Collections.emptyList());
}
@Test
@ -130,7 +130,7 @@ public class TbMsgDeleteAttributesTest {
final TbMsgMetaData metaData = new TbMsgMetaData();
final String data = "{}";
config.setScopePattern("INVALID_SCOPE");
config.setScope("INVALID_SCOPE");
nodeConfiguration = new TbNodeConfiguration(mapper.valueToTree(config));
node.init(ctx, nodeConfiguration);

Loading…
Cancel
Save