From 72f7aa3bb2a262fe90157257dc570ddcc06cd6ea Mon Sep 17 00:00:00 2001 From: Volodymyr Babak Date: Fri, 23 Jul 2021 11:48:13 +0300 Subject: [PATCH] Added comparator for loaded mobile dashboard and sort by ID if created time equals --- .../dao/service/BaseDashboardServiceTest.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/dao/src/test/java/org/thingsboard/server/dao/service/BaseDashboardServiceTest.java b/dao/src/test/java/org/thingsboard/server/dao/service/BaseDashboardServiceTest.java index 86bad0b1a0..640a9f615c 100644 --- a/dao/src/test/java/org/thingsboard/server/dao/service/BaseDashboardServiceTest.java +++ b/dao/src/test/java/org/thingsboard/server/dao/service/BaseDashboardServiceTest.java @@ -241,19 +241,26 @@ public abstract class BaseDashboardServiceTest extends AbstractServiceTest { } } while (pageData.hasNext()); - Collections.sort(mobileDashboards, (o1, o2) -> { + Comparator dashboardInfoComparator = (o1, o2) -> { Integer order1 = o1.getMobileOrder(); Integer order2 = o2.getMobileOrder(); if (order1 == null && order2 == null) { - return (int)(o1.getCreatedTime() - o2.getCreatedTime()); + if (o1.getCreatedTime() == o2.getCreatedTime()) { + return o1.getUuidId().compareTo(o2.getUuidId()); + } else { + return (int) (o1.getCreatedTime() - o2.getCreatedTime()); + } } else if (order1 == null && order2 != null) { return 1; - } else if (order2 == null) { + } else if (order2 == null) { return -1; } else { return order1 - order2; } - }); + }; + + Collections.sort(mobileDashboards, dashboardInfoComparator); + Collections.sort(loadedMobileDashboards, dashboardInfoComparator); Assert.assertEquals(mobileDashboards, loadedMobileDashboards);