diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbCopyKeysNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbCopyKeysNode.java index a9de122bfc..4612430f50 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbCopyKeysNode.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbCopyKeysNode.java @@ -29,8 +29,8 @@ import org.thingsboard.server.common.data.plugin.ComponentType; import org.thingsboard.server.common.msg.TbMsg; import org.thingsboard.server.common.msg.TbMsgMetaData; -import java.util.List; import java.util.Map; +import java.util.Set; import java.util.concurrent.ExecutionException; import java.util.regex.Pattern; @@ -58,7 +58,7 @@ public class TbCopyKeysNode implements TbNode { @Override public void onMsg(TbContext ctx, TbMsg msg) throws ExecutionException, InterruptedException, TbNodeException { - List keys = config.getKeys(); + Set keys = config.getKeys(); TbMsgMetaData metaData = msg.getMetaData(); String msgData = msg.getData(); JsonNode dataNode = JacksonUtil.toJsonNode(msgData); diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbCopyKeysNodeConfiguration.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbCopyKeysNodeConfiguration.java index 5e747fdd30..b56a181fa6 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbCopyKeysNodeConfiguration.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbCopyKeysNodeConfiguration.java @@ -19,18 +19,18 @@ import lombok.Data; import org.thingsboard.rule.engine.api.NodeConfiguration; import java.util.Collections; -import java.util.List; +import java.util.Set; @Data public class TbCopyKeysNodeConfiguration implements NodeConfiguration { private boolean fromMetadata; - private List keys; + private Set keys; @Override public TbCopyKeysNodeConfiguration defaultConfiguration() { TbCopyKeysNodeConfiguration configuration = new TbCopyKeysNodeConfiguration(); - configuration.setKeys(Collections.emptyList()); + configuration.setKeys(Collections.emptySet()); configuration.setFromMetadata(false); return configuration; } diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbCopyKeysNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbCopyKeysNodeTest.java index 5a7147b65d..65739d6ff5 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbCopyKeysNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/transform/TbCopyKeysNodeTest.java @@ -32,8 +32,8 @@ import org.thingsboard.server.common.msg.TbMsgMetaData; import org.thingsboard.server.common.msg.queue.TbMsgCallback; import java.util.Collections; -import java.util.List; import java.util.Map; +import java.util.Set; import java.util.UUID; import static org.assertj.core.api.Assertions.assertThat; @@ -60,7 +60,7 @@ public class TbCopyKeysNodeTest { callback = mock(TbMsgCallback.class); ctx = mock(TbContext.class); config = new TbCopyKeysNodeConfiguration().defaultConfiguration(); - config.setKeys(List.of("TestKey_1", "TestKey_2", "TestKey_3", "(\\w*)Data(\\w*)")); + config.setKeys(Set.of("TestKey_1", "TestKey_2", "TestKey_3", "(\\w*)Data(\\w*)")); config.setFromMetadata(true); nodeConfiguration = new TbNodeConfiguration(mapper.valueToTree(config)); node = spy(new TbCopyKeysNode()); @@ -80,7 +80,7 @@ public class TbCopyKeysNodeTest { @Test void givenDefaultConfig_whenVerify_thenOK() { TbCopyKeysNodeConfiguration defaultConfig = new TbCopyKeysNodeConfiguration().defaultConfiguration(); - assertThat(defaultConfig.getKeys()).isEqualTo(Collections.emptyList()); + assertThat(defaultConfig.getKeys()).isEqualTo(Collections.emptySet()); assertThat(defaultConfig.isFromMetadata()).isEqualTo(false); }