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.Chasse;
import fr.emn.nuitinfo.model.CoordonneesGPS;
import fr.emn.nuitinfo.model.Duree;
import fr.emn.nuitinfo.model.Etape;
import fr.emn.nuitinfo.model.Lieu;
import fr.emn.nuitinfo.model.interfaces.IChasse;
import fr.emn.nuitinfo.model.interfaces.IDuree;
import fr.emn.nuitinfo.model.interfaces.IEtape;
import fr.emn.nuitinfo.model.persistence.IDAO;
public class ChasseMockDAO implements IDAO<IChasse> {
static List<IChasse> chasses = new ArrayList<IChasse>();
@Override
public void create(String chasse) {
Gson gson = new Gson();
IChasse c = gson.fromJson(chasse, Chasse.class);
chasses.add(c);
}
@Override
public IChasse retrieveByName(String name) {
for (IChasse c : chasses) {
if (c.getNom().equals(name)) {
return c;
}
}
return chasses.get(0);
}
@Override
public void update(String nom, String chasse) {
Gson gson = new Gson();
boolean trouve = false;
for (IChasse c : chasses) {
if (c.getNom().equals(nom)) {
c = gson.fromJson(chasse, Chasse.class);
trouve =true;
}
}
if(!trouve){
IChasse c = gson.fromJson(chasse, Chasse.class);
chasses.add(c);
}
}
@Override
public void remove(String name) {
for (IChasse c : chasses) {
if (c.getNom().equals(name)) {
chasses.remove(c);
}
}
}
@Override
public List<IChasse> retrieveAll() {
//parametres de la chasse
String region = "Paris/Ile de France";
List<String> tags = new ArrayList<String> ();
tags.add("Da Vinci Code");
tags.add("Historique");
tags.add("Paris");
tags.add("Louvre");
tags.add("Musée");
tags.add("église");
String nom = "Sur les traces du Da Vinci Code";
String description = "Parcourez Paris en vous laissant guider par les péripéties de Robert Langdon, professeur de symbologie " +
"américain. Avec lui, vous revivrez les scènes les plus poignantes du best-seller, en mêlant habilement" +
"Histoire et thriller. Pour commencer l'aventure, mettez-vous en route vers le Musée du Louvre," +
" là où Jacques Saunières, le célèbre conservateur, a trouvé la mort.";
Duree duree = new Duree(0,4,0);
List<IEtape> etapes = new ArrayList<IEtape>();
//Etape1
Lieu lieuEtape1 = new Lieu(new CoordonneesGPS(48.861814,2.336386),"La pyramide du Louvre");
String[] reponsesEtape1 = {"La Joconde"};
String[] indicesEtape1 = {"Indice1: C'est une peinture de Leonardo Da Vinci.",
"Indice2: La réponse n'est pas Mona-Lisa, c'est le nom de la peinture."};
etapes.add(new Etape("Son sourire énigmatique reste un des mystères de la peinture.",
reponsesEtape1, "Le Louvres- Salles des états", indicesEtape1, lieuEtape1));
//Etape2
String[] reponsesEtape2 = {"Pyramide"};
String[] indicesEtape2 = {"Rappelez vous les phares à On."};
Lieu lieuEtape2 = new Lieu(new CoordonneesGPS(48.861045,2.335791),"La pyramide du Louvre");
etapes.add(new Etape("Un célèbre monument fondé par Miterrand",
reponsesEtape2, "La pyramide du Louvre", indicesEtape2, lieuEtape2));
//Etape3
String[] reponsesEtape3 = {"Ritz"};
String[] indicesEtape3 = {"Cherchez une place d'horlogers","Un hotel célèbre de la place Vendôme."};
Lieu lieuEtape3 = new Lieu(new CoordonneesGPS(48.867722,2.328511),"La pyramide du Louvre");
etapes.add(new Etape("Hôtel où s'est réfugié Robert Langdon",
reponsesEtape3, "L'hotel Ritz de la place Vendôme.", indicesEtape3, lieuEtape3));
//Etape4
String[] reponsesEtape4 = {"L'église de St Sulpice"};
String[] indicesEtape4 = {"Une église fameuse du VIème arrondissement."};
Lieu lieuEtape4 = new Lieu(new CoordonneesGPS(48.850965,2.333857),"L'église de St Sulpice");
etapes.add(new Etape("L'endroit de la fameuse \"rose-ligne\", méridien historique de Paris.",
reponsesEtape4, "L'église de St Sulpice", indicesEtape4, lieuEtape4));
// if(chasses.isEmpty()){
// List<IEtape> etapes = new ArrayList<IEtape>();
// IEtape ietape1 = new Etape("enigme", new String[] { "reponse1",
// "reponse2" }, "un commentaire", new String[] { "indice1",
// "indice2" });
// etapes.add(ietape1);
// IDuree myDuree = new Duree(5, 5, 5);
//
// chasses.add(new Chasse(etapes, myDuree, "unNom", "Unedescription"));
//
// List<IEtape> etapes2 = new ArrayList<IEtape>();
// IEtape ietape2 = new Etape("enigme", new String[] { "reponse1",
// "reponse2" }, "un commentaire", new String[] { "indice1",
// "indice2" });
// etapes.add(ietape2);
// IDuree myDuree2 = new Duree(5, 5, 5);
//
// chasses.add(new Chasse(etapes2, myDuree2, "unNom2", "Unedescription2"));
//
// List<IEtape> etapes3 = new ArrayList<IEtape>();
// IEtape ietape3 = new Etape("enigme", new String[] { "reponse1",
// "reponse2" }, "un commentaire", new String[] { "indice1",
// "indice2" });
// etapes.add(ietape3);
// IDuree myDuree3 = new Duree(5, 5, 5);
//chasses.add(new Chasse(etapes3, myDuree3, "unNom2", "Unedescription2"));
chasses.add(new Chasse(region,tags,etapes, duree, nom, description));
// }
return chasses;
}
}