From 1b0b10a15aa15fa0204f26fc4d10f1138b91ac47 Mon Sep 17 00:00:00 2001 From: Oleksandra Matviienko Date: Wed, 5 Feb 2025 14:45:00 +0100 Subject: [PATCH 1/3] Usage of long refactored to int in LinkedHashMapRemoveEldest class Signed-off-by: Oleksandra Matviienko --- .../server/actors/ActorSystemContext.java | 2 +- .../common/util/LinkedHashMapRemoveEldest.java | 4 ++-- .../common/util/LinkedHashMapRemoveEldestTest.java | 14 +++++++------- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/application/src/main/java/org/thingsboard/server/actors/ActorSystemContext.java b/application/src/main/java/org/thingsboard/server/actors/ActorSystemContext.java index 1c18a31f68..b13cf8e490 100644 --- a/application/src/main/java/org/thingsboard/server/actors/ActorSystemContext.java +++ b/application/src/main/java/org/thingsboard/server/actors/ActorSystemContext.java @@ -489,7 +489,7 @@ public class ActorSystemContext { @Value("${actors.session.max_concurrent_sessions_per_device:1}") @Getter - private long maxConcurrentSessionsPerDevice; + private int maxConcurrentSessionsPerDevice; @Value("${actors.session.sync.timeout:10000}") @Getter diff --git a/common/util/src/main/java/org/thingsboard/common/util/LinkedHashMapRemoveEldest.java b/common/util/src/main/java/org/thingsboard/common/util/LinkedHashMapRemoveEldest.java index 99f766d4f6..9798706d32 100644 --- a/common/util/src/main/java/org/thingsboard/common/util/LinkedHashMapRemoveEldest.java +++ b/common/util/src/main/java/org/thingsboard/common/util/LinkedHashMapRemoveEldest.java @@ -34,10 +34,10 @@ import java.util.function.BiConsumer; @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) public class LinkedHashMapRemoveEldest extends LinkedHashMap { - final long maxEntries; + final int maxEntries; final BiConsumer removalConsumer; - public LinkedHashMapRemoveEldest(long maxEntries, BiConsumer removalConsumer) { + public LinkedHashMapRemoveEldest(int maxEntries, BiConsumer removalConsumer) { this.maxEntries = maxEntries; this.removalConsumer = removalConsumer; } diff --git a/common/util/src/test/java/org/thingsboard/common/util/LinkedHashMapRemoveEldestTest.java b/common/util/src/test/java/org/thingsboard/common/util/LinkedHashMapRemoveEldestTest.java index e52dd895a0..277c9a95c9 100644 --- a/common/util/src/test/java/org/thingsboard/common/util/LinkedHashMapRemoveEldestTest.java +++ b/common/util/src/test/java/org/thingsboard/common/util/LinkedHashMapRemoveEldestTest.java @@ -27,10 +27,10 @@ import static org.hamcrest.MatcherAssert.assertThat; public class LinkedHashMapRemoveEldestTest { - public static final long MAX_ENTRIES = 10L; - long removeCount = 0; + public static final int MAX_ENTRIES = 10; + int removeCount = 0; - void removalConsumer(Long id, String name) { + void removalConsumer(Integer id, String name) { removeCount++; assertThat(id, is(Matchers.lessThan(MAX_ENTRIES))); assertThat(name, is(id.toString())); @@ -39,7 +39,7 @@ public class LinkedHashMapRemoveEldestTest { @Test public void givenMap_whenOverSized_thenVerifyRemovedEldest() { //given - LinkedHashMapRemoveEldest map = + LinkedHashMapRemoveEldest map = new LinkedHashMapRemoveEldest<>(MAX_ENTRIES, this::removalConsumer); assertThat(map.getMaxEntries(), is(MAX_ENTRIES)); @@ -49,14 +49,14 @@ public class LinkedHashMapRemoveEldestTest { assertThat(map.size(), is(0)); //when - for (long i = 0; i < MAX_ENTRIES * 2; i++) { + for (int i = 0; i < MAX_ENTRIES * 2; i++) { map.put(i, String.valueOf(i)); } //then - assertThat((long) map.size(), is(MAX_ENTRIES)); + assertThat( map.size(), is(MAX_ENTRIES)); assertThat(removeCount, is(MAX_ENTRIES)); - for (long i = MAX_ENTRIES; i < MAX_ENTRIES * 2; i++) { + for (int i = MAX_ENTRIES; i < MAX_ENTRIES * 2; i++) { assertThat(map.get(i), is(String.valueOf(i))); } } From 605fa385c993551f2049a5dd1899e8e3d7059718 Mon Sep 17 00:00:00 2001 From: Oleksandra Matviienko Date: Wed, 26 Feb 2025 12:11:12 +0100 Subject: [PATCH 2/3] Tests are fixed Signed-off-by: Oleksandra Matviienko --- .../server/actors/device/DeviceActorMessageProcessorTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/application/src/test/java/org/thingsboard/server/actors/device/DeviceActorMessageProcessorTest.java b/application/src/test/java/org/thingsboard/server/actors/device/DeviceActorMessageProcessorTest.java index 4f571d4fe6..8408f9868f 100644 --- a/application/src/test/java/org/thingsboard/server/actors/device/DeviceActorMessageProcessorTest.java +++ b/application/src/test/java/org/thingsboard/server/actors/device/DeviceActorMessageProcessorTest.java @@ -49,7 +49,7 @@ public class DeviceActorMessageProcessorTest { public void setUp() { systemContext = mock(ActorSystemContext.class); deviceService = mock(DeviceService.class); - willReturn((long)MAX_CONCURRENT_SESSIONS_PER_DEVICE).given(systemContext).getMaxConcurrentSessionsPerDevice(); + willReturn(MAX_CONCURRENT_SESSIONS_PER_DEVICE).given(systemContext).getMaxConcurrentSessionsPerDevice(); willReturn(deviceService).given(systemContext).getDeviceService(); processor = new DeviceActorMessageProcessor(systemContext, tenantId, deviceId); willReturn(mock(TbCoreToTransportService.class)).given(systemContext).getTbCoreToTransportService(); @@ -58,7 +58,7 @@ public class DeviceActorMessageProcessorTest { @Test public void givenSystemContext_whenNewInstance_thenVerifySessionMapMaxSize() { assertThat(processor.sessions, instanceOf(LinkedHashMapRemoveEldest.class)); - assertThat(processor.sessions.getMaxEntries(), is((long)MAX_CONCURRENT_SESSIONS_PER_DEVICE)); + assertThat(processor.sessions.getMaxEntries(), is(MAX_CONCURRENT_SESSIONS_PER_DEVICE)); assertThat(processor.sessions.getRemovalConsumer(), notNullValue()); } From 6d565b4ccbd49dcee758c1a25396f1e63b65c68d Mon Sep 17 00:00:00 2001 From: Andrii Landiak Date: Wed, 12 Mar 2025 12:27:20 +0200 Subject: [PATCH 3/3] Fix method getEntityDataInfo in VersionController --- .../service/sync/vc/DefaultEntitiesVersionControlService.java | 3 +-- .../thingsboard/server/common/data/sync/vc/EntityDataInfo.java | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/application/src/main/java/org/thingsboard/server/service/sync/vc/DefaultEntitiesVersionControlService.java b/application/src/main/java/org/thingsboard/server/service/sync/vc/DefaultEntitiesVersionControlService.java index 8ef6465d4b..3029e0be70 100644 --- a/application/src/main/java/org/thingsboard/server/service/sync/vc/DefaultEntitiesVersionControlService.java +++ b/application/src/main/java/org/thingsboard/server/service/sync/vc/DefaultEntitiesVersionControlService.java @@ -500,10 +500,9 @@ public class DefaultEntitiesVersionControlService implements EntitiesVersionCont @Override public ListenableFuture getEntityDataInfo(User user, EntityId entityId, String versionId) { return Futures.transform(gitServiceQueue.getEntity(user.getTenantId(), versionId, entityId), - entity -> new EntityDataInfo(entity.hasRelations(), entity.hasAttributes(), entity.hasCredentials()), MoreExecutors.directExecutor()); + entity -> new EntityDataInfo(entity.hasRelations(), entity.hasAttributes(), entity.hasCredentials(), entity.hasCalculatedFields()), MoreExecutors.directExecutor()); } - @Override public ListenableFuture> listBranches(TenantId tenantId) { return gitServiceQueue.listBranches(tenantId); diff --git a/common/data/src/main/java/org/thingsboard/server/common/data/sync/vc/EntityDataInfo.java b/common/data/src/main/java/org/thingsboard/server/common/data/sync/vc/EntityDataInfo.java index 0b8f392472..d55a575a75 100644 --- a/common/data/src/main/java/org/thingsboard/server/common/data/sync/vc/EntityDataInfo.java +++ b/common/data/src/main/java/org/thingsboard/server/common/data/sync/vc/EntityDataInfo.java @@ -26,4 +26,5 @@ public class EntityDataInfo { boolean hasRelations; boolean hasAttributes; boolean hasCredentials; + boolean hasCalculatedFields; }