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 @Override
public void init(TbContext ctx, TbNodeConfiguration configuration) throws TbNodeException { public void init(TbContext ctx, TbNodeConfiguration configuration) throws TbNodeException {
this.config = TbNodeUtils.convert(configuration, TbMsgDeleteAttributesConfiguration.class); 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!"); throw new IllegalArgumentException("Attribute keys list is empty!");
} }
} }
@Override @Override
public void onMsg(TbContext ctx, TbMsg msg) throws ExecutionException, InterruptedException, TbNodeException { public void onMsg(TbContext ctx, TbMsg msg) throws ExecutionException, InterruptedException, TbNodeException {
List<String> keysPatterns = config.getKeysPatterns(); List<String> keysPatterns = config.getKeys();
String scope = TbNodeUtils.processPattern(config.getScopePattern(), msg); String scope = TbNodeUtils.processPattern(config.getScope(), msg);
if (DataConstants.SERVER_SCOPE.equals(scope) || if (DataConstants.SERVER_SCOPE.equals(scope) ||
DataConstants.CLIENT_SCOPE.equals(scope) || DataConstants.CLIENT_SCOPE.equals(scope) ||
DataConstants.SHARED_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 @Data
public class TbMsgDeleteAttributesConfiguration implements NodeConfiguration<TbMsgDeleteAttributesConfiguration> { public class TbMsgDeleteAttributesConfiguration implements NodeConfiguration<TbMsgDeleteAttributesConfiguration> {
private String scopePattern; private String scope;
private List<String> keysPatterns; private List<String> keys;
@Override @Override
public TbMsgDeleteAttributesConfiguration defaultConfiguration() { public TbMsgDeleteAttributesConfiguration defaultConfiguration() {
TbMsgDeleteAttributesConfiguration configuration = new TbMsgDeleteAttributesConfiguration(); TbMsgDeleteAttributesConfiguration configuration = new TbMsgDeleteAttributesConfiguration();
configuration.setScopePattern(DataConstants.SERVER_SCOPE); configuration.setScope(DataConstants.SERVER_SCOPE);
configuration.setKeysPatterns(Collections.emptyList()); configuration.setKeys(Collections.emptyList());
return configuration; 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); callback = mock(TbMsgCallback.class);
ctx = mock(TbContext.class); ctx = mock(TbContext.class);
config = new TbMsgDeleteAttributesConfiguration().defaultConfiguration(); 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)); nodeConfiguration = new TbNodeConfiguration(mapper.valueToTree(config));
node = spy(new TbMsgDeleteAttributes()); node = spy(new TbMsgDeleteAttributes());
node.init(ctx, nodeConfiguration); node.init(ctx, nodeConfiguration);
@ -95,7 +95,7 @@ public class TbMsgDeleteAttributesTest {
@Test @Test
void givenDefaultConfig_whenInit_thenFail() { void givenDefaultConfig_whenInit_thenFail() {
config.setKeysPatterns(Collections.emptyList()); config.setKeys(Collections.emptyList());
nodeConfiguration = new TbNodeConfiguration(mapper.valueToTree(config)); nodeConfiguration = new TbNodeConfiguration(mapper.valueToTree(config));
assertThatThrownBy(() -> node.init(ctx, nodeConfiguration)).isInstanceOf(IllegalArgumentException.class); assertThatThrownBy(() -> node.init(ctx, nodeConfiguration)).isInstanceOf(IllegalArgumentException.class);
} }
@ -103,8 +103,8 @@ public class TbMsgDeleteAttributesTest {
@Test @Test
void givenDefaultConfig_whenVerify_thenOK() { void givenDefaultConfig_whenVerify_thenOK() {
TbMsgDeleteAttributesConfiguration defaultConfig = new TbMsgDeleteAttributesConfiguration().defaultConfiguration(); TbMsgDeleteAttributesConfiguration defaultConfig = new TbMsgDeleteAttributesConfiguration().defaultConfiguration();
assertThat(defaultConfig.getScopePattern()).isEqualTo(DataConstants.SERVER_SCOPE); assertThat(defaultConfig.getScope()).isEqualTo(DataConstants.SERVER_SCOPE);
assertThat(defaultConfig.getKeysPatterns()).isEqualTo(Collections.emptyList()); assertThat(defaultConfig.getKeys()).isEqualTo(Collections.emptyList());
} }
@Test @Test
@ -130,7 +130,7 @@ public class TbMsgDeleteAttributesTest {
final TbMsgMetaData metaData = new TbMsgMetaData(); final TbMsgMetaData metaData = new TbMsgMetaData();
final String data = "{}"; final String data = "{}";
config.setScopePattern("INVALID_SCOPE"); config.setScope("INVALID_SCOPE");
nodeConfiguration = new TbNodeConfiguration(mapper.valueToTree(config)); nodeConfiguration = new TbNodeConfiguration(mapper.valueToTree(config));
node.init(ctx, nodeConfiguration); node.init(ctx, nodeConfiguration);

Loading…
Cancel
Save