diff --git a/.gitignore b/.gitignore index 239de2dc57e47706616e9f64c5a3b127da0b1896..5d223addc9db1f76d13c1e3146243890590fca86 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 0000000000000000000000000000000000000000..497c8fb3ab51b6822d657d7c5c68966aee625157 --- /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 dccd139d20fe21ddfa8c32a03c4a207a883c3ca9..bf0cfe6c8f3c9e6487f1ee1a50d44b6df5962ac7 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 6f5ca36125c90854983e5dca9c39c2dfa5790df9..8a434a82ce37025fb75762ab02a2e2cd404b203a 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 eaff9e79a5588819fcf0f1bc3f697902f4304bf1..6eeffcbbfadd5fa127b20002ca73eb768ef844c9 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