1
0

LS03-04-1: implement UserController

This commit is contained in:
2021-06-15 17:05:10 +02:00
parent 012a6208d8
commit 47d54416c7
4 changed files with 54 additions and 15 deletions
@@ -3,6 +3,7 @@ package de.oszimt.ls.aliendefence.controller;
import de.oszimt.ls.aliendefence.model.Level;
import de.oszimt.ls.aliendefence.model.persistence.IPersistance;
import de.oszimt.ls.aliendefence.model.User;
import de.oszimt.ls.aliendefence.model.persistence.IUserPersistance;
public class AlienDefenceController {
@@ -11,23 +12,30 @@ public class AlienDefenceController {
private LevelController levelController;
private TargetController targetController;
private AttemptController attemptController;
//TODO UserController implementieren
private UserController userController;
//Persistenz
private IPersistance alienDefenceModel;
private IUserPersistance userModel;
public AlienDefenceController(IPersistance alienDefenceModel) {
public AlienDefenceController(IPersistance alienDefenceModel, IUserPersistance userModel) {
super();
this.alienDefenceModel = alienDefenceModel;
this.userModel = userModel;
this.attemptController = new AttemptController(alienDefenceModel);
this.levelController = new LevelController(alienDefenceModel);
this.targetController = new TargetController(alienDefenceModel);
this.userController = new UserController(userModel);
}
public IPersistance getAlienDefenceModel() {
return alienDefenceModel;
}
public IUserPersistance getUserModel() {
return userModel;
}
public AttemptController getAttemptController() {
return attemptController;
}
@@ -40,6 +48,10 @@ public class AlienDefenceController {
return targetController;
}
public UserController getUserController() {
return userController;
}
public GameController startGame(Level selectedLevel, User user) {
this.gameController = new GameController(selectedLevel, user, this);
return this.gameController;
@@ -5,8 +5,7 @@ import de.oszimt.ls.aliendefence.model.persistence.IUserPersistance;
/**
* de.oszimt.ls.aliendefence.controller for users
* @author Clara Zufall
* TODO implement this class
* @author Joel Baldauf
*/
public class UserController {
@@ -15,9 +14,14 @@ public class UserController {
public UserController(IUserPersistance userPersistance) {
this.userPersistance = userPersistance;
}
/**
* erstellt einen User in der Persistenzschicht
* @param user Das zu erstellende Userobjekt
*
*/
public void createUser(User user) {
this.userPersistance.createUser(user);
}
/**
@@ -26,19 +30,36 @@ public class UserController {
* @param passwort das richtige Passwort
* @return Userobjekt, null wenn der User nicht existiert
*/
public User readUser(String username, String passwort) {
return null;
if (checkPassword(username, passwort)) return this.userPersistance.readUser(username);
else return null;
}
/**
* verändert einen User in der Persistenzschicht
* @param user zu aktualisierender User
*
*/
public void changeUser(User user) {
this.userPersistance.updateUser(user);
}
/**
* löscht einen User in der Persistenzschicht
* @param user zu löschender User
*
*/
public void deleteUser(User user) {
this.userPersistance.deleteUser(user);
}
/**
* überprüft, ob das Passwort eines Benutzers richtig ist
* @param username zu prüfender Nutzername
* @param passwort zu prüfendes Passwort
*/
public boolean checkPassword(String username, String passwort) {
return false;
return this.userPersistance.readUser(username).getPassword().equals(passwort);
}
}
@@ -5,5 +5,7 @@ import de.oszimt.ls.aliendefence.model.User;
public interface IUserPersistance {
User readUser(String username);
int createUser(User user);
void updateUser(User user);
void deleteUser(User user);
}
@@ -2,7 +2,10 @@ package de.oszimt.ls.aliendefence.view;
import de.oszimt.ls.aliendefence.controller.AlienDefenceController;
import de.oszimt.ls.aliendefence.model.persistence.IPersistance;
import de.oszimt.ls.aliendefence.model.persistence.IUserPersistance;
import de.oszimt.ls.aliendefence.model.persistenceDB.UserDB;
import de.oszimt.ls.aliendefence.model.persistenceDummy.PersistanceDummy;
import de.oszimt.ls.aliendefence.model.persistenceDummy.UserDummy;
import de.oszimt.ls.aliendefence.view.menue.MainMenu;
public class StartAlienDefence {
@@ -10,7 +13,8 @@ public class StartAlienDefence {
public static void main(String[] args) {
IPersistance alienDefenceModel = new PersistanceDummy();//TODO new PersistanceDB();
AlienDefenceController alienDefenceController = new AlienDefenceController(alienDefenceModel);
IUserPersistance userModel = new UserDummy();
AlienDefenceController alienDefenceController = new AlienDefenceController(alienDefenceModel, userModel);
MainMenu.show(alienDefenceController);
}
}