From 46005a957a2f91e6a104d5b2459146f89d40c873 Mon Sep 17 00:00:00 2001 From: dashevchenko Date: Wed, 19 Feb 2025 14:46:39 +0200 Subject: [PATCH] fixed test --- .../thingsboard/server/service/edqs/EdqsSyncService.java | 2 +- .../server/common/data/edqs/fields/TenantFields.java | 5 +++++ .../org/thingsboard/server/edqs/util/RepositoryUtils.java | 6 ++++-- .../thingsboard/server/edqs/repo/RepositoryUtilsTest.java | 4 ++-- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/application/src/main/java/org/thingsboard/server/service/edqs/EdqsSyncService.java b/application/src/main/java/org/thingsboard/server/service/edqs/EdqsSyncService.java index 80aeee8635..8bfa16c95a 100644 --- a/application/src/main/java/org/thingsboard/server/service/edqs/EdqsSyncService.java +++ b/application/src/main/java/org/thingsboard/server/service/edqs/EdqsSyncService.java @@ -166,7 +166,7 @@ public abstract class EdqsSyncService { if (entityIdInfo != null) { process(entityIdInfo.tenantId(), RELATION, relation.toData()); } else { - log.info("Relation from entity not found: " + relation.getFromId()); + log.info("Relation from id not found: {} ", relation); } } } diff --git a/common/data/src/main/java/org/thingsboard/server/common/data/edqs/fields/TenantFields.java b/common/data/src/main/java/org/thingsboard/server/common/data/edqs/fields/TenantFields.java index 6942d5ea7b..b86b36c1cd 100644 --- a/common/data/src/main/java/org/thingsboard/server/common/data/edqs/fields/TenantFields.java +++ b/common/data/src/main/java/org/thingsboard/server/common/data/edqs/fields/TenantFields.java @@ -59,4 +59,9 @@ public class TenantFields extends AbstractEntityFields { public TenantFields(UUID id, Long version) { super(id, 0L, null, version); } + + @Override + public UUID getTenantId() { + return getId(); + } } diff --git a/common/edqs/src/main/java/org/thingsboard/server/edqs/util/RepositoryUtils.java b/common/edqs/src/main/java/org/thingsboard/server/edqs/util/RepositoryUtils.java index e82c8d8b94..331677e6b2 100644 --- a/common/edqs/src/main/java/org/thingsboard/server/edqs/util/RepositoryUtils.java +++ b/common/edqs/src/main/java/org/thingsboard/server/edqs/util/RepositoryUtils.java @@ -207,11 +207,13 @@ public class RepositoryUtils { default -> throw new IllegalStateException(); }; } - DataPoint dp = entity.getDataPoint(keyFilter.key(), null); + DataKey dataKey = keyFilter.key(); + DataPoint dp = entity.getDataPoint(dataKey, null); boolean checkResult = switch (valueType) { case STRING -> { String str = dp != null ? dp.valueToString() : null; - yield str != null && checkKeyFilter(str, keyFilter.predicate()); + yield (dataKey.type() == EntityKeyType.ENTITY_FIELD) ? (str == null || checkKeyFilter(str, keyFilter.predicate())) : + (str != null && checkKeyFilter(str, keyFilter.predicate())); } case BOOLEAN -> { Boolean booleanValue = dp != null ? dp.getBool() : null; diff --git a/edqs/src/test/java/org/thingsboard/server/edqs/repo/RepositoryUtilsTest.java b/edqs/src/test/java/org/thingsboard/server/edqs/repo/RepositoryUtilsTest.java index 1562978a15..48a72a9cc6 100644 --- a/edqs/src/test/java/org/thingsboard/server/edqs/repo/RepositoryUtilsTest.java +++ b/edqs/src/test/java/org/thingsboard/server/edqs/repo/RepositoryUtilsTest.java @@ -54,7 +54,7 @@ import static org.assertj.core.api.Assertions.assertThat; public class RepositoryUtilsTest { private static Stream deviceNameFilters() { - return Stream.of(Arguments.of(null, getNameFilter(StringOperation.STARTS_WITH, "lora"), false), + return Stream.of(Arguments.of(null, getNameFilter(StringOperation.STARTS_WITH, "lora"), true), Arguments.of("loranet device 123", getNameFilter(StringOperation.STARTS_WITH, "lora"), true), Arguments.of("loranet 123", getNameFilter(StringOperation.STARTS_WITH, "ra"), false), Arguments.of("loranet 123", getNameFilter(StringOperation.ENDS_WITH, "123"), true), @@ -132,7 +132,7 @@ public class RepositoryUtilsTest { } private static Stream deviceNameComplexFilters() { - return Stream.of(Arguments.of(null, List.of(getComplexComplexDeviceNameFilter(StringOperation.STARTS_WITH, "lo", ComplexOperation.AND, StringOperation.ENDS_WITH, "123")), false), + return Stream.of(Arguments.of(null, List.of(getComplexComplexDeviceNameFilter(StringOperation.STARTS_WITH, "lo", ComplexOperation.AND, StringOperation.ENDS_WITH, "123")), true), Arguments.of("loranet 123", List.of(getComplexComplexDeviceNameFilter(StringOperation.STARTS_WITH, "lo", ComplexOperation.AND, StringOperation.ENDS_WITH, "123")), true), Arguments.of("loranet 123", List.of(getComplexComplexDeviceNameFilter(StringOperation.STARTS_WITH, "lo", ComplexOperation.AND, StringOperation.ENDS_WITH, "124")), false), Arguments.of("loranet 123", List.of(getComplexComplexDeviceNameFilter(StringOperation.STARTS_WITH, "lo", ComplexOperation.OR, StringOperation.STARTS_WITH, "net")), true),