From d26c4ce239ccde9f01b878e019506471223561a5 Mon Sep 17 00:00:00 2001 From: Callum Gran <callum.gran@gmail.com> Date: Tue, 26 Apr 2022 14:38:18 +0200 Subject: [PATCH] fixed list of teams to not show duplicates --- src/main/java/edu/ntnu/idatt1002/k1g4/Cup.java | 10 +++++++++- .../k1g4/client/controllers/CupOverviewController.java | 9 ++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/main/java/edu/ntnu/idatt1002/k1g4/Cup.java b/src/main/java/edu/ntnu/idatt1002/k1g4/Cup.java index 229e3cda..8abfd7b7 100644 --- a/src/main/java/edu/ntnu/idatt1002/k1g4/Cup.java +++ b/src/main/java/edu/ntnu/idatt1002/k1g4/Cup.java @@ -282,7 +282,15 @@ public class Cup { */ @Override public String toString() { - int amountOfTeams = divisions.stream().map(n -> n.getCompetingTeams().size()).reduce(0, Integer::sum); + ArrayList<Team> teams = new ArrayList<>(); + for (Division division : divisions) { + for (Team team : division.getCompetingTeams().values()) { + if (!teams.stream().anyMatch(n -> n.getTeamId() == team.getTeamId())) { + teams.add(team); + } + } + } + int amountOfTeams = teams.size(); int amountOfMatches = divisions.stream().map(n -> n.getMatches().size()).reduce(0, Integer::sum); return getName() + " - " + amountOfTeams + " teams - " diff --git a/src/main/java/edu/ntnu/idatt1002/k1g4/client/controllers/CupOverviewController.java b/src/main/java/edu/ntnu/idatt1002/k1g4/client/controllers/CupOverviewController.java index c2b57732..6689fcf1 100644 --- a/src/main/java/edu/ntnu/idatt1002/k1g4/client/controllers/CupOverviewController.java +++ b/src/main/java/edu/ntnu/idatt1002/k1g4/client/controllers/CupOverviewController.java @@ -18,6 +18,7 @@ import javafx.scene.text.Text; import java.net.URL; import java.util.ResourceBundle; +import java.util.function.Predicate; import static edu.ntnu.idatt1002.k1g4.client.Model.*; @@ -192,7 +193,13 @@ public class CupOverviewController implements Initializable { private void initLists(Cup currentCup) { currentCup.getDivisions().forEach(n -> divisionListView.getItems().add(n)); currentCup.getDivisions().forEach(n -> n.getMatches().forEach(m -> matchListView.getItems().add(m))); - currentCup.getDivisions().forEach(n -> n.getCompetingTeams().values().forEach(m -> teamListView.getItems().add(m))); + for (Division division : currentCup.getDivisions()) { + for (Team team : division.getCompetingTeams().values()) { + if (!teamListView.getItems().stream().anyMatch(n -> n.getTeamId() == team.getTeamId())) { + teamListView.getItems().add(team); + } + } + } } /** -- GitLab