diff --git a/doc/reports/checkstyle/20190408_checkstyle.jpg b/doc/reports/checkstyle/20190408_checkstyle.jpg new file mode 100644 index 0000000..46d022c Binary files /dev/null and b/doc/reports/checkstyle/20190408_checkstyle.jpg differ diff --git a/doc/reports/checkstyle/README.md b/doc/reports/checkstyle/README.md deleted file mode 100644 index 817bd34..0000000 --- a/doc/reports/checkstyle/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Checkstyle folder - -At the end of the week, please commit a readable screenshot that shows the Checkstyle results. -Make sure that the file follows the naming convention; `20190213_checkstyle.xyz` for February 13th. -`.xyz` can be either `.jpg` or `.png`. \ No newline at end of file diff --git a/doc/reports/coverage/20190408_coverage.jpg b/doc/reports/coverage/20190408_coverage.jpg new file mode 100644 index 0000000..6c7ceac Binary files /dev/null and b/doc/reports/coverage/20190408_coverage.jpg differ diff --git a/doc/reports/sprint-reviews/20190408_sprint_review.md b/doc/reports/sprint-reviews/20190408_sprint_review.md new file mode 100644 index 0000000..ee558e0 --- /dev/null +++ b/doc/reports/sprint-reviews/20190408_sprint_review.md @@ -0,0 +1,14 @@ + +# Sprint Review + +## Main problems Encountered + +### Problem 1: + +## Adjustments from previous sprints +There were no big problems this week. We made some last minute changes and added some extra features. Next week we're going to focus on our other exams, so we're +not really working on the project anymore. + +## Adjustments for next sprint + + diff --git a/doc/sprints/sprint6/20190408_scrumboard.png b/doc/sprints/sprint6/20190408_scrumboard.png new file mode 100644 index 0000000..ef3e111 Binary files /dev/null and b/doc/sprints/sprint6/20190408_scrumboard.png differ diff --git a/doc/sprints/sprint6/retrospective_sprint6.pdf b/doc/sprints/sprint6/retrospective_sprint6.pdf new file mode 100644 index 0000000..a29b9eb Binary files /dev/null and b/doc/sprints/sprint6/retrospective_sprint6.pdf differ diff --git a/doc/sprints/sprint7/.gitkeep b/doc/sprints/sprint7/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/doc/sprints/sprint7/backlog_sprint7.pdf b/doc/sprints/sprint7/backlog_sprint7.pdf new file mode 100644 index 0000000..29565ec Binary files /dev/null and b/doc/sprints/sprint7/backlog_sprint7.pdf differ diff --git a/src/Client/src/main/java/greenify/client/controller/CalculatorController.java b/src/Client/src/main/java/greenify/client/controller/CalculatorController.java index e297d53..8a26543 100644 --- a/src/Client/src/main/java/greenify/client/controller/CalculatorController.java +++ b/src/Client/src/main/java/greenify/client/controller/CalculatorController.java @@ -39,6 +39,9 @@ public class CalculatorController { @Autowired DashBoardController controller; + @Autowired + ExtraActivityController extraActivityController; + //navigation panes @FXML private AnchorPane getStartedPane; @@ -395,10 +398,12 @@ public class CalculatorController { "input_footprint_shopping_services_total", servicesLabel.getText().replace("€ / month", "")); } + extraActivityController.updateExtras(); Float footprint = userService.saveFootprint(userService.currentUser.getName()); Window owner = saveButton.getScene().getWindow(); controller.updateLeaderboard(); controller.updateAchievements(); + Stage current = (Stage) owner; UserController.AlertHelper.showAlert(Alert.AlertType.CONFIRMATION, owner, "Footprint saved!", "Your footprint is saved!"); Stage current = (Stage) owner; 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 3425b49..40b9e7d 100644 --- a/src/Client/src/main/java/greenify/client/controller/DashBoardController.java +++ b/src/Client/src/main/java/greenify/client/controller/DashBoardController.java @@ -263,7 +263,6 @@ public class DashBoardController { addFriendButton.setSkin(new ClickButtonSkin(addFriendButton)); addExtraActivityButton.setSkin(new ClickButtonSkin(addExtraActivityButton)); addExtraActivityButton2.setSkin(new ClickButtonSkin(addExtraActivityButton2)); - addRandomHints(); Tooltip tooltip = new Tooltip("tip"); @@ -317,30 +316,31 @@ public class DashBoardController { * Sorts the scores of users. * @param users the list of users */ - public void sortScores(List users) throws InterruptedException { + public List sortScores(List users) throws InterruptedException { for (int i = 0; i < users.size(); i++) { for (int j = 0; j < users.size(); j++) { - Double firstScore = userService.getFootprint(users.get(i)); - Double secondScore = userService.getFootprint(users.get(j)); - if (i > j && firstScore < secondScore) { + Double first = userService.getFootprint(users.get(i)); + Double second = userService.getFootprint(users.get(j)); + if (i < j && first > second) { String temp = users.get(i); users.set(i, users.get(j)); users.set(j, temp); } - if (i < j && firstScore > secondScore) { + if (i > j && first < second) { String temp = users.get(i); users.set(i, users.get(j)); users.set(j, temp); } } } + return users; } /** * Sorts the scores of users. * @param users the list of users */ - public void sortDiffScores(List users) throws InterruptedException { + public List sortDiffScores(List users) throws InterruptedException { for (int i = 0; i < users.size(); i++) { for (int j = 0; j < users.size(); j++) { Double firstDiff = userService.getFirstFootprint(users.get(i)) - userService @@ -359,6 +359,7 @@ public class DashBoardController { } } } + return users; } /** @@ -427,8 +428,8 @@ public class DashBoardController { dairy.setText(inputMap.get("input_footprint_shopping_food_dairy")); fruits.setText(inputMap.get("input_footprint_shopping_food_fruitvegetables")); snacks.setText(inputMap.get("input_footprint_shopping_food_otherfood")); - Map extraMap = userService.getExtraInputs(userService.currentUser - .getName()); + Map extraMap = userService + .getExtraInputs(userService.currentUser.getName()); localProduce.setText(extraMap.get("local_produce")); bike.setText(extraMap.get("bike")); solarPanels.setText(extraMap.get("solar_panels")); @@ -579,21 +580,23 @@ public class DashBoardController { * @throws InterruptedException throws exception */ public void updateLeaderboard() throws InterruptedException { - List userList = userService.getAllUsers(); //global leaderboard globalLeaderboard.getItems().clear(); globalLeaderData.removeAll(); - sortScores(userList); + List userList = userService.getAllUsers(); + List firstList = sortScores(userList); //development leaderboard developmentLeaderboard.getItems().clear(); developmentData.removeAll(); - sortDiffScores(userList); - for (int j = 0; j < userList.size(); j++) { - Friend user = new Friend(userList.get(j), userService.getFootprint(userList.get(j))); - double diff = Math.round((userService.getFirstFootprint(userList.get(j)) - - userService.getFootprint(userList.get(j))) * 10) / 10.0; - Friend diffUser = new Friend(userList.get(j), diff); + List secondList = sortDiffScores(userList); + for (int i = userList.size() - 1; i >= 0; i--) { + Friend user = new Friend(firstList.get(i), userService.getFootprint(firstList.get(i))); globalLeaderData.add(user); + } + 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); developmentData.add(diffUser); } globalLeaderboard.setItems(globalLeaderData); diff --git a/src/Client/src/main/java/greenify/client/controller/ExtraActivityController.java b/src/Client/src/main/java/greenify/client/controller/ExtraActivityController.java index 67b1fdb..4582daa 100644 --- a/src/Client/src/main/java/greenify/client/controller/ExtraActivityController.java +++ b/src/Client/src/main/java/greenify/client/controller/ExtraActivityController.java @@ -8,13 +8,10 @@ import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; import javafx.event.ActionEvent; import javafx.fxml.FXML; -import javafx.scene.control.Alert; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.control.Slider; import javafx.scene.layout.AnchorPane; -import javafx.stage.Stage; -import javafx.stage.Window; import javafx.util.Duration; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -83,8 +80,6 @@ public class ExtraActivityController { private Label publicTransportLabel; @FXML private Slider publicTransportSlider; - @FXML - private Button saveButton; /** @@ -216,30 +211,26 @@ public class ExtraActivityController { publicTransportPane.setVisible(true); } - - /** * The method updates the values. */ @SuppressWarnings("Duplicates") - public void save(ActionEvent event) throws InterruptedException { - Window owner = saveButton.getScene().getWindow(); - Float footprint = userService.saveFootprint(userService.currentUser.getName()); - controller.updateLeaderboard(); - controller.updateAchievements(); - Stage current = (Stage) owner; - current.close(); - UserController.AlertHelper.showAlert(Alert.AlertType.CONFIRMATION, owner, - "Activities are added!", - "Your new activities are added!"); + public void save(ActionEvent event) { + try { + updateExtras(); + Float footprint = userService.saveFootprint(userService.currentUser.getName()); + controller.updateLeaderboard(); + controller.updateAchievements(); + } catch (Exception ex) { + System.out.println("continue"); + } } /** * The method updates the values of extras. - * @param event user clicks to button */ @SuppressWarnings("Duplicates") - public void updateExtras(ActionEvent event) throws InterruptedException { + public void updateExtras() throws InterruptedException { if (!bikeLabel.getText().replace(" km", "").equals("0")) { userService.updateExtraInput(userService.currentUser.getName(), "bike", @@ -252,11 +243,44 @@ public class ExtraActivityController { } if (!temperatureLabel.getText().replace(" Degrees", "").equals("0")) { userService.updateExtraInput(userService.currentUser.getName(), - "bike", + "temperature", temperatureLabel.getText().replace(" Degrees", "")); } - controller.updateAchievements(); - controller.updateLeaderboard(); + if (!publicTransportLabel.getText().replace(" km", "").equals("0")) { + userService.updateExtraInput(userService.currentUser.getName(), + "public_transport", + publicTransportLabel.getText().replace(" km", "")); + } + } + + /** + * The method updates the values of extras. + */ + @SuppressWarnings("Duplicates") + public void updateExtraVegan() throws InterruptedException { + try { + userService.updateExtraInput(userService.currentUser.getName(), "vegan", "1"); + Float footprint = userService.saveFootprint(userService.currentUser.getName()); + controller.updateAchievements(); + controller.updateLeaderboard(); + } catch (Exception ex) { + System.out.println("continue"); + } + } + + /** + * The method updates the values of extras. + */ + @SuppressWarnings("Duplicates") + public void updateExtraLocal() throws InterruptedException { + try { + userService.updateExtraInput(userService.currentUser.getName(), "local_produce", "1"); + Float footprint = userService.saveFootprint(userService.currentUser.getName()); + controller.updateAchievements(); + controller.updateLeaderboard(); + } catch (Exception ex) { + System.out.println("continue"); + } } public class TranslateButtonSkin extends ButtonSkin { diff --git a/src/Client/src/main/java/greenify/client/controller/RegisterWindowController.java b/src/Client/src/main/java/greenify/client/controller/RegisterWindowController.java index 5073101..0b57ea8 100644 --- a/src/Client/src/main/java/greenify/client/controller/RegisterWindowController.java +++ b/src/Client/src/main/java/greenify/client/controller/RegisterWindowController.java @@ -221,7 +221,7 @@ public class RegisterWindowController { //register the user with the provided username and password try { userService.registerUser(userNameText.getText(), passwordField.getText()); - } catch (RuntimeException ex) { + } catch (Exception ex) { UserController.AlertHelper.showAlert(Alert.AlertType.ERROR, owner, "Username Error!", "This username has already been taken!"); return; @@ -484,6 +484,11 @@ public class RegisterWindowController { "input_footprint_shopping_services_total", servicesLabel.getText().replace("€ / month", "")); } + try { + extraActivityController.updateExtras(); + } catch (Exception ex) { + System.out.println("Continue"); + } Float firstFootprint = userService.saveFirstFootprint(userService.currentUser.getName()); Float footprint = userService.saveFootprint(userService.currentUser.getName()); Window owner = saveButton.getScene().getWindow(); diff --git a/src/Client/src/main/resources/fxml/extraActivities.fxml b/src/Client/src/main/resources/fxml/extraActivities.fxml index 657395e..514d756 100644 --- a/src/Client/src/main/resources/fxml/extraActivities.fxml +++ b/src/Client/src/main/resources/fxml/extraActivities.fxml @@ -1,21 +1,10 @@ - - - - - - - - - - - @@ -84,7 +73,7 @@ -