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