From e25170a38fe597a44b73e49b31dd5e3a30e5b827 Mon Sep 17 00:00:00 2001 From: Alex Date: Thu, 19 Sep 2024 17:55:31 +0100 Subject: [PATCH 1/2] fix: Fix for slow counting of org units for search results. Org units were retrieved from d2 and then counted, but can be counted in d2 and then the number retrieved instead. This solves long load times for programs with large number of TEIs and org units. --- .../dhis2/usescases/searchTrackEntity/SearchRepositoryImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/org/dhis2/usescases/searchTrackEntity/SearchRepositoryImpl.java b/app/src/main/java/org/dhis2/usescases/searchTrackEntity/SearchRepositoryImpl.java index 72633ee737..6ea886bd04 100644 --- a/app/src/main/java/org/dhis2/usescases/searchTrackEntity/SearchRepositoryImpl.java +++ b/app/src/main/java/org/dhis2/usescases/searchTrackEntity/SearchRepositoryImpl.java @@ -937,6 +937,6 @@ public boolean canCreateInProgramWithoutSearch() { private boolean displayOrgUnit() { return d2.organisationUnitModule().organisationUnits() .byProgramUids(Collections.singletonList(currentProgram)) - .blockingGet().size() > 1; + .count().blockingGet() > 1; } } From c4fbb993421526f96bf1e66f38b5d5fac71769fe Mon Sep 17 00:00:00 2001 From: Alex Date: Fri, 20 Sep 2024 14:43:50 +0100 Subject: [PATCH 2/2] More idiomatic counting of org units in TEI search results --- .../dhis2/usescases/searchTrackEntity/SearchRepositoryImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/org/dhis2/usescases/searchTrackEntity/SearchRepositoryImpl.java b/app/src/main/java/org/dhis2/usescases/searchTrackEntity/SearchRepositoryImpl.java index 6ea886bd04..624bfd6123 100644 --- a/app/src/main/java/org/dhis2/usescases/searchTrackEntity/SearchRepositoryImpl.java +++ b/app/src/main/java/org/dhis2/usescases/searchTrackEntity/SearchRepositoryImpl.java @@ -937,6 +937,6 @@ public boolean canCreateInProgramWithoutSearch() { private boolean displayOrgUnit() { return d2.organisationUnitModule().organisationUnits() .byProgramUids(Collections.singletonList(currentProgram)) - .count().blockingGet() > 1; + .blockingCount() > 1; } }