From 66c2b44be6c3e1cf29902f97dc129f0cb307ea41 Mon Sep 17 00:00:00 2001 From: Mika Wauben Date: Sat, 13 Apr 2019 10:38:58 +0000 Subject: [PATCH] Merge branch 'master' into 'Update/leaderBoards' # Conflicts: # src/Client/src/main/java/greenify/client/controller/CalculatorController.java # src/Client/src/main/resources/fxml/dashboard.fxml # src/Server/src/main/java/greenify/server/service/CalculatorService.java --- .../src/main/java/greenify/client/Friend.java | 18 +++++++++++- .../controller/DashBoardController.java | 23 +++++++++++---- .../src/main/resources/fxml/dashboard.fxml | 29 ++++++++++--------- src/Client/src/test/java/FriendTest.java | 4 ++- 4 files changed, 54 insertions(+), 20 deletions(-) diff --git a/src/Client/src/main/java/greenify/client/Friend.java b/src/Client/src/main/java/greenify/client/Friend.java index b0282f3..0ec4bf4 100644 --- a/src/Client/src/main/java/greenify/client/Friend.java +++ b/src/Client/src/main/java/greenify/client/Friend.java @@ -1,18 +1,34 @@ package greenify.client; import javafx.beans.property.SimpleDoubleProperty; +import javafx.beans.property.SimpleIntegerProperty; import javafx.beans.property.SimpleStringProperty; public class Friend { + private SimpleIntegerProperty place; private SimpleStringProperty friend; private SimpleDoubleProperty score; - public Friend(String friend, Double friendScore) { + /** + * Constructor for a friend. + * @param place place in the leaderboard + * @param friend name of the user + * @param friendScore score of the user + */ + public Friend(Integer place, String friend, Double friendScore) { + this.place = new SimpleIntegerProperty(place); this.friend = new SimpleStringProperty(friend); this.score = new SimpleDoubleProperty(friendScore); } + public Integer getPlace() { + return place.get(); + } + + public void setPlace(Integer place) { + this.place = new SimpleIntegerProperty(place); + } public String getFriend() { return friend.get(); diff --git a/src/Client/src/main/java/greenify/client/controller/DashBoardController.java b/src/Client/src/main/java/greenify/client/controller/DashBoardController.java index f8c744b..1565bf1 100644 --- a/src/Client/src/main/java/greenify/client/controller/DashBoardController.java +++ b/src/Client/src/main/java/greenify/client/controller/DashBoardController.java @@ -109,18 +109,24 @@ public class DashBoardController { @FXML private TableView globalLeaderboard; @FXML + private TableColumn globalPlace; + @FXML private TableColumn globalUser; @FXML private TableColumn globalScore; @FXML private TableView developmentLeaderboard; @FXML + private TableColumn developmentPlace; + @FXML private TableColumn developmentUser; @FXML private TableColumn developmentScore; @FXML private TableView friendLeaderboard; @FXML + private TableColumn friendPlace; + @FXML private TableColumn friendUser; @FXML private TableColumn friendScore; @@ -239,15 +245,18 @@ public class DashBoardController { logOutButton.setSkin(new MyButtonSkin(logOutButton)); friendsColumn.setCellValueFactory(new PropertyValueFactory<>("Friend")); scoreColumn.setCellValueFactory(new PropertyValueFactory<>("Score")); + globalPlace.setCellValueFactory(new PropertyValueFactory<>("Place")); globalUser.setCellValueFactory(new PropertyValueFactory<>("Friend")); globalScore.setCellValueFactory(new PropertyValueFactory<>("Score")); developmentUser.setCellValueFactory(new PropertyValueFactory<>("Friend")); + developmentPlace.setCellValueFactory(new PropertyValueFactory<>("Place")); developmentScore.setCellValueFactory(new PropertyValueFactory<>("Score")); + friendPlace.setCellValueFactory(new PropertyValueFactory<>("Place")); friendUser.setCellValueFactory(new PropertyValueFactory<>("Friend")); friendScore.setCellValueFactory(new PropertyValueFactory<>("Score")); List friendList = userService.getFriendNames(userService.currentUser.getName()); for (int i = 0; i < friendList.size(); i++) { - Friend friend = new Friend(friendList.get(i), + Friend friend = new Friend(i, friendList.get(i), userService.getFootprint(friendList.get(i))); data.add(friend); } @@ -490,6 +499,9 @@ public class DashBoardController { //development leaderboard developmentLeaderboard.getItems().clear(); developmentData.removeAll(); + //friends leaderboard + friendLeaderboard.getItems().clear(); + friendLeaderData.removeAll(); //load the fxml file Parent dash = Application.load(this.getClass().getClassLoader() @@ -604,14 +616,15 @@ public class DashBoardController { List userList = userService.getAllUsers(); sortScores(userList); for (int i = userList.size() - 1; i >= 0; i--) { - Friend user = new Friend(userList.get(i), userService.getFootprint(userList.get(i))); + Friend user = new Friend(userList.size() - i, userList.get(i), + userService.getFootprint(userList.get(i))); globalLeaderData.add(user); } List secondList = sortDiffScores(userList); for (int j = 0; j < userList.size(); j++) { double diff = Math.round((userService.getFirstFootprint(secondList.get(j)) - userService.getFootprint(secondList.get(j))) * 10) / 10.0; - Friend diffUser = new Friend(secondList.get(j), diff); + Friend diffUser = new Friend(j + 1, secondList.get(j), diff); developmentData.add(diffUser); } globalLeaderboard.setItems(globalLeaderData); @@ -662,14 +675,14 @@ public class DashBoardController { friendLeaderData.removeAll(); sortDiffScores(wholeList); for (int i = friendList.size() - 1; i >= 0 ; i--) { - Friend user = new Friend(friendList.get(i), userService + Friend user = new Friend(i, friendList.get(i), userService .getFootprint(friendList.get(i))); data.add(user); } for (int j = 0; j < wholeList.size(); j++) { double diff = Math.round((userService.getFirstFootprint(wholeList.get(j)) - userService.getFootprint(wholeList.get(j))) * 10) / 10.0; - Friend diffUser = new Friend(wholeList.get(j), diff); + Friend diffUser = new Friend(j + 1, wholeList.get(j), diff); friendLeaderData.add(diffUser); } friendsTable.setItems(data); diff --git a/src/Client/src/main/resources/fxml/dashboard.fxml b/src/Client/src/main/resources/fxml/dashboard.fxml index b8eba11..6a2345a 100644 --- a/src/Client/src/main/resources/fxml/dashboard.fxml +++ b/src/Client/src/main/resources/fxml/dashboard.fxml @@ -451,16 +451,11 @@ - + - - - - - - - - + + +