From b3a0ddaa688fc2ddf73bea697c8cb9398d78f83b Mon Sep 17 00:00:00 2001 From: Merel Steenbergen Date: Wed, 20 Mar 2019 15:44:47 +0100 Subject: [PATCH 01/10] Retry adding friends. Server down again --- build.gradle | 6 +++--- .../java/greenify/server/data/model/User.java | 12 ++++++++++++ .../greenify/server/rest/UserController.java | 16 ++++++++++++++-- .../greenify/server/service/UserService.java | 14 ++++++++++++++ .../server/service/UserServiceTest.java | 17 +++++++++++++++++ 5 files changed, 60 insertions(+), 5 deletions(-) diff --git a/build.gradle b/build.gradle index 2b6ed72..98f5661 100644 --- a/build.gradle +++ b/build.gradle @@ -18,9 +18,9 @@ apply plugin: 'org.springframework.boot' apply plugin: 'io.spring.dependency-management' apply plugin: 'application' -application { - mainClassName = 'greenify.server.Application' -} +//application { +// mainClassName = 'greenify.server.Application' +//} repositories { mavenCentral() diff --git a/src/Server/src/main/java/greenify/server/data/model/User.java b/src/Server/src/main/java/greenify/server/data/model/User.java index 6ba6f73..7ce97b9 100644 --- a/src/Server/src/main/java/greenify/server/data/model/User.java +++ b/src/Server/src/main/java/greenify/server/data/model/User.java @@ -2,6 +2,8 @@ package greenify.server.data.model; import lombok.Data; +import java.util.ArrayList; +import java.util.List; import java.util.Objects; import javax.persistence.Entity; import javax.persistence.GeneratedValue; @@ -27,6 +29,8 @@ public class User { private int veganMeal; + private ArrayList friends; + public User() {} /** @@ -41,6 +45,7 @@ public class User { this.name = name; this.password = password; this.veganMeal = veganMeal; + this.friends = new ArrayList(); } /** @@ -91,6 +96,13 @@ public class User { this.veganMeal = veganMeal; } + public List getFriends(){ + return this.friends; + } + + public void addFriend(User user){ + friends.add(user); + } /** * Returns a human readable object. It's in JSON. diff --git a/src/Server/src/main/java/greenify/server/rest/UserController.java b/src/Server/src/main/java/greenify/server/rest/UserController.java index 3236f39..b460a03 100644 --- a/src/Server/src/main/java/greenify/server/rest/UserController.java +++ b/src/Server/src/main/java/greenify/server/rest/UserController.java @@ -32,8 +32,6 @@ public class UserController { return userService.loginUser(name, password); } - - /** * adds a vegetarian meal to the user. * @param id the id of the user @@ -46,4 +44,18 @@ public class UserController { //addVeganMeal method of the userService userService.addVeganMeal(id, name); } + + /** + * adds a friend to the user. + * @param id the id of the user + * @param name thr username of the user + */ + @RequestMapping("/addVeganMeal") + public void addVeganMeal(@RequestParam(value = "id") Long id, + @RequestParam(value = "name") String name, + @RequestParam(value = "friend") String friend) { + //here the requestParams are the id and name of the user and the name of the friend, + // because that is needed for the addFriendmethod of the userService + userService.addFriend(id, name, friend); + } } \ No newline at end of file diff --git a/src/Server/src/main/java/greenify/server/service/UserService.java b/src/Server/src/main/java/greenify/server/service/UserService.java index 7ddd5f3..62e212b 100644 --- a/src/Server/src/main/java/greenify/server/service/UserService.java +++ b/src/Server/src/main/java/greenify/server/service/UserService.java @@ -79,6 +79,20 @@ public class UserService { + ", name=" + user.getName() + ")"); } + /** + * add vegan meal to the user. + * @param id the id of the user + * @param name the name of the user + */ + public void addFriend(Long id, String name, String friend) { + User user = userRepository.findByName(name); + User add = userRepository.findByName(friend); + user.addFriend(user); + userRepository.save(user); + logger.info("Added friend to user(id=" + user.getId() + + ", name=" + user.getName() + ")"); + } + @GetMapping(path = "/all") @ResponseBody public Iterable getAllUsers() { diff --git a/src/Server/src/test/java/greenify/server/service/UserServiceTest.java b/src/Server/src/test/java/greenify/server/service/UserServiceTest.java index a1ed76c..a2bd145 100644 --- a/src/Server/src/test/java/greenify/server/service/UserServiceTest.java +++ b/src/Server/src/test/java/greenify/server/service/UserServiceTest.java @@ -18,6 +18,9 @@ import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.context.annotation.Bean; import org.springframework.test.context.junit4.SpringRunner; +import java.util.ArrayList; +import java.util.List; + @RunWith(SpringRunner.class) public class UserServiceTest { @TestConfiguration @@ -71,4 +74,18 @@ public class UserServiceTest { userService.loginUser(null, null); }); } + + @Test + public void addFriendTest() { + User user = new User(1l,"Merel", "password", 0); + User friend = new User(2l, "Ellis", "pass", 0); + userService.registerUser("Merel", "password"); + userService.registerUser("Ellis", "pass"); + assertEquals(user.getFriends(), new ArrayList()); + userService.addFriend(1l,"Merel", "Ëllis"); + List ellis = new ArrayList(); + ((ArrayList) ellis).add(friend); + assertEquals(user.getFriends(), ellis); + } + } From dfdbc8d5a92dccf81cc0cce265746f15e450920e Mon Sep 17 00:00:00 2001 From: Sem van der Hoeven Date: Thu, 21 Mar 2019 10:45:54 +0100 Subject: [PATCH 02/10] ADD::added friends pane and button to dashboard ADD::added load animations to register window --- .../controller/DashBoardController.java | 63 +++++++++++++------ .../controller/RegisterWindowController.java | 26 ++++++++ .../main/resources/fxml/RegisterWindow.fxml | 8 ++- .../src/main/resources/fxml/dashboard.fxml | 15 +++++ .../resources/stylesheets/dashboardStyle.css | 15 ++++- 5 files changed, 105 insertions(+), 22 deletions(-) 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 df2f2b5..c9429e5 100644 --- a/src/Client/src/main/java/greenify/client/controller/DashBoardController.java +++ b/src/Client/src/main/java/greenify/client/controller/DashBoardController.java @@ -24,35 +24,40 @@ public class DashBoardController { @Autowired UserService userService; + private FadeTransition fadeTrans; //transition for switching between the different panels + private int net; private int count = 0; @FXML private AnchorPane dashboardPane; - @FXML private AnchorPane userPane; - @FXML private AnchorPane activitiesPane; - + @FXML + private AnchorPane friendsPane; @FXML private Label veganMealCounter; - @FXML private Label totalVeganMealCounter; - @FXML private Label welcomebacktext; - @FXML - public Button dashboardButton; - public Button activitiesButton; - public Button userButton; - public Line pathLine; - public AnchorPane menuBar; - public Button addNewActivityButton; + private Button dashboardButton; + @FXML + private Button activitiesButton; + @FXML + private Button userButton; + @FXML + private Button friendsButton; + @FXML + private Line pathLine; + @FXML + private AnchorPane menuBar; + @FXML + private Button addNewActivityButton; + - FadeTransition fadeTrans; //transition for switching between the different panels /** * loads the the necessary things before anything else. @@ -66,6 +71,7 @@ public class DashBoardController { dashboardButton.setSkin(new MyButtonSkin(dashboardButton)); activitiesButton.setSkin(new MyButtonSkin(activitiesButton)); userButton.setSkin(new MyButtonSkin(userButton)); + friendsButton.setSkin(new MyButtonSkin(friendsButton)); @@ -94,7 +100,7 @@ public class DashBoardController { dashboardPane.setVisible(true); userPane.setVisible(false); activitiesPane.setVisible(false); - + friendsPane.setVisible(false); } @@ -107,13 +113,13 @@ public class DashBoardController { addFadeTransition(activitiesPane); - int net = userService.currentUser.getVeganMeal() + count; + net = userService.currentUser.getVeganMeal() + count; totalVeganMealCounter.setText("" + net); System.out.println("display activities"); dashboardPane.setVisible(false); userPane.setVisible(false); activitiesPane.setVisible(true); - + friendsPane.setVisible(false); } /** @@ -126,10 +132,21 @@ public class DashBoardController { dashboardPane.setVisible(false); userPane.setVisible(true); activitiesPane.setVisible(false); - + friendsPane.setVisible(false); } + public void displayFriends(ActionEvent event) { + addFadeTransition(friendsPane); + System.out.println("display friends"); + dashboardPane.setVisible(false); + userPane.setVisible(false); + activitiesPane.setVisible(false); + friendsPane.setVisible(true); + + } + + /** * adds a vegetarian meal. * @param event the event (clicking the button) @@ -137,7 +154,7 @@ public class DashBoardController { public void addVeganMeal(ActionEvent event) { count++; - int net = userService.currentUser.getVeganMeal() + count; + net = userService.currentUser.getVeganMeal() + count; totalVeganMealCounter.setText("" + net); veganMealCounter.setText("" + count); System.out.println(userService); @@ -154,11 +171,21 @@ public class DashBoardController { //class for the animations on the navigation buttons public class MyButtonSkin extends ButtonSkin { + /** + * adds a skin and scale animation to a button. + * the scale transition is for hovering over it so it then scales up + * and scales down when you stop hovering over it. + * @param button the button to add the animation to + */ public MyButtonSkin(Button button) { + //inherit the button properties super(button); + //transition to scale up on hover final ScaleTransition scaleUp = new ScaleTransition(Duration.millis(100)); + //add the node and the position to scale to scaleUp.setNode(button); scaleUp.setToX(1.1); + //play the transition when hovered over the button button.setOnMouseEntered(e -> scaleUp.playFromStart()); final ScaleTransition scaleDown = new ScaleTransition(Duration.millis(100)); 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 ca3b042..c44b668 100644 --- a/src/Client/src/main/java/greenify/client/controller/RegisterWindowController.java +++ b/src/Client/src/main/java/greenify/client/controller/RegisterWindowController.java @@ -1,16 +1,23 @@ package greenify.client.controller; import greenify.client.rest.UserService; +import javafx.animation.TranslateTransition; import javafx.event.ActionEvent; import javafx.fxml.FXML; +import javafx.scene.Node; import javafx.scene.control.Alert; import javafx.scene.control.Button; import javafx.scene.control.PasswordField; import javafx.scene.control.TextField; +import javafx.scene.shape.Line; import javafx.stage.Stage; import javafx.stage.Window; +import javafx.util.Duration; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; + +import java.util.concurrent.TimeUnit; + //class that controls the actions for the register window @Controller public class RegisterWindowController { @@ -26,6 +33,25 @@ public class RegisterWindowController { private PasswordField passwordField2; @FXML private Button signupButton; + @FXML + private Line uNamePathLine; + + public void initialize() throws InterruptedException { + // PathTransition pathTransUName = new PathTransition(Duration.millis(1100), uNamePathLine, userNameText); + // pathTransUName.play(); + addSlideAnimation(1100, userNameText, -300); + addSlideAnimation(1100, passwordField, 300); + TimeUnit.MILLISECONDS.sleep(300); + addSlideAnimation(1100, passwordField2, -420); + + } + + public void addSlideAnimation(int duration, Node node, int from) { + TranslateTransition slideIn = new TranslateTransition(Duration.millis(duration), node); + slideIn.setFromX(from); + slideIn.setToX(0); + slideIn.play(); + } /** * signs the user up. diff --git a/src/Client/src/main/resources/fxml/RegisterWindow.fxml b/src/Client/src/main/resources/fxml/RegisterWindow.fxml index 4b3a472..35bff80 100644 --- a/src/Client/src/main/resources/fxml/RegisterWindow.fxml +++ b/src/Client/src/main/resources/fxml/RegisterWindow.fxml @@ -1,6 +1,10 @@ - + + + + + @@ -8,8 +12,10 @@ + + diff --git a/src/Client/src/main/resources/fxml/dashboard.fxml b/src/Client/src/main/resources/fxml/dashboard.fxml index ee7d589..7f4d131 100644 --- a/src/Client/src/main/resources/fxml/dashboard.fxml +++ b/src/Client/src/main/resources/fxml/dashboard.fxml @@ -42,9 +42,15 @@ + + @@ -215,5 +221,14 @@ + + + + + + + + + diff --git a/src/Client/src/main/resources/stylesheets/dashboardStyle.css b/src/Client/src/main/resources/stylesheets/dashboardStyle.css index df39894..73cca5f 100644 --- a/src/Client/src/main/resources/stylesheets/dashboardStyle.css +++ b/src/Client/src/main/resources/stylesheets/dashboardStyle.css @@ -38,8 +38,17 @@ #activitiesButton:pressed { -fx-background-color: #b7e2c2; } - -#addNewActivityButton:pressed { - -fx-background-color: #e8e8e8; +#friendsButton { + -fx-background-color: #5a635c; +} +#friendsButton:hover { + -fx-background-color: #677069; +} +#friendsButton:pressed { + -fx-background-color: #b7e2c2; +} + +#addNewActivityButton:pressed { + -fx-border-color: #497251; } From fb69ec280d9757f4ca73ec8257670846a1273ad1 Mon Sep 17 00:00:00 2001 From: Merel Steenbergen Date: Thu, 21 Mar 2019 16:09:23 +0100 Subject: [PATCH 03/10] Added testing for the friend list and equals in User class in Server --- .../java/greenify/server/data/model/User.java | 9 ++++- .../greenify/server/data/model/UserTest.java | 40 +++++++++++++++++++ 2 files changed, 48 insertions(+), 1 deletion(-) diff --git a/src/Server/src/main/java/greenify/server/data/model/User.java b/src/Server/src/main/java/greenify/server/data/model/User.java index 7ce97b9..9433d06 100644 --- a/src/Server/src/main/java/greenify/server/data/model/User.java +++ b/src/Server/src/main/java/greenify/server/data/model/User.java @@ -1,5 +1,7 @@ package greenify.server.data.model; +import greenify.common.ApplicationException; +import greenify.server.Application; import lombok.Data; import java.util.ArrayList; @@ -101,7 +103,12 @@ public class User { } public void addFriend(User user){ - friends.add(user); + if(!user.equals(this)) { + friends.add(user); + } + else { + throw new ApplicationException("Cannnot add yourself as a friend"); + } } /** diff --git a/src/Server/src/test/java/greenify/server/data/model/UserTest.java b/src/Server/src/test/java/greenify/server/data/model/UserTest.java index 5283d6b..455541b 100644 --- a/src/Server/src/test/java/greenify/server/data/model/UserTest.java +++ b/src/Server/src/test/java/greenify/server/data/model/UserTest.java @@ -1,11 +1,18 @@ package greenify.server.data.model; +import static greenify.server.data.model.User.*; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; +import greenify.common.ApplicationException; +import greenify.server.Application; import org.junit.Test; +import java.util.ArrayList; + public class UserTest { @Test public void setAndGetTest() { @@ -28,6 +35,13 @@ public class UserTest { assertEquals("User(id=1, name=greenify, password=password, veganMeal=3)", user.toString()); } + @Test + public void equalsNullTest(){ + User first = new User(1L, "greenify", "password", 0); + User second = null; + assertNotEquals(first, second); + } + @Test public void equalsTest() { User first = new User(1L, "greenify", "password", 3); @@ -46,6 +60,12 @@ public class UserTest { assertFalse(first.equals(second)); } + @Test + public void sameEqualsTest(){ + User user = new User(6l, "Merel", "password", 0); + assertEquals(user, user); + } + @Test public void instanceOfTest() { User first = new User(); @@ -60,5 +80,25 @@ public class UserTest { assertEquals(first, second); assertEquals(first.hashCode(), second.hashCode()); } + + @Test + public void addFriendTest(){ + User user = new User(1l, "user", "friends", 0); + User friend = new User(2l, "friend", "friends", 0); + assertEquals(user.getFriends(), new ArrayList()); + user.addFriend(friend); + ArrayList list = new ArrayList(); + list.add(friend); + assertEquals(user.getFriends(), list); + } + + @Test + public void addYourselfTest(){ + User user = new User(1l, "user", "friends", 0); + assertThrows(ApplicationException.class, () -> { + user.addFriend(user); + }); + assertEquals(user.getFriends(), new ArrayList()); + } } From 6323fd06ebd62e1faf792ee9b3757f2bf6ee760a Mon Sep 17 00:00:00 2001 From: Merel Steenbergen Date: Thu, 21 Mar 2019 16:14:50 +0100 Subject: [PATCH 04/10] FIX: Bug fixed, Server now works again --- .../src/main/java/greenify/server/rest/UserController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Server/src/main/java/greenify/server/rest/UserController.java b/src/Server/src/main/java/greenify/server/rest/UserController.java index b460a03..7e58a88 100644 --- a/src/Server/src/main/java/greenify/server/rest/UserController.java +++ b/src/Server/src/main/java/greenify/server/rest/UserController.java @@ -50,7 +50,7 @@ public class UserController { * @param id the id of the user * @param name thr username of the user */ - @RequestMapping("/addVeganMeal") + @RequestMapping("/addFriend") public void addVeganMeal(@RequestParam(value = "id") Long id, @RequestParam(value = "name") String name, @RequestParam(value = "friend") String friend) { From e69e08ad15c771bd07a23ab95c10cc1533e26d7b Mon Sep 17 00:00:00 2001 From: Merel Steenbergen Date: Fri, 22 Mar 2019 18:44:59 +0100 Subject: [PATCH 05/10] EDIT: Try to fix server, again --- .../greenify/client/rest/UserService.java | 20 ++++++++++++++++++ .../java/greenify/server/data/model/User.java | 17 +++++++++++++-- .../greenify/server/data/model/UserTest.java | 21 +++++++++++++++++++ 3 files changed, 56 insertions(+), 2 deletions(-) diff --git a/src/Client/src/main/java/greenify/client/rest/UserService.java b/src/Client/src/main/java/greenify/client/rest/UserService.java index ced0ec2..b28340b 100644 --- a/src/Client/src/main/java/greenify/client/rest/UserService.java +++ b/src/Client/src/main/java/greenify/client/rest/UserService.java @@ -99,6 +99,26 @@ public class UserService { return this.restTemplate.getForObject(builder.build().encode().toUri(), UserDto.class); } + /** + * a user adds vegan meal. + * @param id the id of the user + * @param name the username of the user + * @return a userDTO + */ + @SuppressWarnings("Duplicates") + public UserDto addFriend(Long id, String name, String friend) { + //this method is almost the same as the registerUser one, but with a different link + HttpHeaders headers = new HttpHeaders(); + headers.set("Accept", MediaType.APPLICATION_JSON_VALUE); + UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl("http://localhost:8080/addFriend") + .queryParam("id", id) + .queryParam("name", name) + .queryParam("friend", friend); + HttpEntity entity = new HttpEntity<>(headers); + System.out.println(builder.build().encode().toUri()); + return this.restTemplate.getForObject(builder.build().encode().toUri(), UserDto.class); + } + @RequestMapping("/userData") public int getVeganData(@RequestParam(value = "veganMeal") int veganMeal) { return veganMeal; diff --git a/src/Server/src/main/java/greenify/server/data/model/User.java b/src/Server/src/main/java/greenify/server/data/model/User.java index 9433d06..5020710 100644 --- a/src/Server/src/main/java/greenify/server/data/model/User.java +++ b/src/Server/src/main/java/greenify/server/data/model/User.java @@ -111,14 +111,27 @@ public class User { } } + public String friendsToString(){ + String result = ""; + for(User u : friends){ + result += u.getId() + ", "; + } + result = result.substring(0, result.lastIndexOf(",")); + return result; + } + /** * Returns a human readable object. It's in JSON. * @return the JSON form of the object. */ @Override public String toString() { - return "User(id=" + this.id + ", name=" + this.name + ", password=" - + this.password + ", veganMeal=" + this.veganMeal + ")"; + String result = "User(id=" + this.id + ", name=" + this.name + ", password=" + + this.password + ", veganMeal=" + this.veganMeal + ", friends=["; + result += friendsToString() + "])"; + +// result += ")"; + return result; } @Override diff --git a/src/Server/src/test/java/greenify/server/data/model/UserTest.java b/src/Server/src/test/java/greenify/server/data/model/UserTest.java index 455541b..b3721c7 100644 --- a/src/Server/src/test/java/greenify/server/data/model/UserTest.java +++ b/src/Server/src/test/java/greenify/server/data/model/UserTest.java @@ -27,6 +27,7 @@ public class UserTest { assertEquals(user.getPassword(), "password"); assertEquals(user.getVeganMeal(), 3); assertEquals(user, testUser); + assertEquals(user.getFriends(), new ArrayList()); } @Test @@ -100,5 +101,25 @@ public class UserTest { }); assertEquals(user.getFriends(), new ArrayList()); } + + @Test + public void JsonTest(){ + User user = new User(1l, "user", "friends", 0); + User friend = new User(2l, "friend", "friends", 0); + assertEquals(user.getFriends(), new ArrayList()); + user.addFriend(friend); + ArrayList list = new ArrayList(); + list.add(friend); + assertEquals(user.getFriends(), list); + System.out.println(user.toString()); + } + + @Test + public void friendsToStringTest(){ + User user = new User(4l, "user", "pass", 0); + User friend = new User (5l, "friend", "pass", 0); + user.addFriend(friend); + System.out.println(user.friendsToString()); + } } From 12c2ebab4e49f1b0706f877163e3347ab72feb99 Mon Sep 17 00:00:00 2001 From: Merel Steenbergen Date: Fri, 22 Mar 2019 20:20:39 +0100 Subject: [PATCH 06/10] Debugging in progress. FindByName returns null again. --- src/.classpath | 7 ------- src/.project | 17 ----------------- .../java/greenify/server/data/model/User.java | 6 ++++-- .../greenify/server/data/model/UserTest.java | 2 +- .../server/service/UserServiceTest.java | 13 +++++++++---- 5 files changed, 14 insertions(+), 31 deletions(-) delete mode 100644 src/.classpath delete mode 100644 src/.project diff --git a/src/.classpath b/src/.classpath deleted file mode 100644 index 757e1b8..0000000 --- a/src/.classpath +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/src/.project b/src/.project deleted file mode 100644 index d4fb5ff..0000000 --- a/src/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - OOPP - - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - - diff --git a/src/Server/src/main/java/greenify/server/data/model/User.java b/src/Server/src/main/java/greenify/server/data/model/User.java index 5020710..4bced0a 100644 --- a/src/Server/src/main/java/greenify/server/data/model/User.java +++ b/src/Server/src/main/java/greenify/server/data/model/User.java @@ -114,9 +114,11 @@ public class User { public String friendsToString(){ String result = ""; for(User u : friends){ - result += u.getId() + ", "; + result += u.getName() + ", "; + } + if(result.endsWith(", ")){ + result = result.substring(0, result.lastIndexOf(",")); } - result = result.substring(0, result.lastIndexOf(",")); return result; } diff --git a/src/Server/src/test/java/greenify/server/data/model/UserTest.java b/src/Server/src/test/java/greenify/server/data/model/UserTest.java index b3721c7..0006108 100644 --- a/src/Server/src/test/java/greenify/server/data/model/UserTest.java +++ b/src/Server/src/test/java/greenify/server/data/model/UserTest.java @@ -33,7 +33,7 @@ public class UserTest { @Test public void toStringTest() { User user = new User(1L, "greenify", "password", 3); - assertEquals("User(id=1, name=greenify, password=password, veganMeal=3)", user.toString()); + assertEquals("User(id=1, name=greenify, password=password, veganMeal=3, friends=[])", user.toString()); } @Test diff --git a/src/Server/src/test/java/greenify/server/service/UserServiceTest.java b/src/Server/src/test/java/greenify/server/service/UserServiceTest.java index a2bd145..9c74476 100644 --- a/src/Server/src/test/java/greenify/server/service/UserServiceTest.java +++ b/src/Server/src/test/java/greenify/server/service/UserServiceTest.java @@ -82,10 +82,15 @@ public class UserServiceTest { userService.registerUser("Merel", "password"); userService.registerUser("Ellis", "pass"); assertEquals(user.getFriends(), new ArrayList()); - userService.addFriend(1l,"Merel", "Ëllis"); - List ellis = new ArrayList(); - ((ArrayList) ellis).add(friend); - assertEquals(user.getFriends(), ellis); + + //STILL TELLS ME NULL + System.out.println(userRepository.findByName("Merel")); + + +// userService.addFriend(1l,"Merel", "Ellis"); +// List ellis = new ArrayList(); +// ((ArrayList) ellis).add(friend); +// assertEquals(user.getFriends(), ellis); } } From 6385beec0673f0a8f917aa3473f0a6a2af53d01d Mon Sep 17 00:00:00 2001 From: Merel Steenbergen Date: Fri, 22 Mar 2019 21:51:09 +0100 Subject: [PATCH 07/10] FIX: Tests now work --- .../greenify/server/service/UserService.java | 2 +- .../server/service/UserServiceTest.java | 34 +++++++------------ 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/src/Server/src/main/java/greenify/server/service/UserService.java b/src/Server/src/main/java/greenify/server/service/UserService.java index 62e212b..b305a0f 100644 --- a/src/Server/src/main/java/greenify/server/service/UserService.java +++ b/src/Server/src/main/java/greenify/server/service/UserService.java @@ -87,7 +87,7 @@ public class UserService { public void addFriend(Long id, String name, String friend) { User user = userRepository.findByName(name); User add = userRepository.findByName(friend); - user.addFriend(user); + user.addFriend(add); userRepository.save(user); logger.info("Added friend to user(id=" + user.getId() + ", name=" + user.getName() + ")"); diff --git a/src/Server/src/test/java/greenify/server/service/UserServiceTest.java b/src/Server/src/test/java/greenify/server/service/UserServiceTest.java index 9c74476..3dbcfb9 100644 --- a/src/Server/src/test/java/greenify/server/service/UserServiceTest.java +++ b/src/Server/src/test/java/greenify/server/service/UserServiceTest.java @@ -42,14 +42,17 @@ public class UserServiceTest { */ @Before public void setUp() { - User alex = new User(1L, "alex", "password", 0); - when(userRepository.findByName(alex.getName())) - .thenReturn(alex); + User user = new User(1L, "user", "password", 0); + when(userRepository.findByName(user.getName())) + .thenReturn(user); + User friend = new User(2L, "friend", "password", 0); + when(userRepository.findByName(friend.getName())) + .thenReturn(friend); } @Test public void validLoginTest() { - String name = "alex"; + String name = "user"; String password = "password"; UserDto found = userService.loginUser(name, password); assertEquals(found.getName(), name); @@ -57,8 +60,8 @@ public class UserServiceTest { @Test public void userRegisterTest() { - User user = new User(1L, "name", "password", 0); - UserDto registered = userService.registerUser(user.getName(), user.getPassword()); + User test = new User(1L, "name", "password", 0); + UserDto registered = userService.registerUser(test.getName(), test.getPassword()); assertEquals(registered.getName(), "name"); } @@ -69,7 +72,6 @@ public class UserServiceTest { @Test public void invalidLoginTest() { - User user = null; assertThrows(ApplicationException.class, () -> { userService.loginUser(null, null); }); @@ -77,20 +79,10 @@ public class UserServiceTest { @Test public void addFriendTest() { - User user = new User(1l,"Merel", "password", 0); - User friend = new User(2l, "Ellis", "pass", 0); - userService.registerUser("Merel", "password"); - userService.registerUser("Ellis", "pass"); - assertEquals(user.getFriends(), new ArrayList()); - - //STILL TELLS ME NULL - System.out.println(userRepository.findByName("Merel")); - - -// userService.addFriend(1l,"Merel", "Ellis"); -// List ellis = new ArrayList(); -// ((ArrayList) ellis).add(friend); -// assertEquals(user.getFriends(), ellis); + userService.addFriend(1L,"user", "friend"); + List test = new ArrayList(); + test.add(userRepository.findByName("friend")); + assertEquals(userRepository.findByName("user").getFriends(), test); } } From f8315700d9b4499bd44e135ef4b703869742b9e4 Mon Sep 17 00:00:00 2001 From: Merel Steenbergen Date: Fri, 22 Mar 2019 21:57:05 +0100 Subject: [PATCH 08/10] FIX: Uncomment mainClassName --- build.gradle | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build.gradle b/build.gradle index 98f5661..2b6ed72 100644 --- a/build.gradle +++ b/build.gradle @@ -18,9 +18,9 @@ apply plugin: 'org.springframework.boot' apply plugin: 'io.spring.dependency-management' apply plugin: 'application' -//application { -// mainClassName = 'greenify.server.Application' -//} +application { + mainClassName = 'greenify.server.Application' +} repositories { mavenCentral() From e494b5294d4e3036833a82a8332a250cfb6a8e2f Mon Sep 17 00:00:00 2001 From: Merel Steenbergen Date: Sat, 23 Mar 2019 17:31:00 +0000 Subject: [PATCH 09/10] Revert "Merge branch 'AddFriends' into 'master'" This reverts merge request !37 --- .../greenify/client/rest/UserService.java | 20 ------ .../java/greenify/server/data/model/User.java | 38 +---------- .../greenify/server/rest/UserController.java | 16 +---- .../greenify/server/service/UserService.java | 14 ----- .../greenify/server/data/model/UserTest.java | 63 +------------------ .../server/service/UserServiceTest.java | 28 +++------ 6 files changed, 12 insertions(+), 167 deletions(-) diff --git a/src/Client/src/main/java/greenify/client/rest/UserService.java b/src/Client/src/main/java/greenify/client/rest/UserService.java index b28340b..ced0ec2 100644 --- a/src/Client/src/main/java/greenify/client/rest/UserService.java +++ b/src/Client/src/main/java/greenify/client/rest/UserService.java @@ -99,26 +99,6 @@ public class UserService { return this.restTemplate.getForObject(builder.build().encode().toUri(), UserDto.class); } - /** - * a user adds vegan meal. - * @param id the id of the user - * @param name the username of the user - * @return a userDTO - */ - @SuppressWarnings("Duplicates") - public UserDto addFriend(Long id, String name, String friend) { - //this method is almost the same as the registerUser one, but with a different link - HttpHeaders headers = new HttpHeaders(); - headers.set("Accept", MediaType.APPLICATION_JSON_VALUE); - UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl("http://localhost:8080/addFriend") - .queryParam("id", id) - .queryParam("name", name) - .queryParam("friend", friend); - HttpEntity entity = new HttpEntity<>(headers); - System.out.println(builder.build().encode().toUri()); - return this.restTemplate.getForObject(builder.build().encode().toUri(), UserDto.class); - } - @RequestMapping("/userData") public int getVeganData(@RequestParam(value = "veganMeal") int veganMeal) { return veganMeal; diff --git a/src/Server/src/main/java/greenify/server/data/model/User.java b/src/Server/src/main/java/greenify/server/data/model/User.java index 4bced0a..6ba6f73 100644 --- a/src/Server/src/main/java/greenify/server/data/model/User.java +++ b/src/Server/src/main/java/greenify/server/data/model/User.java @@ -1,11 +1,7 @@ package greenify.server.data.model; -import greenify.common.ApplicationException; -import greenify.server.Application; import lombok.Data; -import java.util.ArrayList; -import java.util.List; import java.util.Objects; import javax.persistence.Entity; import javax.persistence.GeneratedValue; @@ -31,8 +27,6 @@ public class User { private int veganMeal; - private ArrayList friends; - public User() {} /** @@ -47,7 +41,6 @@ public class User { this.name = name; this.password = password; this.veganMeal = veganMeal; - this.friends = new ArrayList(); } /** @@ -98,29 +91,6 @@ public class User { this.veganMeal = veganMeal; } - public List getFriends(){ - return this.friends; - } - - public void addFriend(User user){ - if(!user.equals(this)) { - friends.add(user); - } - else { - throw new ApplicationException("Cannnot add yourself as a friend"); - } - } - - public String friendsToString(){ - String result = ""; - for(User u : friends){ - result += u.getName() + ", "; - } - if(result.endsWith(", ")){ - result = result.substring(0, result.lastIndexOf(",")); - } - return result; - } /** * Returns a human readable object. It's in JSON. @@ -128,12 +98,8 @@ public class User { */ @Override public String toString() { - String result = "User(id=" + this.id + ", name=" + this.name + ", password=" - + this.password + ", veganMeal=" + this.veganMeal + ", friends=["; - result += friendsToString() + "])"; - -// result += ")"; - return result; + return "User(id=" + this.id + ", name=" + this.name + ", password=" + + this.password + ", veganMeal=" + this.veganMeal + ")"; } @Override diff --git a/src/Server/src/main/java/greenify/server/rest/UserController.java b/src/Server/src/main/java/greenify/server/rest/UserController.java index 7e58a88..3236f39 100644 --- a/src/Server/src/main/java/greenify/server/rest/UserController.java +++ b/src/Server/src/main/java/greenify/server/rest/UserController.java @@ -32,6 +32,8 @@ public class UserController { return userService.loginUser(name, password); } + + /** * adds a vegetarian meal to the user. * @param id the id of the user @@ -44,18 +46,4 @@ public class UserController { //addVeganMeal method of the userService userService.addVeganMeal(id, name); } - - /** - * adds a friend to the user. - * @param id the id of the user - * @param name thr username of the user - */ - @RequestMapping("/addFriend") - public void addVeganMeal(@RequestParam(value = "id") Long id, - @RequestParam(value = "name") String name, - @RequestParam(value = "friend") String friend) { - //here the requestParams are the id and name of the user and the name of the friend, - // because that is needed for the addFriendmethod of the userService - userService.addFriend(id, name, friend); - } } \ No newline at end of file diff --git a/src/Server/src/main/java/greenify/server/service/UserService.java b/src/Server/src/main/java/greenify/server/service/UserService.java index b305a0f..7ddd5f3 100644 --- a/src/Server/src/main/java/greenify/server/service/UserService.java +++ b/src/Server/src/main/java/greenify/server/service/UserService.java @@ -79,20 +79,6 @@ public class UserService { + ", name=" + user.getName() + ")"); } - /** - * add vegan meal to the user. - * @param id the id of the user - * @param name the name of the user - */ - public void addFriend(Long id, String name, String friend) { - User user = userRepository.findByName(name); - User add = userRepository.findByName(friend); - user.addFriend(add); - userRepository.save(user); - logger.info("Added friend to user(id=" + user.getId() - + ", name=" + user.getName() + ")"); - } - @GetMapping(path = "/all") @ResponseBody public Iterable getAllUsers() { diff --git a/src/Server/src/test/java/greenify/server/data/model/UserTest.java b/src/Server/src/test/java/greenify/server/data/model/UserTest.java index 0006108..5283d6b 100644 --- a/src/Server/src/test/java/greenify/server/data/model/UserTest.java +++ b/src/Server/src/test/java/greenify/server/data/model/UserTest.java @@ -1,18 +1,11 @@ package greenify.server.data.model; -import static greenify.server.data.model.User.*; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotEquals; -import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; -import greenify.common.ApplicationException; -import greenify.server.Application; import org.junit.Test; -import java.util.ArrayList; - public class UserTest { @Test public void setAndGetTest() { @@ -27,20 +20,12 @@ public class UserTest { assertEquals(user.getPassword(), "password"); assertEquals(user.getVeganMeal(), 3); assertEquals(user, testUser); - assertEquals(user.getFriends(), new ArrayList()); } @Test public void toStringTest() { User user = new User(1L, "greenify", "password", 3); - assertEquals("User(id=1, name=greenify, password=password, veganMeal=3, friends=[])", user.toString()); - } - - @Test - public void equalsNullTest(){ - User first = new User(1L, "greenify", "password", 0); - User second = null; - assertNotEquals(first, second); + assertEquals("User(id=1, name=greenify, password=password, veganMeal=3)", user.toString()); } @Test @@ -61,12 +46,6 @@ public class UserTest { assertFalse(first.equals(second)); } - @Test - public void sameEqualsTest(){ - User user = new User(6l, "Merel", "password", 0); - assertEquals(user, user); - } - @Test public void instanceOfTest() { User first = new User(); @@ -81,45 +60,5 @@ public class UserTest { assertEquals(first, second); assertEquals(first.hashCode(), second.hashCode()); } - - @Test - public void addFriendTest(){ - User user = new User(1l, "user", "friends", 0); - User friend = new User(2l, "friend", "friends", 0); - assertEquals(user.getFriends(), new ArrayList()); - user.addFriend(friend); - ArrayList list = new ArrayList(); - list.add(friend); - assertEquals(user.getFriends(), list); - } - - @Test - public void addYourselfTest(){ - User user = new User(1l, "user", "friends", 0); - assertThrows(ApplicationException.class, () -> { - user.addFriend(user); - }); - assertEquals(user.getFriends(), new ArrayList()); - } - - @Test - public void JsonTest(){ - User user = new User(1l, "user", "friends", 0); - User friend = new User(2l, "friend", "friends", 0); - assertEquals(user.getFriends(), new ArrayList()); - user.addFriend(friend); - ArrayList list = new ArrayList(); - list.add(friend); - assertEquals(user.getFriends(), list); - System.out.println(user.toString()); - } - - @Test - public void friendsToStringTest(){ - User user = new User(4l, "user", "pass", 0); - User friend = new User (5l, "friend", "pass", 0); - user.addFriend(friend); - System.out.println(user.friendsToString()); - } } diff --git a/src/Server/src/test/java/greenify/server/service/UserServiceTest.java b/src/Server/src/test/java/greenify/server/service/UserServiceTest.java index 3dbcfb9..a1ed76c 100644 --- a/src/Server/src/test/java/greenify/server/service/UserServiceTest.java +++ b/src/Server/src/test/java/greenify/server/service/UserServiceTest.java @@ -18,9 +18,6 @@ import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.context.annotation.Bean; import org.springframework.test.context.junit4.SpringRunner; -import java.util.ArrayList; -import java.util.List; - @RunWith(SpringRunner.class) public class UserServiceTest { @TestConfiguration @@ -42,17 +39,14 @@ public class UserServiceTest { */ @Before public void setUp() { - User user = new User(1L, "user", "password", 0); - when(userRepository.findByName(user.getName())) - .thenReturn(user); - User friend = new User(2L, "friend", "password", 0); - when(userRepository.findByName(friend.getName())) - .thenReturn(friend); + User alex = new User(1L, "alex", "password", 0); + when(userRepository.findByName(alex.getName())) + .thenReturn(alex); } @Test public void validLoginTest() { - String name = "user"; + String name = "alex"; String password = "password"; UserDto found = userService.loginUser(name, password); assertEquals(found.getName(), name); @@ -60,8 +54,8 @@ public class UserServiceTest { @Test public void userRegisterTest() { - User test = new User(1L, "name", "password", 0); - UserDto registered = userService.registerUser(test.getName(), test.getPassword()); + User user = new User(1L, "name", "password", 0); + UserDto registered = userService.registerUser(user.getName(), user.getPassword()); assertEquals(registered.getName(), "name"); } @@ -72,17 +66,9 @@ public class UserServiceTest { @Test public void invalidLoginTest() { + User user = null; assertThrows(ApplicationException.class, () -> { userService.loginUser(null, null); }); } - - @Test - public void addFriendTest() { - userService.addFriend(1L,"user", "friend"); - List test = new ArrayList(); - test.add(userRepository.findByName("friend")); - assertEquals(userRepository.findByName("user").getFriends(), test); - } - } From b3d4f573f86d892a70cec8b21330aa6f174f19ac Mon Sep 17 00:00:00 2001 From: Sem van der Hoeven Date: Sun, 24 Mar 2019 12:01:34 +0100 Subject: [PATCH 10/10] ADD::added table to friends pane --- src/Client/src/main/resources/fxml/dashboard.fxml | 10 ++++++++-- .../main/resources/stylesheets/dashboardStyle.css | 12 ++++++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/Client/src/main/resources/fxml/dashboard.fxml b/src/Client/src/main/resources/fxml/dashboard.fxml index 7f4d131..2f240b5 100644 --- a/src/Client/src/main/resources/fxml/dashboard.fxml +++ b/src/Client/src/main/resources/fxml/dashboard.fxml @@ -194,7 +194,7 @@ - + - + + + + + + + diff --git a/src/Client/src/main/resources/stylesheets/dashboardStyle.css b/src/Client/src/main/resources/stylesheets/dashboardStyle.css index 73cca5f..77bceaa 100644 --- a/src/Client/src/main/resources/stylesheets/dashboardStyle.css +++ b/src/Client/src/main/resources/stylesheets/dashboardStyle.css @@ -52,3 +52,15 @@ -fx-border-color: #497251; } +/*friends table*/ +#friendsTable .column-header { + /*-fx-background-color: linear-gradient(#4b7a3d, #588c58);*/ + -fx-background-color: #5a635c; + +} +#friendsTable .column-header .label { + -fx-text-fill: #d4d6d4; +} + + +