From 44fdf2dbe1963111ddb57d495b00389b4b7bd965 Mon Sep 17 00:00:00 2001 From: Mathieu-bot Date: Mon, 6 Jul 2026 19:00:35 +0300 Subject: [PATCH 1/3] refactor: remove 5 duplicate dependencies in build.gradle --- build.gradle | 5 ----- 1 file changed, 5 deletions(-) diff --git a/build.gradle b/build.gradle index 8718a61..9f8726e 100644 --- a/build.gradle +++ b/build.gradle @@ -153,11 +153,6 @@ dependencies { testImplementation 'org.testcontainers:testcontainers-junit-jupiter:2.0.2' testImplementation 'org.junit-pioneer:junit-pioneer:2.2.0' -implementation 'software.amazon.awssdk:s3:2.21.40' -implementation 'software.amazon.awssdk:s3-transfer-manager:2.21.40' -implementation 'org.springframework.boot:spring-boot-starter-data-jpa:3.2.2' -implementation 'org.flywaydb:flyway-core:9.22.3' -implementation 'org.postgresql:postgresql:42.6.0' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity6' implementation 'org.springframework.boot:spring-boot-starter-security' From ba2c35dbd6af5587f23d36fc2e979f2095311802 Mon Sep 17 00:00:00 2001 From: Mathieu-bot Date: Mon, 6 Jul 2026 19:04:29 +0300 Subject: [PATCH 2/3] refactor: replace Math.toIntExact with safe cast in ClubService --- src/main/java/school/hei/klioba/service/ClubService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/school/hei/klioba/service/ClubService.java b/src/main/java/school/hei/klioba/service/ClubService.java index 4cd3274..7ee9022 100644 --- a/src/main/java/school/hei/klioba/service/ClubService.java +++ b/src/main/java/school/hei/klioba/service/ClubService.java @@ -50,7 +50,7 @@ private ClubStats computeStats(Club club) { club.getId(), club.getName(), totalCotisations, - Math.toIntExact(members), + (int) Math.min(members, Integer.MAX_VALUE), totalCotisations - expenses, club.isActive()); } From e14bce1a58d0466349eac88b6332e8b8f04f18b9 Mon Sep 17 00:00:00 2001 From: Mathieu-bot Date: Mon, 6 Jul 2026 19:06:52 +0300 Subject: [PATCH 3/3] refactor: merge 4 streams into single loop in dashboard() --- .../klioba/endpoint/http/KliobaController.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main/java/school/hei/klioba/endpoint/http/KliobaController.java b/src/main/java/school/hei/klioba/endpoint/http/KliobaController.java index 46a7576..8a6757b 100644 --- a/src/main/java/school/hei/klioba/endpoint/http/KliobaController.java +++ b/src/main/java/school/hei/klioba/endpoint/http/KliobaController.java @@ -38,11 +38,16 @@ public String home() { @GetMapping("/dashboard") public String dashboard(Authentication authentication, Model model) { var clubs = clubService.getAllClubStats(); - int totalCotisations = clubs.stream().mapToInt(ClubService.ClubStats::totalCotisations).sum(); - int totalDepenses = - clubs.stream().mapToInt(c -> c.totalCotisations() - c.remainingFund()).sum(); - int totalRemaining = clubs.stream().mapToInt(ClubService.ClubStats::remainingFund).sum(); - int totalMembers = clubs.stream().mapToInt(ClubService.ClubStats::members).sum(); + int totalCotisations = 0; + int totalDepenses = 0; + int totalRemaining = 0; + int totalMembers = 0; + for (var c : clubs) { + totalCotisations += c.totalCotisations(); + totalDepenses += c.totalCotisations() - c.remainingFund(); + totalRemaining += c.remainingFund(); + totalMembers += c.members(); + } model.addAttribute("clubs", clubs); model.addAttribute("totalCotisations", totalCotisations); model.addAttribute("totalDepenses", totalDepenses);