package fr.emn.nuitinfo.model.persistence.impl;
import java.util.ArrayList;
import java.util.List;
import com.google.gson.Gson;
import fr.emn.nuitinfo.model.Utilisateur;
import fr.emn.nuitinfo.model.interfaces.IUtilisateur;
import fr.emn.nuitinfo.model.persistence.IDAO;
public class UtilisateurMockDAO implements IDAO<IUtilisateur> {
static List<IUtilisateur> users = new ArrayList<IUtilisateur>();
@Override
public void create(String utilisateur) {
Gson gson = new Gson();
IUtilisateur user = gson.fromJson(utilisateur, Utilisateur.class);
users.add(user);
}
@Override
public IUtilisateur retrieveByName(String name) {
for (IUtilisateur user : users) {
if (user.getUsername().equals(name)) {
return user;
}
}
return users.get(0);
}
@Override
public void update(String nom, String Utilisateur) {
Gson gson = new Gson();
boolean trouve = false;
for (IUtilisateur user : users) {
if (user.getUsername().equals(nom)) {
user = gson.fromJson(Utilisateur, Utilisateur.class);
trouve = true;
break;
}
}
if (!trouve) {
IUtilisateur user = gson.fromJson(Utilisateur, Utilisateur.class);
users.add(user);
}
}
@Override
public void remove(String name) {
for (IUtilisateur user : users) {
if (user.getUsername().equals(name)) {
users.remove(user);
break;
}
}
}
@Override
public List<IUtilisateur> retrieveAll() {
if (users.isEmpty()) {
users.add(new Utilisateur("Geek", "Student Inside", "GSI",
"gsiemn@googlegroups.com", "gsi"));
users.add(new Utilisateur("Tata", "Toto Inside", "Tutu",
"gsiemn@googlegroups.com", "tutu"));
}
return users;
}
}