From 45475372e51be949809fad3052d776fb7b03fb3c Mon Sep 17 00:00:00 2001 From: Nicolas Fley <nicolas.fley@student.ecp.fr> Date: Thu, 27 Apr 2017 16:43:33 +0200 Subject: [PATCH] uncommited modif --- .gitignore | 2 +- src/Core/ActiveUserContext.java | 20 +++++++++++++++++++ src/Core/MyFoodora.java | 35 +++++++++++++++------------------ src/User/ListUser.java | 6 +++--- src/User/User.java | 21 +++++++++++++------- 5 files changed, 54 insertions(+), 30 deletions(-) create mode 100644 src/Core/ActiveUserContext.java diff --git a/.gitignore b/.gitignore index 239de2d..5d223ad 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,4 @@ /src/provisoire/ /rapport/ .* -!.gitignore \ No newline at end of file +!.gitignore diff --git a/src/Core/ActiveUserContext.java b/src/Core/ActiveUserContext.java new file mode 100644 index 0000000..497c8fb --- /dev/null +++ b/src/Core/ActiveUserContext.java @@ -0,0 +1,20 @@ +package Core; + +import User.User; + +public class ActiveUserContext { + + User activeUser; + + public ActiveUserContext(MyFoodora foodora) { + // TODO Auto-generated constructor stub + } + + public User getUser(){ + return activeUser; + } + public void setActiveUser(User u){ + activeUser = u; + } + +} diff --git a/src/Core/MyFoodora.java b/src/Core/MyFoodora.java index dccd139..bf0cfe6 100644 --- a/src/Core/MyFoodora.java +++ b/src/Core/MyFoodora.java @@ -55,16 +55,20 @@ public class MyFoodora { } /** CUSTOM **/ - public int getTypeOfUser(String usernameTest, String passwordTest){ - if(this.getListCustomer().isContainingCorrectLogin(usernameTest, passwordTest)) - return User.CUSTOMER; - if(this.getListCourier().isContainingCorrectLogin(usernameTest, passwordTest)) - return User.COURIER; - if(this.getListRestaurant().isContainingCorrectLogin(usernameTest, passwordTest)) - return User.RESTAURANT; - if(this.getListManager().isContainingCorrectLogin(usernameTest, passwordTest)) - return User.MANAGER; - return User.UNKNOWN; + public User getUserByLogin(String usernameTest, String passwordTest){ + User u = this.getListCustomer().getUserByLogin(usernameTest, passwordTest); + if(u != null) + return u; + u = this.getListCourier().getUserByLogin(usernameTest, passwordTest); + if(u != null) + return u; + u = this.getListRestaurant().getUserByLogin(usernameTest, passwordTest); + if(u != null) + return u; + u = this.getListManager().getUserByLogin(usernameTest, passwordTest); + if(u != null) + return u; + return null; } /** CUSTOM GETTER AND SETTER **/ @@ -124,15 +128,8 @@ public class MyFoodora { public static void main(String[] args) throws ExceptionUnknownMealType, ExceptionUnknownDishType, ExceptionUnknownStartegyType { // TODO Auto-generated method stub MyFoodora myFoodora = new MyFoodora(); - FactoryDish dishFactory = new FactoryDish(); - FactoryMeal mealFactory = new FactoryMeal(); - Dish d1 = dishFactory.createDish("MainDish", "French Fries", "Vegan", 3.0); - Dish d2 = dishFactory.createDish("MainDish", "French Fries", "Vegan", 3.0); - Meal m1 = mealFactory.createMeal("HalfMeal"); - Meal m2 = mealFactory.createMeal("HalfMeal"); - //myFoodora.listRestaurant.add(); - System.out.println(d1.equals(d2)); - System.out.println(m1.equals(m2)); + ActiveUserContext activeUser = new ActiveUserContext(myFoodora); + activeUser.setActiveUser(User.login(myFoodora)); } public double getLastMonthIncome() { // TODO Auto-generated method stub diff --git a/src/User/ListUser.java b/src/User/ListUser.java index 6f5ca36..8a434a8 100644 --- a/src/User/ListUser.java +++ b/src/User/ListUser.java @@ -9,12 +9,12 @@ public class ListUser<T extends User>{ /** CUSTOM **/ - public boolean isContainingCorrectLogin(String username, String password){ + public User getUserByLogin(String username, String password){ for(User u : listUser){ if(u.isLoginCorrect(username,password)) - return true; + return u; } - return false; + return null; } public void addUser(T e){ listUser.add(e); diff --git a/src/User/User.java b/src/User/User.java index eaff9e7..6eeffcb 100644 --- a/src/User/User.java +++ b/src/User/User.java @@ -44,19 +44,15 @@ public abstract class User implements Comparable<User> { this.password = password; this.adress = adress; this.activated = activated; + } /** CUSTOM **/ - public void register(MyFoodora foodora){ + public static User login(MyFoodora foodora){ String usernameTest = Input.string("Please writte your username"); String passwordTest = Input.string("Please writte your password"); - this.typeOfUser = foodora.getTypeOfUser(usernameTest, passwordTest); - if(this.typeOfUser == User.UNKNOWN){ - this.isLogged=false; - }else{ - this.isLogged=true; - } + return foodora.getUserByLogin(usernameTest, passwordTest); } public boolean isLoginCorrect(String username, String password) { if(this.username == username && this.password == password) @@ -71,6 +67,17 @@ public abstract class User implements Comparable<User> { return username.compareTo(u.getUsername()); } + @Override + public boolean equals(Object other){ + if(other instanceof User){ + User u = (User) other; + if(this.id == u.getId()){ + return true; + } + } + return false; + } + @Override public String toString() { return "User [id=" + id + ", phoneNumber=" + phoneNumber + ", name=" + name + ", username=" + username -- GitLab